HOSの移植

| コメント(0) | トラックバック(0)

さて、今回はHOS(Hyper Operating System)の移植のお話。

HOSはμITRON準拠のリアルタイムカーネルOSで、すべてCで記述されており、アーキテクチャ依存の部分だけを切り離してCやアセンブラで記述できるようになっています。H8等のマイコン用にはすでにアーキテクチャ依存部が存在しますが、avr32のは無かったので、自分で書きました。
タスクのスイッチングの所は全く問題ありませんでしたが、問題は割り込みです

AVR32では、割り込みが計64グループ×32要因の2048通りもあります。そして、標準ランタイム(libc.a)にある割り込み処理ルーチン(interrupt.o)では、この全ての割り込みについてテーブルを用意しようとします。テーブル1要素が8バイトで、2048×8=16kB。すなわちAT32UC3B0256ならば、内蔵SRAM(32kB)の半分を割り込みテーブルに取られます(笑)。んなアホな。

なお、実際に実装されている割り込みは38要因なので、非常に無駄が多いことになります。

解決策を考え中…。

トラックバック(0)

トラックバックURL: http://kimushu.thyme.jp/mt/mt-tb.cgi/15

コメントする

このブログ記事について

このページは、kimushuが2008年9月 5日 17:45に書いたブログ記事です。

ひとつ前のブログ記事は「AT32UC3BでSPI通信」です。

次のブログ記事は「HOSの移植(2)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.04