OSQZSS

オープンソース準天頂衛星(QZSS)受信機

DE0-NanoでFreeRTOSを動かす

2012-03-30 22:16:47 | FPGA
FreeRTOS Community Contributionsのサイトに,Nios II EDS 11.0の移植版が
アップされていることに気付き,一度は挫折したFreeRTOSに再挑戦してみました.

Nios updated port and demo for Nios EDS 11.0 and up

説明を読むと,外部割込みの処理も対応しているようですので,ちょっと期待.

まず,インストーラのrepositoryをzipファイルでダウンロードします.

github: EngineeringSpirit/FreeLwIP-Nios-II



次に,FreeRTOSのV7.1.0をダウンロードします.

sourceforge: FreeRTOS Real Time Kernel



これらを適当なフォルダに展開後,インストーラのトップディレクトリに
FreeRTOS_srcというフォルダを新規に作成します.そして,その中に,
FreeRTOSのSourceとDemoのフォルダをコピーします.



トップディレクトリのalt-freertos-lwip-install.batを実行すると
インストールが開始されます.

batの中身を見てみると,Quartusのインストールディレクトリを自動で探して
追加のファイルをコピーしています.複数のバージョンをインストールしている
場合は,最近使用したバージョンにインストールされます.

インストール先のバージョンを指定したいのであれば,batファイルにアドレスを
直接書き込むのが良いでしょう.

インストール中,何やらメッセージが表示されますが,どうなれば成功なのか
良く判りません.とりあえず,エラーや警告が出なければ大丈夫?

インストールが終了したら,Nios II SBT for Eclipseを起動し,BSPをビルドしてみます.
ターゲットとなるSOPCには,jtag_uartとsys_clk_timerが必要になります.
今回は,MicroC/OS-IIのテストで作成したものを流用しました.

まず,FileメニューからNew -> Nios II Board Support Packageを選びます.
SOPCファイルを選ぶと,CPUの名前が自動的に検出されます.
BSP typeには,プルダウンメニューからReal Time Engineers Ltd FreeRTOS 7.1.0を
選択します.

(クリックで拡大)

その後,Finishボタンをクリックし,BSPを生成し,ビルドします.

次は,アプリケーションを作成します.
FileメニューからNew -> Nios II Application and BSP from Templateを選択します.
Templateには,とりあえずHello Worldを選びました.

(クリックで拡大)

BSPには,先ほどビルドしたものを選びます.

(クリックで拡大)

これでコンパイルしてみると,vApplicationStackOverflowHookが見つからないと
エラーが出ます.

(クリックで拡大)

FreeRTOSのソースコードを探しても,この関数が見つかりません.
Demoを参照してみると,どうやらユーザが定義しなければいけない関数のようです.
そこで,メインのhello_world.cにとりあえず何もしない関数を定義しました.



これで,コンパイルも通り,Hello from Nios II!のメッセージが確認できました.

次にタスクを追加しようとしたのですが,あまり良いサンプルが見つかりません.
それなりにポピュラーなRTOSかと思ったのですが,そうでもない?

それでも何とか下記のサイトを参考に,一定間隔で動作するタスクを追加し,
FreeRTOSの動作が確認できました.

picfun:FreeRTOSの使い方
マイコン徹底入門:RTOS編



プロジェクトをアップしておきますので,興味のある方はお試しください.

http://www.sensorcomm.co.jp/osqzss/fpga/namuru/DE0_Nano_FreeRTOS.zip

FreeRTOSを動かしてみての感想は,全体的にごちゃごちゃしていてソースが読みづらい…
個人的に好みじゃないので,結局使わない気がします.
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MAX2769基板の動作試験 | トップ | Namuru-NanoとMicroC/OS-II »
最新の画像もっと見る

コメントを投稿

FPGA」カテゴリの最新記事