2011-12-22 9 views
2

私はMCB1700評価ボードを使用しています。 Keilは開発者にRL-ARMライブラリを提供します。 しかし数時間前、私はCMSIS図書館を設立しました。また、USB、イーサネットなどのヘッダーとcファイルもあります(例があります)。 「RL-ARMライブラリ」と「CMSISライブラリ」の違いは何ですか? RL-ARMライブラリとCMSISライブラリの代替品はありますか?"RL-ARMライブラリ"および "CMSISライブラリ"の代替品

答えて

4

RL-ARMにはRTX RTOSカーネルが含まれています。それが提供するファイルシステム、ネットワーキング、CANおよびUSBのサポートは、RTXをスレッドセーフにするために統合されています。

代替RTOSを使用している場合は、ドライバ/ミドルウェアレベルでスレッドセーフティを処理する必要があります。ほとんどのミドルウェアライブラリには、これに対処するためのmutexコールフックがあります。

一般に、CMSISドライバはRL-ARMよりもかなり低いレベルです(実際にはCMSISドライバを使用する可能性があります)。たとえば、イーサネットドライバを使用している場合、CMSISはより高いレベルのTCP/IPスタックを提供しません。

CMSIS準拠のライブラリは、Keilではなくチップベンダーによって提供されます。私の経験上、Keilの流通はベンダーのリリースより遅れていることが多いので、CMSISライブラリをチップベンダから直接入手する必要があります。

すべてのCortex-Mベンダーは、その部分にCMSISライブラリを提供する必要があります。 CMSISには、スタートアップコードと周辺ライブラリが含まれています。 CMSISはsome standardsを定義していますが、周辺機器はベンダー固有のものであるため、異なるベンダーのCMSIS間での移植性はほとんどまたはまったくありません。実際にはSTM32F1xxからF2xxに変更することも、劇的な変更です!一方、RL-ARMは抽象度が高く、Keilがサポートするすべてのパーツで移植可能です。

+0

ありがとうございました!それは非常に便利でした! :) –

2

RLARMは、様々なミドルウェアコンポーネントを実装するKeilのpropitiatoryライブラリスイートです。私は、カーネル以外にもライブラリとして提供されていると思います。

CMSISは、Cortex-Mレジスタとさまざまな異なるライブラリに共通のインタフェースを提供するCortex-Mのabstrationレイヤです。実際にはミドルウェア自体は実装されていません。

+0

ありがとうございました! :) –