🏃‍♂️

PICO-SDKでW55RP20を開発してみる

2024/12/13に公開

W55RP20のサンプルプログラムを実際に試してみる

W55RP20はArduinoに対応していると前回記載しましたが、サンプルがTCPIPのクライアント動作のみで、その他のサンプルが見当たらず・・・

じゃ自作するかって思ったんですが、どうにもArduino環境からUDPを作成する方法が見つからず、あきらめてSDKのexampleから持ってくることにしました。

https://docs.wiznet.io/Product/ioNIC/W55RP20/overview

※W55RP20は、RP2040とW5500を一つにしたチップですが、W5500ボードと互換かと思ったら接続ピンが違い、RP2040のPIO機能を用いて特殊な方法で作成しているようです。使いづらい気がしてきた汗

https://zenn.dev/nonnoise/articles/8c8997c2757cc0

この辺の環境が整っていることが前提になります。

git clone --recurse-submodules https://github.com/WIZnet-ioNIC/WIZnet-PICO-C.git
cd WIZnet-PICO-C/

CMakeLists.txtを編集します。
ボードの設定箇所がコメントアウトされているので、W55RP20用に変更します。

nano CMakeLists.txt

set(BOARD_NAME W5500_EVB_PICO)

をコメントアウト(#)を付けて、

set(BOARD_NAME W55RP20_EVB_PICO)

をコメントアウトから外します。

 mkdir build
 cd build
 cmake ..


buildの中にいくつかプロジェクトが展開されます。
そこから、examplesに移動します。

 cd examples

色々サンプルがありますので、好きなフォルダに移動してみるのも良いですが、例として sntp を試してみましょう。

 cd sntp
 make -j4

無事にコンパイルが終わると、uf2ファイルだ出力されますので、それをUSBメモリとして認識したW55RP20に書き込むと、無事に動作します。

動作確認とソース修正

LANケーブルを接続し、USBシリアルポートを開いて確認します。

ん?SNTP failed : 0 だと?
リセットを行うと、初期設定が表示さて、IPが固定になっている事が分かります。

ソースにガッチリ固定IPがありますね。
本来W5500はDHCP等の処理を行う事は容易なのですが、何故かサンプルには固定IPなので、修正して、再度 makeを行います。

無事に動きましたね。一安心。それでは!

Raspberry Pi PICO周りの話

https://zenn.dev/nonnoise/articles/8c8997c2757cc0
https://zenn.dev/nonnoise/articles/22562147354304
https://zenn.dev/nonnoise/articles/618e6591e0f869
https://zenn.dev/nonnoise/articles/0d5b97cb517e31

W55RP20の話

https://zenn.dev/nonnoise/articles/d871f6136f5b9e

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
ArtifactNoise合同会社では技術コンサルタントを行っております。
ご興味があれば是非ご連絡くださいませ。
北神雄太 kitagami(at)artifactnoise.com
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■

Discussion