最近になってRaspberry Piを購入することになったのだが、それにあたってプログラミング環境を整備する予行演習を行うことにした。
ラズベリーパイを模した環境としてHyper-V上でUbuntu(本当はDebianにしたほうがよかったと思う)を動作させている。
今回のテキストの中ではリモート - VSCodeを動作させるWindows端末、ホスト - Raspberry Piという意味で言葉を使っていく。
参考にした解説
Visual Studio CodeでLinux ホストリモート開発
https://qiita.com/whim0321/items/ae72b2dd5fd41beaef04
拡張機能のインストール
今回は私はWindows端末にてこの実験を行った。
VSCodeが事前にインストールされているのはもちろんWindowsのオプション機能でOpenSSHが選択されているか確認しておく。
次にVSCode内の拡張機能でRemote Developmentを検索し、インストールしておく。
sshで接続してみよう!
ホストのIPアドレスを調べよう。適当にホスト側でip a
でも打っておく。
- ホストのIPアドレスを調べる。
- 左端にあるリモートエクスプローラボタンを押して+ボタンを押すか、コマンドパレット→
Add New SSH Host...
を選択する。 - 下の画像のように入力欄が出てくるので
ssh ホストのユーザ名@調べたIP
でenter。
ホスト側にgcc, gdbのインストール
私の環境には最初から各種ツールが入っていなかったのでインストールする。
- apt install build-essentialを実行。これでgdbが入った場合はここで終了。
- 入らなかった場合はapt install gdbを実行する。
以下、デバッグやコンパイルはリモート接続したVSCode上で行える。細かいところはほかの方の記事を参照していただきたい。
完成
これでいつでもデバッグができるようになった。あとはLinuxのPCでいつもやっているようにデバッグの構成をしていけばよい。SSHが動けばRaspberry Pi以外の、たとえばBeagleBoneなんかでも動くのではないだろうか。また、あと何日かで本物のラズパイが届くので今回の結果をもとに実証してみたいと思う。
追記(2020年10月15日)
Raspberry Pi4 2GBにRaspberry Pi OS (32-bit) with desktopに対して上記の手順でデバッグすることができました。
Beagle Bone Blackに対してもデバッグできるのか試してみた記事も公開予定。