PICO-SDKでW55RP20を開発してみる
W55RP20のサンプルプログラムを実際に試してみる
W55RP20はArduinoに対応していると前回記載しましたが、サンプルがTCPIPのクライアント動作のみで、その他のサンプルが見当たらず・・・
じゃ自作するかって思ったんですが、どうにもArduino環境からUDPを作成する方法が見つからず、あきらめてSDKのexampleから持ってくることにしました。
※W55RP20は、RP2040とW5500を一つにしたチップですが、W5500ボードと互換かと思ったら接続ピンが違い、RP2040のPIO機能を用いて特殊な方法で作成しているようです。使いづらい気がしてきた汗
この辺の環境が整っていることが前提になります。
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周りの話
W55RP20の話
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
ArtifactNoise合同会社では技術コンサルタントを行っております。
ご興味があれば是非ご連絡くださいませ。
北神雄太 kitagami(at)artifactnoise.com
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
Discussion