この記事を書いた私は素人です。しかもデバッグの環境構築は初めてなので、誤りに気付かず書いている場合があるかも知れません。注意して下さい。

前記事の続きから、デバッグの環境を整えました。

↓ 配線が蜘蛛の巣状態で見苦しいけど、一応デバッグ中でブレークポイントで停止中です。

 

私の開発環境

pico-setup-windowsからダウンロードした
pico-setup-windows-0.3.5-x64.exe と
VSCode用のRaspberry Pi Pico拡張機能を使用。

VSCode C/C++ Windows 11
ピコプローブ Raspberry Pi Pico
デバッグ対象 Raspberry Pi Pico W

 

ピコプローブとなるPicoにインストールする debugprobe_on_pico.uf2 を得るには。そしてインストール。uf2ファイルをPicoにインストールする手順は省きます。この記事を読む貴方は承知でしょうから。

↓ Raspberry Pi 公式サイトの Pico-series Microcontrollers ページにある Debugging using another Pico-series device の説明文で You can find the latest release of the firmware in the debugprobe GitHub repository. にリンクされたページに行くと debugprobe_on_pico.uf2 をダウンロード出来る。

 

↓ Pico同士のデバッグ用配線

↓ ピコプローブにUSBケーブルを差し込み(BOOTSELボタンは押さない)Windowsに認識された事を、デバイスマネージャーで確認。

 

さて、ピコプローブとデバッグ対象のPicoが配線されたら、いよいよデバッグです。

【注意】ここでデバッグしているプロジェクトは、Pico拡張機能の New C/C++ Project で作成した物です。

↓ 1、2、3の順に選択

1 Picoアイコン
2 Debug Project
3 Pico Debug(Cortex-Debug)

↓ デバッグが始まるとmain関数の最初の所で自動停止? 問題があるから停止した?

↓ 赤字で「warning: なんとか、かんとか」って警告されるけど、Continue (F5)ボタンを押すと先に正常に?進める。

 

このデバッグ環境を利用する New Pico Project を作る場合は以下の通り。

New Pico Project

Name SSD1331_test
Board type Pico W
Location c:\Users\JM1LXS\Documents\LXS_Pico
Select Pico SDK version v2.1.0
Features SPI
Stdio support Console over UART
Pico wireless options Pico W onboard LED
Code generation options Use project name as entry point file name
Generate C++ code
Debugger DebugProbe (CMSIS-DAP)

 

ソースコードに
printf(“TEST”\n);
を書いて置くとデバッグ中のシリアルモニターに、先程の文字を表示する事が出来る。またコード変更しても、USBケーブルの抜き差しやBOOTSELボタンやリセットボタンを押す必要が無くデバッグ出来る。

と言っても、初心者の私は良く分からずに、やっているだけだけど。

7segLEDを基板に挿したら不揃いなのに気付きました。

↑ 7segLEDの文字の位置が上下方向(画像では左右)にズレている物が2個(赤矢印の保護フィルム付き)、逆に言えば5個あります。基板の穴がズレているのではありません。ブレッドボードに挿しても同じくズレている事を確認しました。型番は同じ、購入先も同じ、購入時期もほぼ同じで、先に7個購入、後に8個購入して、どちらにも文字の位置が違う物が入っていました。この7segLEDは同じ型番でも2種類あるのでしょうか?

もしかしたら、こう言う仕様の7segLEDかも知れませんし、私の勘違いかも知れないので、この型番や購入先の情報は、本文に記載しません。尚、貴方の感が鋭く、何処かのURLなので推測出来ても私はノーコメントです。

前回のプリント基板発注は人生初でした。そしてまた、調子に乗って改良したプリント基板を前回と同じJLCPCBに発注しました。

なんの基板かと言うと、前回と同じ。でも全く同じでは無くて、GPIO Fan用の端子を追加したり、ラズパイ本体に有る電源コネクタに頼らず、この基板にGPIO給電用のUSB Cコネクタを設けたり、7セグLEDを前回より大きい物にしたりして、基板の大きさも前回よりひと回り大きく100mm x 62mmになりました。基板の大きさは2ドルで収めたいので100mm x 100mm以内にしました。

 

↓ プリント基板 表面

↓ プリント基板 裏面

 

↑ この基板を見て言いたい事は有るでしょうが、素人設計なので良しとしましょう。ベタグランドにもっとビアが必要かもとか、ノイズのアンテナにならない様にしようとか。私も勉強の為にそれらを意識して設計しようと思いましたが、結構面倒だし、この回路は高周波なんか無いしブレッドボードでも問題無く動くので程々にしました。

今月21日夜にガーバーデータをPCB工場にアップロードして、今年最後の今日12月31日午前に私のプリント基板が届きました。届くのは正月明けかなぁと思っていたので嬉しい。今週の月曜日に発送されて、2ドルちょっとの送料で香港から5日で届いた。今回利用した送料の安いOCS Expressはいい。勿論今回利用したプリント基板工場(JLCPCB)も、また利用したい。

↓ 届いたプリント基板

↑ ランドが金メッキ(無電解金メッキ ENIG)だったら、もっといい感じだったんだろうけど、追加料金$15.80だから我慢。この基板は追加料金ゼロのHASL(with lead)です。

 

設計は素人の私ですが、プリント基板製造はプロなので見た目は素晴らしいです。この品質で製造に$2、香港からの送料が$2.03、合計$4.03、日本円合計が546円。たったの546円でプリント基板が出来てしまう。自分で蛇目基板に配線したりエッチングするより遥かに良いと私は思う。

「これでハンダ付すれば良いだけ」って、ちょっと待って。実物を手にするとランド間隔が狭い!

ランド間隔は狭い所で2.54mmなんだけど、こんなに狭かったか? 拡大鏡が必須です。

PCB設計中はPCモニターに拡大して見ていたせいか、実物は小さい!

 

↓ この基板をRaspberry Pi 4に乗せてみました。基板の乗せられた部品はまだハンダ付されていませんけど。

KiCadのPCBエディター使用時に困ってた事が座標の原点が何処なのか不明な点。フットプリントの位置を知りたい時やEdge.Cutsの大きさ(基板の寸法)を知りたい時、電卓で引き算してその寸法を求めていました。

『グリッド原点をセット』や『ドリルファイルと部品配置ファイルへ原点位置を配置』をしたのに、なんで? と、思っていたらデフォルトのままでは駄目だったようです。

 

↑ 赤矢印のように変更する必要があるみたいです。

KiCad 6.0.9-0