私は基本的なOSと基本的なファイルシステムをハイエンドのMSP430(おそらくMSP430F5438)にできたいと思っています。私は、OSとファイルシステムのオプションのほんの一部に名前を付けるために、FreeRTOS、IAR PowerPacまたはMicriumのようなものを使うことができます。しかし、私は、後でこの余分なコードをファイルシステムから外して、少ししかアプレットやスレッドをロードできないようにしたいと考えています。私の目標は、組み込みデバイス上で機能を変更または実装するためにデバイス全体をリフレッシュする必要がないことです。この能力を実装するためにどこに向かうべきか、またはARMのような別のプロセッサに切り替える必要があるかどうかはわかりません。msp430用の組み込みアプリケーションの作成ですか?
答えて
MSP430は優れたコントローラですが、OSを実行してアプリケーションをフラッシュしないでロードする場合は、おそらくARM(多くのARMベースのマイクロコントローラを搭載した素晴らしいプラットフォーム)に切り替えるべきです。
プログラムコードを変更するたびにいつもMSP 430をリフレッシュしなければならないと確信しています。もちろん、ブートローダーは単独でフラッシュを更新することができるので、ブートローダーのように動作するプログラムを作成したいだけですが、プログラムメモリのceratin部分だけを更新します。つまり、アプレットをどこに配置するかを指定します。そして、あなたはあなたがそれを呼び出すことができるように、あなたのアプレットコードがどこにあるフラッシュの各領域がどのメモリ位置を知る必要があります。
また、これらのアプレットでコードを実行する際に問題が発生します。メモリの場所が1つしかない場合は、そこから実行するメモリの場所を考えてコンパイルできます。メモリ内の「アプレット空間」から実行できるいくつかの異なるアプレットが必要な場合は、どのアドレスから開始しているのかわからないため、問題が発生する可能性があります。
もちろん、これらのアプレットのどれも非常に大きくなることはありません。 RTOSはどのくらいのスペースを占有しますか?
見て価値のある部分はFRAM msp430です。しかし、それでもまだ多くの記憶はありません。 MSP430で
フラッシュ
ます(ユーザ・フラッシュが小さな塊を処理することができます)512バイトのチャンクでオンボードフラッシュを書き換える/消去することができます。
あなたのブートローダー/安定したRTOSはこの "アプリケーション"でチップを再プログラムできます。
割り込みをリダイレクトするのはちょっと難しいことですが、 "実"ベクタテーブルからアプリケーションベクタテーブルへのリダイレクションジャンプで行うことができます。安定した呼び出し
/RTOS
それはあなたがそれぞれの機能のために安定した部分に固定されたジャンプテーブルを構築することができ、アプリケーションからの安定した部分の機能を呼び出すことも可能ですので、アプリケーションが関数を呼び出す方法を知っていますたとえあなたが別の安定版/ RTOS版をビルドしたとしても。
RAM
1つのアプリケーションのみを許可する場合は、これは簡単です。
安定したRTOS用にいくつかのRAMを予約する必要があり、残りのRAMはアプリケーションで使用できます。
しかし、複数のアプリケーションを使用する場合は、変数の配置に関する問題を解決するのが難しい場合があります。
アプリケーションからRAMを予約するには、動的割り当てを優先しますが、その場合でも動的割り当てブロックのポインタが必要です。これらのポインタは固定ベースであるか、アプリケーションはスタック上の変数を使用します。
- 1. MSP430用GCCを使用したビット操作組み込み関数
- 2. 組み込みアプリケーションのテストコード
- 3. WPFアプリケーションでの組み込みのmozilla
- 4. 組み込みLinux用デバイスツリーの生成
- 5. MSP430 TIMERA1割り込み
- 6. Yammer組み込みアプリケーションiframe
- 7. アプリケーションへのカレンダーの組み込み
- 8. 組み込み用のC/C++組み込み関数VMOVD
- 9. iOSアプリケーションで.Netの組み込み認証を使用する
- 10. 組み込みのUITableViewからIBOutletsを作成する
- 11. 組み込みのベクトルからデータフレームを作成する方法
- 12. 組み込みシステムでのエントロピー生成
- 13. Qt組み込みアプリケーションのリモート実行
- 14. 組み込みShopifyアプリケーションのHMAC検証
- 15. msp430マイクロコントローラの割り込み実装
- 16. 組み込み依存注入システム外でのUserManagerの作成
- 17. Visual C++で128ビットの組み込み組み込み
- 18. コマンドラインからの組み込みcheckstyle構成の使用
- 19. msp430シリーズマイクロコントローラの割り込みサービスルーチンの名前は何ですか?
- 20. 組み込みデータベースと組み込みデータベースの違いは何ですか?
- 21. 組み込みswfシンボルから動的クラスを作成する
- 22. Clangの '_mm256_pow_ps'組み込みですか?
- 23. 組み込みのgradleタスクを動かすことで作業が遅く/組み込みタスクshourtcuts
- 24. 組み込みアプリケーション用の "Erlang"と "zeromq + any language"
- 25. アプリケーションにIPAを読み込み/開く/組み込む
- 26. 組み込み関数/組み込み関数のテスト
- 27. 組み込み関数を使わないリンクリストの作成
- 28. スプリングブート。 @DataJpaTest H2組み込みデータベースの作成スキーマ
- 29. .NETアプリケーション用のインタラクティブシェルを作成し、python/iron pythonのようなスクリプト言語を組み込みます。
- 30. C#でFirebirdを使用して組み込みデータベースを作成する方法
msp430のアドレス空間は16ビットで、すべてのROMとRAMが含まれています。あなたは、そのスペース内でOSとアプリケーションを実行することはできませんが、私はあなたが望むメモリの量でmsp430を見つけるとは思わない、あなたは、RAMやROMの量を調整し、FIFO上のopenmsp430のようなものを使用しない限り。 –
このアプリはコストで駆動されているので、私はフラッシュデバイスに頼んでいます。それ以来、ファームウェアと動的な部分の安定した部分を持つことができます。私は、安定した部分に触れることなく、動的な部分の遠隔のリフラッシュをすることができるようにしたいと思います。アップグレードが悪くなったら、私は安定した部分を失いたくはありません。私は動的部分を独立した位置独立のコードブロックとしてコンパイルし、安定部分にフックをつけることができたことでした。 MSP430がこれを処理できるかどうかは分かりません。 Alosはこれを扱うフラッシュベースのARMだろうか? –
どちらの場合も、フラッシュの他の部分からフラッシュを実行している間は、(全体に対して)小さな部分を消去する必要があります。私はまだmsp430ブートローダを作っていないので、オンチップでフラッシュすることは知らないが、フラッシュから実行している間にフラッシュの他の部分をフラッシュしている間に、いくつかのARMでこれを行った。 –