802.15.4 / 6LoWPANスタックを備えたCortex M4のRTOS


8

モノのインターネットプロジェクトで使用するオペレーティングシステムを評価していますが、次に進むための最良の方法がわかりません。

32k RAMとCC2520 802.15.4トランシーバーを備えたTM4C123GH6PM MCUを使用していますが、システムがすでにそれらのドライバーを提供しているとしたらすばらしいでしょう。

システムは、ドットマトリックス画面を描画し、ユーザー入力に反応する1つの(インタラクティブな)タスクを実行します。設定とアプリケーションデータをspiフラッシュに保存します。モジュール間でデータを同期し、モジュールからセンサーデータを抽出してゲートウェイに転送し(rplが頭に浮かびます)、またゴシップでOtAファームウェアの更新を配布するために、複数のモジュールのメッシュ(802.15.4に基づく)があります。ファッションのように。同様に、メモリを大量に消費するアプリケーションも実行しています。

これまでのところ、これらのシステムを調べてきました。


RIOT

長所

  • 優れたハードウェア抽象化
  • 小さな足跡
  • とても活発で親切なコミュニティ
  • 完全な802.15.4 / 6LoWPANスタック

短所

  • 不安定であり、根本的な変化をまだ受けている
  • まだ競合状態/クラッシュが含まれています
  • ファイルシステムのサポートなし
  • いくつかのネットワークプロトコル

Contiki

長所

  • 成熟したシステム、商用製品で使用
  • 多くの有用なプロトコルを備えた完全な802.15.4 / 6LoWPANスタック
  • ファイルシステムのサポート
  • cc2520サポート

短所

  • 開発が古くなっている
  • 「成長した」コードベース、たくさんのビット腐敗
  • 品質の悪いTiva Cポート
  • 最新のプラットフォームのサポートはほとんどありません
  • 非プリエンプティブスケジューリングはアプリケーションに問題を引き起こす可能性があります

FreeRTOS

長所

  • 少し追加の複雑さ
  • 使いやすく信頼性の高いスケジューラ
  • 多くの製品で使用される成熟したプロジェクト
  • たくさんのポート

短所

  • ファイルシステムなし
  • ドライバーのハードウェア抽象化なし/ハードウェアドライバーなし
  • ネットワークスタックなし
  • 動的メモリの使用率がやや高い

NuttX

長所

  • 非常に機能が豊富で、ほとんどLinuxのように感じますが、まだ小さいです
  • ファイルシステムのサポート
  • 優れたハードウェア抽象化
  • Tiva Cポート、他の多くのポート

短所

  • やや複雑
  • 802.15.4 / 6LoWPANのサポートなし、「クラシック」ネットスタックのみ

私の結論は、Contikiの良い部分(ネットスタック、ファイルシステム)を取り、それらをFreeRTOSに移植することです。しかし、私はそのようなフォークで完全に快適ではありません。私はおそらくエラーを追加していて、アップストリームの修正をバックポートすることはできません。また、将来的にMCUを切り替えることができるように、独自のハードウェアアブストラクションを発明する必要があります。だから私は他の多くの人にもあるはずの問題のように思われる何かのために自分のOSになってしまうでしょう-誰かが以前にそれをしたことがないのですか?(私は何かを見つけたという意味ですが、contiki-os全体をFreeRTOSタスクとして実行するという考えは私を不快にします)

行方不明のものはありますか?おそらく痛みはそれだけの価値があるでしょう。代わりに、ハードウェアでContikiを機能状態にしようとする必要がありますか?または、私の問題を解決するために見逃した別のシステムはありますか?

また、6lowPanが必要かどうかは定かではありませんが、既存のプロトコルに基づいて構築できることや、他のシステム(Linuxなど)と互換性があることを意味する場合は、追加のオーバーヘッドを喜んで受け入れます。


1
running the entire contiki-os as a FreeRTOS task makes me uncomfortableそれだけです。私は..と思わなかっただろう
m.Alin

回答:


2

その特定のプロセッサと結婚していない(またはコードをコピーして貼り付けるのに十分な知識がある)場合は、CodeWarriorおよびProcessor ExpertでFreescale MCUを頻繁に使用します。PEXには、FreeRTOS、MQX、FATなどを含む多数のコンポーネントが含まれています。追加のコンポーネントをダウンロードでき、最終的にはGUIベースのコードジェネレーターにすぎないため、提案されたように、結果のCコードをコピーして貼り付けることができますあなたのプロジェクトに。

編集:

-MQXにはIPスタックが含まれます

-FNET

多くの有用なコンポーネントの大規模な事前コンパイル済みパッケージ:http : //sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/


1

mbed OSがありません: ここに画像の説明を入力してください

長所

  • コアデザイナー-ARM Ltd.によって直接サポート(昇格)

短所

  • 最初の安定版リリースは、15年11月にのみ予定されています(予定):-]

1

これが商用目的の場合は、フリーでないオプションを確認することを強くお勧めします。サポートがすべてであり、個人的なプロジェクトであれば理解できます。

はい、コストがかかりますが、RTOS開発者の中にはそれほど大きなものではありませんが、カスタム開発にお金を稼いでおり、販売するまでライセンスは無料です。以下は、有料の競合他社を比較する記事へのリンクです。

マイクロコントローラーのリアルタイムオペレーティングシステムの比較

私はプロジェクトマネージャーであり、ST提供のドライバーの使用からUnisonに切り替えました。IIRC、ライセンスは驚くほど小さく、納得するまで「完全な試用版」を手に入れましたが、一貫した直接サポートが、私たちを圧倒し、開発のスピードアップに本当に貢献したのです。彼らはすでにさまざまなTIワイヤレスチップをサポートしていると思いますが、CC2520についてはわかりません。

ほとんどの販売を担当する人は本当に個人対応であり、2つの理由で価格を記載していません。1)と言われます。彼らはあなたが必要なものを聞きたい、彼らは本当にリピーターと口コミを参照したいからです。および2)競争。

ちなみに、ユニゾンのウェブサイトは本当に悪いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.