当社は、ベアメタルAUTOSAR MCAL実装として、S32DS上でNXP RTD 3.0.0を使用したFlexCAN(CANドライバ)を開発しました。このプロジェクトのRTOSとしてFreeRTOSを統合する必要があります。
具体的な質問は以下のとおりです。
1. AUTOSAR MCALドライバ(RTD 3.0.0)の実行は公式にサポートされていますか?AUTOSAR OS ではなく FreeRTOS の下で?
2. FREERTOSを移植する場合、どのような方法がありますか?サンプルSDKはありますか?
3. FreeRTOSとCANドライバ(FlexCAN)を使用する場合、S32DSに既知の制限事項や追加の設定手順はありますか?
4. FreeRTOSを使用する場合、FlexCAN ISRの推奨割り込み優先度設定は何ですか(configMAX_SYSCALL_INTERRUPT_PRIORITYに関して)?
環境:
- MCU: [FRDM s32k344 ]
- RTDバージョン:3.0.0
- IDE: S32DS
- RTOS: FreeRTOS
- ドライバー: FlexCAN / CANドライバー (AUTOSAR MCAL)
こんにちは 、
Julián_AragónM
早急なご返信と迅速な対応に感謝いたします。はい、とても役に立ちました
こんにちは 、
1. AUTOSAR MCALドライバ(RTD 3.0.0)の実行は公式にサポートされていますか?AUTOSAR OS ではなく FreeRTOS の下で?
はい。NXPはRTD 3.0.0をベースにしたS32K3向けFreeRTOSリリースを提供しています。FreeRTOSカーネルv10.5.1の場合:
しかし、これらのルーチンはすべて、高レベル層(HLDまたはMCAL)ではなく、低レベル層(LLDまたはIP)に基づいています。主な理由は、FreeRTOSがISO26262認証を取得していないためです。
2. FREERTOSを移植する場合、どのような方法がありますか?サンプルSDKはありますか?
これは顧客次第です。FreeRTOSの実装方法は、プロジェクトの複雑さによって異なります。先に述べたように、FreeRTOSパッケージには参考として使用できるサンプルルーチンがいくつか含まれています。
FreeRTOSのユーザーマニュアルにも、役立つ情報がたくさん掲載されています。リンカスクリプト、割り込みベクタテーブル、タイマー、割り込み、およびRTD統合について記載されています。
(FreeRTOSユーザーマニュアルはバージョン6.0.0以降で利用可能です。)
3. FreeRTOSとCANドライバ(FlexCAN)を使用する場合、S32DSに既知の制限事項や追加の設定手順はありますか?
通常のRTOS構成(ヒープサイズ、ハンドラ、タイマーを使用したOSレート、優先度など)を除けば、FlexCAN + FreeRTOSに特有の制限はありません。
4. FreeRTOSを使用する場合、FlexCAN ISRの推奨割り込み優先度設定は何ですか(configMAX_SYSCALL_INTERRUPT_PRIORITYに関して)?
この別のコミュニティ投稿を参照してください:解決済み: FreeRTOS を S32K142 で使用する際の割り込み優先度の設定方法 - NXP コミュニティ。S32K1と記載されているが、原理は同じである。S32K3には4つの優先度ビットも備わっています。
アプリケーション開発がまだそれほど進んでいない場合は、バグ修正、既知の問題への対応、最適化を含む複数のリリースが公開されているため、現在のRTDバージョンを更新することをお勧めします。さらに、最新のRTDリリース(7.0.1)に対応したFreeRTOSパッケージも用意されています。
お役に立てば幸いです!
よろしくお願いします、
ジュリアン