こんにちは、
私は、TorizonOS を実行している apalis IMX8 の Cortex M4 コアの 1 つで、MCUXpresso SDK の「hello world」デモ例を実行しようとしています。コードをコンパイルし、IMX8 の対応する場所に移動し、このガイドに従って uboot 経由で実行しました (通常、このために remoteproc を使用しますが、私の理解では、apalis imx8 ではまだ利用できません)。
すべて正常に動作し、シリアル出力に hello world 出力が表示されます。問題は、M4 の実行中に Linux を起動すると、カーネルは起動しますが、すぐにクラッシュして再起動してしまうことです (起動時に m4 を自動的に実行するように設定すると、ボードは再起動ループに入ります)。私の理解では、競合が発生する可能性があるのは、M4 によってシリアル出力として使用される UART ピンだけです。Linux では利用されていないようですが、デバイスツリーからこれらを削除しましたが、効果はありませんでした。また、これに従ってデバイスツリーを変更しようとしました。
https://github.com/nxp-imx/linux-imx/commit/bf90859f632888c62357288b4dc5682c55ea41c6
しかし、まだ運がありません。M4 コアと Linux の間でこの競合が発生する原因は何でしょうか?すでに Toradex フォーラムで質問しましたが、そこでは、M4 コアのサポートを実装するために作業中であり、その間にここで質問するようにという回答を得ました。
よろしくお願いいたします。
使用したボードとSDKsはサードパーティのNXPについてです。そのNXPについてにお問い合わせすることをお勧めします。これはリモート プロシージャの問題であるはずで、テストするための詳細な手順があるはずです。NXP ボードでは再現できませんでした。他のデモを試すこともできます。Hello World は他のボードのリモート プロシージャに問題があることはわかっていますが、imx8 ボードに問題があるかどうかはわかりません。