2009-09-12 43 views
6

私は基本的なOSと基本的なファイルシステムをハイエンドのMSP430(おそらくMSP430F5438)にできたいと思っています。私は、OSとファイルシステムのオプションのほんの一部に名前を付けるために、FreeRTOSIAR PowerPacまたはMicriumのようなものを使うことができます。しかし、私は、後でこの余分なコードをファイルシステムから外して、少ししかアプレットやスレッドをロードできないようにしたいと考えています。私の目標は、組み込みデバイス上で機能を変更または実装するためにデバイス全体をリフレッシュする必要がないことです。この能力を実装するためにどこに向かうべきか、またはARMのような別のプロセッサに切り替える必要があるかどうかはわかりません。msp430用の組み込みアプリケーションの作成ですか?

答えて

3

MSP430は優れたコントローラですが、OSを実行してアプリケーションをフラッシュしないでロードする場合は、おそらくARM(多くのARMベースのマイクロコントローラを搭載した素晴らしいプラットフォーム)に切り替えるべきです。

+0

msp430のアドレス空間は16ビットで、すべてのROMとRAMが含まれています。あなたは、そのスペース内でOSとアプリケーションを実行することはできませんが、私はあなたが望むメモリの量でmsp430を見つけるとは思わない、あなたは、RAMやROMの量を調整し、FIFO上のopenmsp430のようなものを使用しない限り。 –

+0

このアプリはコストで駆動されているので、私はフラッシュデバイスに頼んでいます。それ以来、ファームウェアと動的な部分の安定した部分を持つことができます。私は、安定した部分に触れることなく、動的な部分の遠隔のリフラッシュをすることができるようにしたいと思います。アップグレードが悪くなったら、私は安定した部分を失いたくはありません。私は動的部分を独立した位置独立のコードブロックとしてコンパイルし、安定部分にフックをつけることができたことでした。 MSP430がこれを処理できるかどうかは分かりません。 Alosはこれを扱うフラッシュベースのARMだろうか? –

+0

どちらの場合も、フラッシュの他の部分からフラッシュを実行している間は、(全体に対して)小さな部分を消去する必要があります。私はまだmsp430ブートローダを作っていないので、オンチップでフラッシュすることは知らないが、フラッシュから実行している間にフラッシュの他の部分をフラッシュしている間に、いくつかのARMでこれを行った。 –

2

プログラムコードを変更するたびにいつもMSP 430をリフレッシュしなければならないと確信しています。もちろん、ブートローダーは単独でフラッシュを更新することができるので、ブートローダーのように動作するプログラムを作成したいだけですが、プログラムメモリのceratin部分だけを更新します。つまり、アプレットをどこに配置するかを指定します。そして、あなたはあなたがそれを呼び出すことができるように、あなたのアプレットコードがどこにあるフラッシュの各領域がどのメモリ位置を知る必要があります。

また、これらのアプレットでコードを実行する際に問題が発生します。メモリの場所が1つしかない場合は、そこから実行するメモリの場所を考えてコンパイルできます。メモリ内の「アプレット空間」から実行できるいくつかの異なるアプレットが必要な場合は、どのアドレスから開始しているのかわからないため、問題が発生する可能性があります。

もちろん、これらのアプレットのどれも非常に大きくなることはありません。 RTOSはどのくらいのスペースを占有しますか?

0

見て価値のある部分はFRAM msp430です。しかし、それでもまだ多くの記憶はありません。 MSP430で

1

フラッシュ
ます(ユーザ・フラッシュが小さな塊を処理することができます)512バイトのチャンクでオンボードフラッシュを書き換える/消去することができます。
あなたのブートローダー/安定したRTOSはこの "アプリケーション"でチップを再プログラムできます。
割り込みをリダイレクトするのはちょっと難しいことですが、 "実"ベクタテーブルからアプリケーションベクタテーブルへのリダイレクションジャンプで行うことができます。安定した呼び出し

/RTOS
それはあなたがそれぞれの機能のために安定した部分に固定されたジャンプテーブルを構築することができ、アプリケーションからの安定した部分の機能を呼び出すことも可能ですので、アプリケーションが関数を呼び出す方法を知っていますたとえあなたが別の安定版/ RTOS版をビルドしたとしても。

RAM
1つのアプリケーションのみを許可する場合は、これは簡単です。
安定したRTOS用にいくつかのRAMを予約する必要があり、残りのRAMはアプリケーションで使用できます。

しかし、複数のアプリケーションを使用する場合は、変数の配置に関する問題を解決するのが難しい場合があります。
アプリケーションからRAMを予約するには、動的割り当てを優先しますが、その場合でも動的割り当てブロックのポインタが必要です。これらのポインタは固定ベースであるか、アプリケーションはスタック上の変数を使用します。

2

Msp430コントローラは、必要な機能を提供するいくつかのOSによってサポートされています。それらのうちのいくつかはOTAを提供しています。いくつかは(フラッシュベースの)ファイルシステムを提供します。しかし、これはフラッシュメモリを使ってアップロードされたプログラムを保存することを意味します。 "モノのインターネット" のためのOS -

Contiki:ここ

は、MSP430を支える夫婦、現在アクティブなOS-esがあります。 proto-threadを提供します。

MansOS - msp430デバイス用にスレッドとOTAをサポートするUNIX系OS。

関連する問題