Mon 05/25, 2009

FreeRTOS (ColdFire 基板) [Computer and Networking , Electronics ]

CQ-FRQ-MCF52233ColdFire MCF52233 基板で FreeRTOS を動かしてみた。FreeRTOS はポータブルなオープンソースのリアルタイム OS で様々な MCU に移植されていて、インターフェース誌付録の CQ-FRQ-MCF52233 基板では Freescale 社の M52233DEMO 基板用のデモプログラム(webserver)を無改造で動かすことができる。今回は RTOS と言うよりも TCP/IP スタック(uIP)を試すのが主な目的だ。

まず、FreeRTOS のコードと GNU Toolchain (CodeSourcery のものなどでも良い)を用意する。Eclipse の使用はお好みで。CQ-FRK-MCF52233 基板では FreeRTOSV5.2.0\Demo\ColdFire_MCF52233_Eclipse\RTOSDemo 以下のコードを用いる。FreeRTOSConfig.h で Ether の MAC アドレスや IP アドレスを定義しているからこれを適宜変更する。これで make を実行すれば bin ディレクトリ内に RTOSDemo.s19 が出来上がるから、これを CFFlasher などで基板に転送する。LPT 版の BDM インターフェースを使用した。SilentC 領域も上書きされるからそのつもりで。

FreeRTOS-01基板をリセットし、ネットワークにつないだ PC の Web ブラウザから設定しておいた IP アドレスに接続すれば動作を確認することができる。このページ(RTOS stats)は各タスクの状態を示している。LEDx が3つあって、これは PORTTC 0-2 をオンオフしているから、LED を接続すれば確認できる。LEDx は Demo\Common\Minimal\flash.c 内の vStartLEDFlashTasks() 関数から起動されるタスク(vLEDFlashTask)で制御されている。この他にデモ用のタスクが多数動作している。

FreeRTOS-02TCP stats はネットワーク通信の状況。

FreeRTOS-03Connection はネットワーク接続。192.168.1.6 のクライアント PC から TCP ポート 80 番に接続があった。

FreeRTOS-04IO では PORTTC-3 (DTOUT3 - CQ-FRK-MCF52233 基板 10番ピン)に接続した LED を点灯させることができる。なお、この HTML スクリプトでは消灯が正しく動作しないから、http://192.168.1.101/io.shtml?LED0=0 のようにして消灯させる。

FreeRTOS-05Large JPEG はある程度大きなデータの例として 80KB くらいの JPEG 画像を3枚含んだページ。

Posted by masato at 11:50 AM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1701
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?