STM32F107にFreeRTOS乗っけてEthernet-PHYを動かすっッ!

前回からやるやる言ってたSTM32F107でFreeRTOS動かしてEthernet-PHY動かすと言っ
てた件ですが、デモコードのRowley用のサンプルを参考にあれやこれややってLPC2388
で達成していたことと同じことができるよう目指しました。

移植の際に気になったのですが、もとのRowleyのデモので使用されているビルドの定義
が本来ならばConnectivity Line(以下CL)でなければならないのに何でかMedium-device
(以下MD)になってて何でこんな意味のない事やってるんだろうか?と思って自分はCLで
makefile組んでビルドしたら見事に爆死

よくよく調べてみるとスタート時のクロック設定のルーチンでCLの定義された部分を実
行するとOSが走りだしてから数秒後に必ず止まることが分かり、仕方ないのでこの部分
だけをMDで定義されたルーチンをマージしてなおかつメインクロック・周辺回路に矛盾
が出ないようにして難を逃れてます。

また、Ethernet-PHYの接続はLPC2388の時と同じRMII接続にて試みています。手本の
STM3210-C EVALのデフォルト回路はMII接続なのでemacのコードはRMIIに書き換える
必要がありました(と言っても書き換えるの一行だけでしたが)。それとOLEDは同じもの
を持ってないのでいつも使ってるi2c液晶さんに代役をしてもらってます。後はデータ
シート&マニュアルを地図代わりに一本道。そんなこんなでFreeRTOS上でWebServer
とかi2c液晶にステータスとかの表示ができるところまでたどり着きました。

うー
↑FreeRTOSを本格的に動かすためにベース基板新調しました。Ethernet-PHYの基板
 はLPC2388の時の使い回し。

うー
↑WebServerが動作しているところ。
 OpenOCD+Insightのデバッグで動きをおっかけてくと
 FreeRTOS上でどうやって桶屋が儲かってるかが分かって面白いです。


人それぞれの所感があるでしょうけども私的にはやはり自分で設計したとおり&意図した
とおりに動作が得られてニヤリと出来る瞬間が、別の言葉に例えると(例えがアレですけど)
いないさんのスカートの中身が見えた時のイヨッシャー!感が電子工作の醍醐味だと思って
ます。ねむいさんはこれからもその感触を求めて精進してきます!非性的な意味で!


今回のコードはまだ動作が確認し切れてないのでW.I.P.にしときます。
STM32F107VCT6に統合したので削除しました。
そしてそうこうしてるうちにdigi-keyで発注していた本命のSTM32F107VCT6
やってきたのでサンプルで頑張ってくれたSTM32F107VBT6は短い期間でしたが今回で
任務を完了です…お疲れ様…。

Comments

Post a Comment








Go to top of page