記事を検索

toragi.cqpub.co.jp

トランジスタ技術

Raspberry Pi Picoの情報

Raspberry Pi Picoの情報

連載記事「プログラマブルI/O内蔵USBマイコン基板Raspberry Pi Pico」の記事に関するサポート情報を掲載します。

第2回 ラズパイPicoをC言語でArmマイコンとして動かす(2021年10月号に掲載)

いくつかリストに誤植がありました。訂正してお詫びいたします。
また、間違いのなかったリストも合わせて、利便性のために掲載します。

リスト1 ラズベリー・パイ4にPico用のソフトウェア開発キットをインストールするコマンド
$ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
$ chmod +x pico_setup.sh
$ ./pico_setup.sh
(1行目のRaspberrypiの綴りからpが抜けていました)

リスト2 OpenOCDでビルド済みサンプルのLED点滅プログラムを書き込むコマンド
$ cd /home/pi/pico/pico-examples/build/blink
$ openocd -f interface/raspberrypi-swd.cfg -f target/rp2040.cfg -c “program blink.elf verify reset exit”

リスト3 正常に書き込みができるとターミナルにこのメッセージが表示される
** Verified OK **
** Resetting Target **
shutdown command invoked

リスト4 VSCodeでPicoを開発するときの設定ファイルをコピーしておく
$ cd ~/pico/pico-examples
$ mkdir .vscode
$ cp ide/vscode/launch-raspberrypi-swd.json .vscode/launch.json
$ cp ide/vscode/settings.json .vscode/settings.json

リスト5 各種開発ツールの設定を作ってくれるpico project generatorの起動コマンド
$ git clone https://github.com/raspberrypi/pico-project-generator.git
$ cd ~/pico/pico-project-generator
$ ./pico_project.py –gui
(3行目の末尾、–gui のところが ?gui になっていました)

リスト6 VSCodeの設定用に.vscodeという隠しフォルダを作成しlaunch.jsonを入れておく
$ cd ~/pico/my_project
$ mkdir .vscode
$ cp ~/pico/pico-examples/ide/vscode/launch-raspberrypi-swd.json .vscode/launch.json
$ cp ~/pico/pico-examples/ide/vscode/settings.json .vscode/settings.json

リスト7 数字をカウント・アップしながら”Hello CQ!”を出力するプログラム

#include 
#include "pico/stdlib.h"

int main()
{
    int num = 1;
    stdio_init_all();
    while (true) {
        printf("%d Hello CQ!\n",num);
        sleep_ms(500);
        num ++;
    }
    return 0;
}

リスト8 プログラムが正常動作すればVisual Studio CodeのTERMINALにこのような内容が表示される
pi@raspberrypi:~/pico/my_project $
pi@raspberrypi:~/pico/my_project $minicom -b 115200 -o -D /dev/ttyACM0

Welcome to ninicom 2.7.1
OPTIONS : I18n
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyACM0, 19:01:33

Press CTRL-A Z for help on special keys

1 Hello CQ!
2 Hello CQ!
3 Hello CQ!
4 Hello CQ!
5 Hello CQ!

(以下続く)