Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
IMX SM (システムマネージャ) を使用した IMX95 ハードウェアのパーティショニングとアイソレータ こんにちは、 IMX95 verdin evkボードを使用したプロジェクトに取り組んでいます ハードウェア (A55 コア) をパーティション分割して、それぞれで異なる重要度のアプリケーションを実行する 4 つの別個の分離された Linux を実行したいと考えています。私たちは、プロトタイプ作成のために SM を使用してボードを素早く分割し、生産に近づいたときに PikeOS に移行することを望んでいました。 SM ドキュメントでは、A55 パーティションを構成する方法についてはあまり説明がありませんでした。それが可能だといいのですが、間違っていたら訂正してください。 理想的には、パーティション分割された A55 を含む参照構成と、コメントとコンポーネントの説明を含む参照構成が必要であり、何がどこにあり、なぜであるかを理解できるようになります。Linux を実行するために必要な最小限の A55 LM 構成の例もいただければ幸いです。 私たちが望むものの例 - コンポーネントの説明と時折の説明コメントを含む完全な構成:   PD_A55P start=2, stop=8, test #power delivery to A55 package PD_A55C0 stop=7 #power delivery to A55 core 0 - only stop because of ... PD_A55C1 stop=8 #power delivery to A55 core 1 ... A55P OWNER, sema=0x442313F8 #A55 package - must be owned by LM2 because ..., sema means ... ... FLEXSPI1_MEM EXEC, begin=0x000000000, end=0x0FFFFFFFF #only needed if ... OCRAM_C EXEC, begin=0x001000000, end=0x001017FFF #used for ..., minimum size ... OCRAM EXEC, begin=0x0204C0000, size=96K #used for ..., minimum size ... GPU DATA, begin=0x04D900000, end=0x04DD7FFFF #only on LM that owns GPU, minimum size ... DDR EXEC, begin=0x088000000, end=0x089FFFFFF #ddr partition 1, used for ... DDR EXEC, begin=0x08E000000, end=0x87FFFFFFF #ddr partition 2, used for ... 適切に文書化された構成ファイルを 1 つ用意しておくと、望ましい結果を得るために何を変更する必要があるかを理解するのに大いに役立ちます。上記の例では、A55P は A55 パッケージを意味すると推測しましたが、確信を得る方法はありません。また、1 つの LM の下にメモリの DDR セクションが 2 つある (さらにセキュア A55 セクションに 1 つある) 理由もわかりません。また、すべての A55 LM にこれらすべてが必要かどうかもわかりません。 また、複数の LM で同時に同じ Linux イメージを起動できるCANかどうか、また各 LM に異なる Linux イメージをロードできるCANかどうか、またそれをどのように設定するかについても興味があります。 最後に知りたいのは、シリアル DBG ポートにコネクテッドする LM を選択する方法と、(使用しない) M7 のデバッグ COM ポートを別の A55 LM で上書きできるかどうかです。 ありがとうございます。ご返信をお待ちしております。 ウラジミール
View full article
S32K142 の ECC を使用して SRAM のシングルビット エラーを修正するにはどうすればよいですか? SRAMでシングルビットエラーが発生しました。「AN12522 S32K1xx ECCエラー処理」ドキュメントには、エラー処理の3つの方法が紹介されています。シングルビットエラーの修正は自動で行われるのでしょうか?3つの処理方法はどのように設定すればよいでしょうか?ERMはエラー修正イベントの報告のみを行うのでしょうか?それとも、ERMが有効になっていなくてもシングルビットエラーを修正できるのでしょうか? S32K14x および S32K11x デバイスは、単一ビット エラーを同じ方法で処理します。エラー報告モジュール (ERM) は、(有効な場合) 割り込みを生成して、CR0[ESCIEx] ビットを 1 に設定することで有効にできる単一ビット訂正イベントを通知できます。イベントが発生した後にエラーを処理する方法は 3 つあります。 1.通常の MCU 動作: MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、MCU は正常に動作し続けます。 2. 障害を管理するための適切な機能安全メカニズムを備えています。MCU は障害を検出し (障害検出時間)、それを修正します (障害反応時間)。この時点で、ソフトウェアは safe_state_system に切り替える必要があります (safe_state_system とは、人身傷害や健康被害が発生する可能性が不当に低い動作モードです)。safe_state_system はユーザーが定義する必要があります。 3. 適切な機能安全メカニズムがない場合: MCU は障害を検出し (障害検出時間)、その後修正しますが、ユーザーにはエラーが発生したことが通知されません。フォールト トレランス時間間隔 (FTTI) が経過した後に危険が発生する可能性があります。 Re: S32K142 ECC如何更正SRAM单比特错误 こんにちは@minsky SRAM 読み取り操作中、ECC デコード ロジックが自動的に動作し、シングル ビット エラー訂正とマルチ ビット訂正不可能な ECC エラー検出を実現します。 複数ビットの訂正不可能なエラーが検出されると、2 サイクルの AHB バス エラー応答が生成され、AHB バスのデータ転送は終了しますが、ターゲット アドレスの SRAM データは変更されません。 https://mp.weixin.qq.com/s?__biz=MzI0MDk0ODcxMw==&mid=2247485836&idx=1&sn=c34d036624606761ad8f67c279251183&chksm=e9124d0ade65c41c2a4d9f4b9fcc7c73b58bd3575828f4afb590646e405aae163765f81da942&scene=21#wechat_redirect https://mp.weixin.qq.com/s?__biz=MzI0MDk0ODcxMw==&mid=2247485852&idx=1&sn=a696a936e3645843e555e02d4355f1c4&chksm=e9124d1ade65c40c20ac22924a6c3109ed11706fc346fdeeeee4488411a714515e3700006213&scene=21#wechat_redirect
View full article
S32G274ARDB2上のXenでmmcblk0デバイスを制御する こんにちは、 私は S32G274ARDB2 イメージを使用しており、Linux BSP 38.0 ユーザー マニュアルのガイドラインに従って Xen ハイパーバイザー サポートを有効にしています。イメージをビルディングした後、Xen 環境で `lsblk` コマンドから次の出力を確認しました。 名前 MAJ:MIN RM SIZE RO TYPE マウントポイント mmcblk0 179:0 0 14.8G0 ディスク |-mmcblk0p1 179:1 0 64M 0 パーツ |-mmcblk0p2 179:2 0 980M 0 パーツ / |-mmcblk0p3 179:3 0 980M 0 パーツ `-mmcblk0p4 179:4 0 980M 0 部分 Xen に公開される `mmcblk0` デバイス (パーティション) の数を管理する方法を理解したいと思います。具体的には、以下の点について指導が必要です。   1. Xen または特定のドメイン (Dom0 や DomU など) に表示される `mmcblk0` パーティションの数を制限するにはどうすればCANますか? 2. Xen 内で `mmcblk0` パーティションの数を動的に追加したり制御したりすることは可能ですか? SO、どのような構成やツールを使用すればよいですか? 3. この制御を実現するために変更する必要がある特定のデバイス ツリー設定、Xen 構成ファイル、または U-Boot コマンドはありますか?   これを実現するための関連ドキュメント、構成例、手順などへの参照があれば、大変助かります。設定に関する追加の詳細が必要な場合はお知らせください。   再開まで今しばらくお待ちください。 Re: Controlling mmcblk0 Devices in Xen on S32G274ARDB2 こんにちは@hulk101さん、 私が提供した情報で目標を達成できましたか? もしSOであれば、私の最後の返信を受け入れられるべき解決策として選択してください。そうでない場合は、エラーが発生した場合はお知らせください。 ありがとうございます! Re: Controlling mmcblk0 Devices in Xen on S32G274ARDB2 こんにちは@hulk101さん、 Xen は NXP 製品ではないため、これについてのサポートはあまり提供できません。ただし、役に立つと思われる情報がいくつかあります。Dom0はデフォルトですべてのハードウェアリソースにアクセスできます。これにはSD/eMMCパーティション( mmcblk0p1、mmcblk0p2、mmcblk0p3など)が含まれます。Dom0へのアクセスを制限することは可能ですが、Dom0は他のすべてのドメイン(Domuなど)を作成することを目的としているため、推奨しません。DomUはデフォルトですべてのハードウェアリソースにアクセスできるわけではありません。例えば、パーティションについては、次のコマンドを実行して動的にアタッチできます。 xl block-attach domu1 phy:/dev/mmcblk0p3 xvdb w または切り離すには: xl block-detach domu1 xvdb これらのコマンドを domu1 の設定ファイルに追加するCANもできます。 必要なパーティションとドメイン名に応じてコマンドが若干変更される可能性があることに注意してください。 この方法では、パーティションが domu1 に次のように表示されます。 /dev/xvdb デバイス ツリーで実行するCAN構成がいくつかありますが、要件によってはそれが正しいアプローチではないと思われますので、 https://wiki.xenproject.org/wiki/Device_tree を確認してください。 他にご質問があればお知らせください。
View full article
swd構成デバイスが検出されません こんばんは、 残念ながら、フラッシュを誤ってプログラミングした後、ターゲットを見つけることがCANません。 .launchを削除してみましたファイル; カードが存在することはCAN認識しますが、もう見つかりません。 外部デバッガーがありません。ターゲットを修復するにはどうすればいいですか? よろしくお願いいたします。 Transidico_0-1757429938631.png Re: swd configuration no device detected こんにちは、パブロさん。 RT1062-EVKB ボードを使用していますが、プログラムもできません。MCUXpresso IDE は CMSIS-DAP デバッガーを検出しますが、デバッグ セッションを起動すると、SWD が検出されないというメッセージが表示されます。セキュア プロビジョニング ツールで提案されたことを実行しようとしましたが、チップの検出にも失敗しました。SO、CMD を使用して強制しようとしましたが、何も機能しませんでした。何か提案はありますか? Re: swd configuration no device detected おはようございます、パブロさん。 どうぞよろしくお願いいたします。なんとか修理でき、カードは動作するようになりました。 なぜこのようなことが起こったのか教えていただけますか? 改めて感謝申し上げます。 Re: swd configuration no device detected こんにちは@Transidico 、 フラッシュメモリが保護されている可能性があります。メモリが保護されているかどうか確認してもらえますか? これは、MCUXpresso Secure Provisioning Toolを使用して実行 CAN。 Pablo_Ramos_1-1757633225149.png UART ボタン (赤) をクリックします。これにより、「ターゲット プロセッサとの接続」ウィンドウが開きます。 MCU-Link USB (J13) を介してボードを接続し、テスト接続ボタン (緑) を使用して UART 接続をテストします。 フラッシュが図のように固定されている場合は、次の操作を試してください。 コマンドラインインターフェース (青) を開き、次のコマンドを実行します。 blhost -p COM37,57600 -- フラッシュ消去すべて非セキュア 注: COM ポートは設定によって異なる場合があります。 よろしくお願いします、 パブロ Re: swd configuration no device detected 一括消去コンソール: フラッシュ操作「消去」を実行しています (フラッシュ消去) - Wed Sep 10 10:16:37 CEST 2025 MCU 情報を確認しています... ターゲットをスキャンしています... フラッシュアクションを実行しています... MCUXpresso IDE RedlinkMulti ドライバ v24.9 (2024年9月19日 19:34:05 - crt_emu_cm_redlink.exe ビルド 802) ( 0) リモート構成の読み取り Wc(03)。キャッシュはサポートされていません。 C:/ユーザー/transidico/Desktop/workspace2/TB1585/Debug\MCXC242.xml にチップ XML ファイルが見つかりました (5)リモート設定完了 既存の LinkServer プロセスに再接続しました。 ============= スクリプト: MCXC_connect.scp ============== MCXC 接続スクリプト プローブインデックス = 1 に接続しています このプローブ = 1 このTAP = 0 このコア = 0 DPID = 0BC11477 NRESETをアサートする リセットピンの状態: 00 パワーアップデバッグ MDM-AP APID: 0x001C0020 MDM-AP システムリセット/ホールドリセット/デバッグ要求 MDM-AP制御: 0x00000008 MDM-AP ステータス (フラッシュ準備完了): 0x00000036 部品は固定されています 一括消去が必要です ============= スクリプト終了 ============================ プローブファームウェア: MCU-LINK FRDM-MCXC242 (r0E7) CMSIS-DAP V3.160 (NXP Semiconductors) シリアル番号: D3RQLYWOEAOJ0 VID:PID: 1FC9:0143 USBパス: 0001:000d:00 適切なコアを検索した後、コア0のメモリを使用する redlink サーバー クライアント - 2000 ミリ秒後にサーバーからの応答 (op 62 へ) を受信できませんでした - タイムアウトしました (rc 138) 接続に失敗しました - EE(47): デバッグメールボックス要求が失敗しました...再試行しています redlink サーバー クライアント - 2000 ミリ秒後にサーバーからの応答 (op 12 へ) を受信できませんでした - タイムアウトしました (rc 138) プローブ 1 TAP 0 は TAP ID の読み取りに失敗しました - Ee(FF)。Redlink インターフェース エラー 255。 接続に失敗しました: Ee(FF)。Redlink インターフェース エラー 255。 接続してリセットしました。以前は: 未接続でした。DpID: 0BC11477。CPUID: 00000000。情報: 最後のスタブエラー0: OK 最後のスティッキーエラー: 0x0 AIndex: 0 デバッグバスが選択されました: MemAp 0 DAP 速度テストが実行されなかったか失敗しました デバッグ プロトコル: SWD。RTCK: 無効。ベクターキャッチ: 無効。 (100)ターゲット操作に失敗しました redlink サーバー クライアント - 警告 - サーバーからの予期しないデータ 28 バイト デバッグセッションの終了時にエラーが発生しました - Nn(05)。DAP アクセスにおける Wire ACK 障害 操作を実行できません! コマンドは終了コード 1 で失敗しました Re: swd configuration no device detected おはようございます、パブロさん。 LPC55s69のプログラミングを試みましたが、うまくいきませんでした。フラッシュメモリの一括消去も試みましたが、やはりうまくいきませんでした。 .launchファイルを削除した場合デバイスが見えます Transidico_0-1757489076103.png しかし、充電しようとするとデバイスが認識されません。 Transidico_1-1757489149760.png 本当にどうすればいいのか分からない。 ありがとうございます。よろしくお願いいたします。 Re: swd configuration no device detected この新しいファームウェアが何と関係があるのか分かりません。フラッシュを間違ってプログラムした場合、フラッシュを一括消去すると問題が解決すると思います。コンソールからの変数を使用してフラッシュをプログラムし、コンソールが突然シャットダウンした場合、フラッシュを誤ってプログラムしたことになります。一括消去でこの問題が解決するかどうか教えていただけますか? ご返信ありがとうございます。 Re: swd configuration no device detected こんにちは@Transidico 、 CAN LPC55S69 のファームウェアを更新することで問題が解決するかどうかをテストするのを手伝ってもらえますか? 次の投稿に記載されている手順に従ってください。 MCX-NとMCX-Aのデバッガーを更新する方法 - NXPコミュニティ FRDM-MCXC242 で EVK を DFU モードに設定するには、ジャンパー JP1 を閉じる必要があります。 Pablo_Ramos_0-1757440699684.png よろしくお願いします、 パブロ Re: swd configuration no device detected 何が起こったのか説明しましょう。私は統合された mcxpresso コンソールを備えた frdm-mcxc242 ボードを使用しています。コンソールから挿入してフラッシュ ドライブに変数を保存する、非常にシンプルなプログラムを作成してみたいと思いました。変数をフラッシュ ドライブに 3 回または 4 回保存して読み取った後、ある時点で、前述の画面 (SWD にデバイスが利用できません) が表示されました。 外部デバッガーは使用していませんが、ボードを回復する必要があります。リセットボタンを押してPCを再起動してみたのですが、効果はありませんでした。 ボードは紛失しましたか?
View full article
NXP iMX95 EVK - NPU TensorFlow Lite モデル こんにちは、 NPU で eIQ TensorFlow Lite サンプルモデルを実行しましたが、次のエラーが発生して失敗しました。 情報: モデル mobilenet_v1_1.0_224_quant.tflite がロードされました 情報: 解決済み報告者 情報: EXTERNAL デリゲートが作成されました。 remoteproc remoteproc0: FWイメージNeutronFirmware.elfを起動しています remoteproc remoteproc0: リモートプロセッサ neutron-rproc が起動しました 情報: NeutronDelegate デリゲート: 1 つのパーティションを持つ 31 ノードのうち 29 ノードが委任されました。 INFO: EXTERNAL デリゲートを適用しました。 情報: CPU 用の TensorFlow Lite XNNPACK デリゲートを作成しました。 Neutron 4ab00004.imx95-Neutron: 無効な ioctl。コマンド=1075577096、引数=549719032088 Neutron推論ジョブの作成に失敗しました エラー: コンポーネント='Neutron ドライバ'、カテゴリ='内部障害'、コード=442 エラー: ノード番号 31 (NeutronDelegate) の呼び出しに失敗しました。 エラー: tflite の呼び出しに失敗しました。 例は次のパッケージを使用して構築されました。 # AI/ML IMAGE_INSTALL:append = "tensorflow-lite-neutron-delegate" 現在、リモート プロセッサはオフラインとして表示されます。 root@toradex-smarc-imx95-12593622:/sys/class/remoteproc/remoteproc0# 猫の状態 オフライン リモート プロセッサを手動で起動しようとすると、権限エラーが発生します。 root@toradex-smarc-imx95-12593622:~# echo rproc-neutron-rproc-fw > /sys/class/remoteproc/remoteproc0/firmware -sh: /sys/class/remoteproc/remoteproc0/firmware: 権限が拒否されました root@toradex-smarc-imx95-12593622:~# echo start > /sys/class/remoteproc/remoteproc0/state -sh: /sys/class/remoteproc/remoteproc0/state: 権限が拒否されました 現在、IMX_ML_User_Guide を参照して、NPU 上で eIQ Toolkit TensorFlow Lite の例を実行する作業を行っていますが、マイクロコードの不一致エラーが発生しました。 私たちのセットアップでは、BSPバージョンscarthgap-6.6.36-2.1.0を使用しています。eIQ ツールキット バージョン 1.16.0。TensorFlow Liteモデルを.tfliteに変換しましたeIQ ツールキットを使用して NPU 最適化モデルに変換しましたが、実行中に次のエラーが発生します。 Screenshot from 2025-10-10 17-05-43 (1).png トラブルシューティングのために、複数のBSPとeIQツールキットのバージョンの組み合わせ(BSP 6.6.52_2.2.0、6.12.34_2.1.0)をテストしました。、lf-6.6.3_1.0.0 6.6.23_2.0.0 および 6.6.36_2.1.0eIQ 1.16.0では、1.15.1、および 1.14.0)。ただし、マイクロコードのバージョンはいずれも、予想されるバージョンと一致しません。 予想されるマイクロコードバイナリ(NeutromFirmware.elf)を提供してください変更の実行やアドバイスのため。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 BSP バージョンが 6.12.20 から 6.12.34 にアップグレードされ、eIQ ツールキットのデフォルトの例が実行されました。添付のスクリーンショットは結果を示しています。この例は正常に実行され、NXP i.MX95 EVK でデフォルトの画像分類出力が生成されました。ただし、実行中に 31 個のノードのいずれも委任されませんでした。 NXP_iMX95.png .tfliteを変換しました最新の eIQ Toolkit バージョン 17 を使用したモデル。ただし、TensorFlow Lite バージョン 17 で例を実行すると、画像分類の結果が表示されません。この問題を示すスクリーンショットを添付しました。 v17.png 上記の両方のCASEは、NXP i.MX95 EVK で実行されました。 ただし、私たちの主な目的は、これらの例を Toradex SMARC i.MX95 EVK で実行することです。 Toradex ボードの BSP バージョン アップグレードはまだ不安定で、Toradex i.MX95 EVK にバージョン 6.12.34 の安定した BSP リリースがまだないため、NPU で AI ワークロードを実行すると複数のエラーが発生します。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 モデルを次のように変換する必要があります。 /opt/nxp/eIQ_Toolkit_v1.17.0/bin/neutron-converter/MCU_SDK_25.09.00+Linux_6.12.34_2.1.0/neutron-converter \ --input you_model_quant.tflite \ --output your_model_neutron.tflite \ --target imx95 \ --convert-inputs-uint8-to-int8 \ --convert-outputs-uint8-to-int8 YOLOv11 Nano を 27 FPS で実行できました。バージョン不一致の警告はまだ表示されますが、問題は発生していません。警告を受けるのは楽しいことではありませんが、今となってはそれについてCANことはあまりありません。 お役に立てれば幸いです。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 最新バージョン (6.12.34) では、さらに多くのノードとオペレーターを変換することができました。変換された演算子が 3% から 62 ドルに増加しました。これは、YOLOv11 ベースのモデルとしては非常に良好です。 今度はバージョンの不一致もあります。しかし、それは私のボードのバージョンによるものです。SO、6.12.20 から 6.12.34 にアップデートしようとしています。お持ちのバージョンと変換に使用したバージョンをご確認ください。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 このエラーについては分かりませんが、おそらく NXP の誰かが介入するはずです。 私もガイドに従って、カスタム 1 ステージ検出器 (CNN ベース) を変換することができました。残念ながら、デリゲートにロードされるノードは 1 つだけです (残りは、CPU 用の XNNPACK のままです)。 ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 1 nodes delegated out of 697 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-a5d640e6, zerocp enabled. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. これはおそらく、変換後に 697 個の Neutron Graph のうち 1 個だけ作成されるためです。変換された演算子は 27 個のみです。笑 Conversion statistics: Number of operators after import = 678 Number of operators after optimize = 723 Number of operators converted = 27 Number of operators NOT converted = 696 Number of operators after extract = 697 Number of Neutron graphs = 1 Number of operators NOT converted = 696 Operator conversion ratio = 27 / 723 = 0.0373444 Operators converted = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, Variscite のサポートに再度お問い合わせし、何かアイデアが得られるか確認してみました。NXP がここで実際に返答しないのは残念です。 解決策が見つかることを願っています。引き続き調査を続け、何か見つかったらお知らせします。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 サポートありがとうございます。共有していただいたリンクを確認し、提供された手順に従いましたが、マイクロコード不一致エラーがまだ発生します。参考までにスクリーンショットを添付しました。 Screenshot from 2025-10-31 17-54-09.png これを確認して問題解決にご協力いただけますでしょうか? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model NXP のサポートは非常に悪く、ドキュメントには必要なものがすべて記載されていません。また、Neutron 準拠モデルが付属していないイメージについては言うまでもありません (変換されずにイメージに追加されなかったためです)。 私は、NXP iMX 95 が統合されたボードを提供しているNXPについてである Variscite に連絡し、支援してもらいました。これを動作させるには、NPX の例であっても、自分でモデルを変換する必要があります。次の手順に従ってください: https://dev.variscite.com/dart-mx95/mx95-yocto-walnascar-6.12.20_2.0.0-v1.2/machine-learning/ 他の作業で忙しいので、まだ変換は行っていません。 お役に立てれば幸いです。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 最新の BSP リリースに更新しましたが、問題は依然として解決しません。この問題の解決にご協力いただけませんか? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 私も同じ問題に直面しており、CAN回避できません。 以下の例のように、画像に付属するサンプル コードをテストしました。NeutroDelegate がノードを適切に委任しないという同じ問題が発生します。私たちの検出モデルで試してみましたが、予想どおり同じ結果でした。 ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 0 nodes delegated out of 678 nodes with 0 partitions. Error in cpuinfo: prctl(PR_SVE_GET_VL) failed INFO: Created TensorFlow Lite XNNPACK delegate for CPU. これを実行しようとすると、 echo start > /sys/class/remoteproc/remoteproc0/state 結果としてアクセスが拒否されました。 多くの画像で試してみました: 6.12.20_2.0.0-v1.1:動作し、起動しますが、デリゲートが適切に割り当てられません。 6.6.52_2.2.0-v1.1:動作しません。起動すらしません。 6.6.23_2.0.0-v1.1:動作しません。起動すらしません。 6.6.1_1.0.0-v1..00: 動作しません - 起動すらしません。 Variscite DART DM95 に付属する NXP i.MX 95 をテスト中です (またはテストしようとしています)。画像は彼らのサイトからダウンロードされました。最新の NXP リリースでも試してみましたが、これも機能しませんでした。 この許可が拒否された理由は何でしょうか?特定の動作する画像をお持ちの場合は、それをダウンロードするためのリンクを共有していただけますか? サポートをよろしくお願いいたします。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは。 それは奇妙です。SO、最新の BSP を使用していることを確認し、ボードの Linux を消去して再度書き込んでください。ここでは問題なく動作しているので、これ以上言うことはCANません。 よろしくお願いします。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 ご提案のとおり、以下のコマンドを試しましたが、依然としてアクセスが拒否されるなどのエラーが発生しました。ルートおよび sudo でもコマンドを試していますが、依然としてアクセス拒否の問題が発生しています。参考までにスクリーンショットを追加しました。 1.エコー停止 > /sys/class/remoteproc/remoteproc0/state 2.cat /sys/class/remoteproc/remoteproc0/state 3.ls /lib/ファームウェア 4.echo NeutronFirmware.elf > /sys/class/remoteproc/remoteproc0/firmware Screenshot from 2025-10-16 14-57-17.png Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 エラー メッセージによると、RemoteProc 権限の問題と NPU デリゲートの失敗の両方が発生しています。これらを段階的に解決するお手伝いをさせていただきます。 1. RemoteProc の権限の問題 リモート プロセッサを手動で制御しようとしたときに表示される権限エラーはよくあるものです。RemoteProc のドキュメントによると、変更を加える前にリモート プロセッサが正しい状態であることを確認する必要があります。 # cat /sys/class/remoteproc/remoteproc0/state 権限が拒否されたエラーが発生した場合は、まずリモート プロセッサを停止してみてください。 # エコー停止 > /sys/class/remoteproc/remoteproc0/state ( 次に、オフラインであることを確認します。 # cat /sys/class/remoteproc/remoteproc0/state オフライン 2. ファームウェアのロードプロセス ファームウェアをロードする場合、RemoteProc フレームワークはデフォルトで /lib/firmware 内に格納されている *.elf ファームウェアを検索します(1) 。ファームウェアを次の場所にコピーCAN: $ scp hello_world.elf root@ :/lib/firmware ファームウェアが他の場所に保存されている場合は、ファームウェア パスを更新CAN。 # echo -n new_path > /sys/module/firmware_class/parameters/path 3. リモートプロセッサのロードと起動 ファームウェアをロードするには、ファームウェア ファイルにその名前を書き込みます。 # echo.elf > /sys/class/remoteproc/remoteproc0/ファームウェア 重要: 必ず *.elf ファームウェアを実行してください。そうしないと動作しません。 新しいファームウェアでリモート プロセッサを起動するには: # エコー開始 > /sys/class/remoteproc/remoteproc0/state 次のような出力が表示されます。 [12594.692880] remoteproc remoteproc0: imx-rproc を起動しています [12594.698629]remoteproc remoteproc0: FWイメージhello_world.elfを起動しています。サイズ 240736 [12594.706192]remoteproc remoteproc0: dtb rsrc-table がありません [12594.761474]remoteproc remoteproc0: リモートプロセッサ imx-rproc が起動しました 4. NPU構成要件 コミュニティの議論に基づいて、NPU の設定にはいくつかの重要な考慮事項があります。 NPU サポートの確認: ハードウェアが NPU 実行をサポートしていること、および使用している TensorFlow Lite バージョンが NPU アクセラレーションと互換性があることを確認します。 NPUドライバのインストール: NPUドライバが正しくインストールされ、設定されていることを確認します 正しい TensorFlow Lite デリゲートを使用する: NPU 実行に適切なデリゲートを使用していることを確認します。 5. トラブルシューティングの手順 ハードウェアサポートの確認: ハードウェア構成がNPUデリゲートをサポートしていることを確認します。 ファームウェアの検証: 正しいNPUファームウェアがロードされていることを確認します ドライバステータス: Neutronドライバが正しくロードされ、アクセス可能かどうかを確認します デリゲート構成: TensorFlow Lite デリゲートが特定のハードウェアに対して正しく構成されていることを確認します。 6. 代替アプローチ 問題が引き続き発生する場合は、まず CPU のみの推論でテストして、問題が NPU アクセラレーションに特有のものかどうかを特定することを検討してください。ハードウェアアクセラレーションを一時的に無効にするには、 USE_HW_ACCELERATED_INFERENCE=0 よろしくお願いします。  
View full article
关于我的电机 MCSPTE1AK344 的问题 您好, 我购买了贵公司的 MCSPTE1AK344 套件,使用的是微处理器 S32K344。我正在使用"S32K344_mc_pmsm_1sh_s32ct" 程序,并已获得电机的运动情况。我可以控制电机的速度,但我有不同的问题。正如您在下一张图片中看到的,我有很多"......",但我不知道原因(这是在电机运动时)。此外,电机有时会不服从速度指令。 JonAnder_Amante_0-1762336973397.png JonAnder_Amante_1-1762337070340.png 感谢您的一切, Re: Question with my motor MCSPTE1AK344 你好 我在和电机控制小组谈话。 示例S32K344_mc_pmsm_1sh_s32ct" 来自 MBDT。(基于模型的设计工具箱) 显然,恩智浦 MDBT 团队的人员已经与您取得了联系。 关于你发送的屏幕截图,看来你在 devikt MCSPTE1AK344 的 K344 EVB 板上设置了错误的跳线 J18。 petervlna_0-1762939490618.png 如果你将其设置为 3.3V,它将感知更大的电压。 如果使用 DEVKIT 的适配器供电,则显示值必须为 12V。 顺祝商祺! Peter   Re: Question with my motor MCSPTE1AK344 您好, 我在 S32 Design Studio 中试用了您的示例,可以接收到有关 MCU 的信息。我在界面上看到了下一张图片,我知道问题出在哪里了。你能帮帮我吗? JonAnder_Amante_0-1762856310383.png 谢谢 Re: Question with my motor MCSPTE1AK344 你好 以下是反馈的摘要: 您所说的项目" S32K344_mc_pmsm_1sh_s32ct" 并非来自官方网络的项目。 我们的是基于 EB tresos 的 mcspte1ak344_pmsm_foc_1SH_AS_TR 版本。您的项目要么是您移植到 S32DS 中的,要么是从某个未知来源获取的。 软件可以从下面的链接下载,版本在 RTD3.0.0。 https://www.nxp.com/design/design-center/development-boards-and-designs/MCSPTE1AK344 下面是示例的文档: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K3-Motor-control-SW-examples/ta-p/1804577 单分流器示例在此: https://community.nxp.com/t5/S32K-Knowledge-Base/S32K344-FOC-with-single-shunt-current-measurement/ 我们无法对 S32K344_mc_pmsm_1sh_s32ct 做出评论。Ty 下载官方 SW 并进行比较。 关于"?? "标记,您的项目中没有定义这些变量,因此 freemaster 无法识别它们的地址并将其可视化。 顺祝商祺! Peter Re: Question with my motor MCSPTE1AK344 您好, 我按照您在示例"https://www.nxp.com/document/guide/ev-ac-charging-solutionss:GS-MCSPTE1AK344" 中的步骤进行了操作。 我不知道如果我不读取 uC 的信号,电机为什么会工作,因为我可以修改电机的速度。 速度反映正确,但速度指针有时不按速度顺序转动。 您能给我任何解决方案吗? Re: Question with my motor MCSPTE1AK344 你好 您遵循入门指南了吗? https://www.nxp.com/document/guide/ev-ac-charging-solutionss:GS-MCSPTE1AK344 标记表示无法从 uC 读取有价值的信息。 此外,电机有时会不服从速度指令。 你是说通过 MCAT 更改速度时,UC 中没有反映? 致以最崇高的敬意, Peter
View full article
i.MX957 LPDDR 控制器 即将推出的 i.MX957 是支持 LPDDR4 双通道内存还是仅支持单通道内存? Re: i.MX957 LPDDR Controller 您好, 感谢您对恩智浦半导体产品的关注, 关于即将推出的 i.MX 95,我们掌握的信息不多,但初步数据表显示,它将只支持 LPDDR5/LPDDR4X 而非 LPDDR4。 如前所述,这只是初步数据表,由于处理器处于试生产阶段,因此可能会有变化,请参考发布时的可用文档。 此致
View full article
S32K39-37-36におけるCoolFlux DSPの対象アプリケーション NXPについて: 大金半導体 お問い合わせ: Heedong Lee デバイス: S32K39-37-36 こんにちは、チームの皆さん お客様と私の理解では、S32K39-37-36 は安全な EV 制御アプリケーション用に設計されています。 - モータ制御(3相または6相モーター、Si IGBT/SiC/GaNトランジスタ) - 電力変換(DCDC、OBC) - バッテリー・マネジメントシステム(BMS)制御 - 車載制御ユニット(VCU)またはドメイン制御 特に、CoolFlux DSP は、モーター リゾルバ アプリケーション (S32K39-36) 用の FIR フィルタリング機能を実装し、SDADC からの生データを後処理し、構成されたサンプリング レートに従って最終サンプルを提供するように構築されています。 ただし、お客様は、CoolFlux DSP が次のアプリケーションでどのような役割を果たすことができるかを知りたいと考えています。 - 電力変換(DCDC、OBC) - バッテリー・マネジメントシステム(BMS)制御 - 車載制御ユニット(VCU)またはドメイン制御 また、アプリケーションで SDADC が使用されていない場合、CoolFlux DSP は他にどのような操作を実行できますか? ご協力をよろしくお願いいたします。 良い1日を! よろしくお願いします、 レオナルド クールフラックス 優先度: 高 Re: Target applications of CoolFlux DSP in S32K39-37-36 「CF」はCoolFluxの略で、 ペトル Re: Target applications of CoolFlux DSP in S32K39-37-36 フィードバックありがとうございます。 頭字語「CFSDADC」の「CF」はどういう意味ですか? Re: Target applications of CoolFlux DSP in S32K39-37-36 こんにちは、 Threadで述べたように、CoolFlux DSPの主な(そして唯一の)CASEは、モータ制御アプリケーションです。開発フェーズでは、他のユース CASE のサポートは要求されませんでした。その他の/新しいユースCASEの場合は、FW がそのまま他のユースCASEをサポートできるかどうかを確認するために分析を実行する必要があります。あるいは、何らかの変更が必要になるか、異なる機能を備えた異なるバージョンの FW が必要になる可能性があります。 2番目の質問に関して。SDADC 入力ストリームの代わりに、CFSDADC FW は DMA-WRITE バッファとクロックしきい値スケジューリング モードで動作 CAN。ただし、現時点で RTD ドライバがこれをサポートしているかどうかはわかりません。 一般に、CFSDADC FW は入力データ (SDADC または DMA-WRITE バッファ) の次のプロセッシングをサポートします。アップサンプリング、FIR フィルタリング、デシメーション、調整 (ゲインまたはオフセット)、IIR フィルタリング。 よろしくお願いします。 イインドリッヒ。
View full article
M コア pfe_master の起動に失敗しました こんにちは、NXP s32g2rdb2 ハードウェアを使用して、PFE-DRV_S32G_M7_MCAL_1.3.0 の MasterProject_RDB2 プログラムをテストしました。 DS でマスター プログラムを完全にコンパイルし、autosar_intram.gld リンク ファイルを使用して elf ファイルと bin ファイルを正常に生成しました。 Lauterbach を使用してプログラムをデバッグしたところ、main の初期化が実行されたことがわかりました (uart1 モジュールが追加され、uart が正しく出力されました)。 bin ファイル用に ivt を設定し、qpsi に書き込んで起動した後、uart1 が出力しません。どうすればよいですか? マップファイルを使用した IVT 構成は次のとおりです。 youke_0-1753252608087.png Re: M core pfe_master failed to start こんにちは、 @youke ご返信ありがとうございます。 IVT 設定の全体像を共有していただけますか? BR チェイン Re: M core pfe_master failed to start こんにちは、 リクエスト通りに変更しましたが、UARTプリントはありません youke_0-1753338282759.png Re: M core pfe_master failed to start こんにちは、 @youke ご投稿ありがとうございます。 さらにテストを行うために、RAM 開始ポインターを 0x34390000 に変更してみてはいかがでしょうか? BR チェイン
View full article
如何更改 Android 10 hdmi 端口的显示方向 您好, 我正在开发一款搭载安卓 10_2.3.0 的 i.MX8MP 定制板。我试图将 Android 图像的显示方向从横向改为纵向,因此在 .mk 中添加了以下更改文件 diff --git a/imx8m/BoardConfigCommon.mk b/imx8m/BoardConfigCommon.mk index 92197b61..2b105592 100644 --- a/imx8m/BoardConfigCommon.mk +++ b/imx8m/BoardConfigCommon.mk @ -10,7 +10,10 @@ have_fsl_imx_ipu \\ prebuilt_fsl_imx_gpu \ board_soc_type (板卡类型 product_manufacturer (产品制造商 -板载 VPU +board_vpu_only +sf_primary_display_orientation (主要显示方向 + +soong_config_imxplugin_sf_primary_display_orientation = 270 SOONG_CONFIG_IMXPLUGIN_BOARD_PLATFORM = imx8 soong_config_imxplugin_num_framebuffer_surface_buffers = 3 diff --git a/imx8m/evk_8mm/BoardConfig.mk b/imx8m/evk_8mm/BoardConfig.mk 索引 ed30f771..cd8f4c89 100644 --- a/imx8m/evk_8mm/BoardConfig.mk +++ b/imx8m/evk_8mm/BoardConfig.mk @@ -117,6 +117,8 @@ target_uses_mke2FS: = true # 定义 帧缓冲区数 num_framebuffer_surface_buffer_surface_buffer_buffer_surface_buffer_bu ffer_surface_buffer_buffer_buffer_surface_buffer_buffer_buffer_buffer_sur 当我设置 SF_PRIMARY_DISPLAY_ORIENTION: = 270 时,输出显示在 landscape_view_android_10.jpeg 当我设置 SF_PRIMARY_DISPLAY_ORIENTATION := 180 时,输出结果显示为 portrait_type_view_android_10.jpeg 但方向不对。W当我在安卓 15 中通过 $ settings put system user_rotation 3 命令时,我看到了正确的肖像视图。 correct_portrait_view.jpg 不过,该命令在 Android 11 上不起作用。 我将附上一张图片,显示我期望在 Android 10 中看到的方向 correct_portrait_view.jpg 谢谢&Regards Subash.P   Android 图形与显示 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: How to change the display Orientation in Android 10 hdmi port 你好@刘志明 使用您的补丁后,我可以在屏幕上看到一些变化,但分辨率不高。此外,当我连接鼠标时,它只能横向导航,而不能纵向导航。 此外,导航栏也不可见。 a6a427ba-b133-4e1c-9cc8-b7fe694ef852.jpg 敬上, Subash P.   Re: How to change the display Orientation in Android 10 hdmi port 您好,在 Android10 中, surfaceflinger 旋转信息不会传递到 HWC,请尝试 HAL 中的附件,并使用 "settings put system accelerometer_rotation 0/1 "进行测试。 diff --git a/display/display/Composer.cpp b/display/display/Composer.cpp old mode 100644 new mode 100755 index 8dba110..282c4f8 --- a/display/display/Composer.cpp +++ b/display/display/Composer.cpp @@ -350,11 +350,40 @@ int Composer::clearWormHole(LayerVector& layers) int Composer::composeLayer(Layer* layer, bool bypass) { + int transform; if (layer == NULL || mTarget == NULL) { ALOGE("composeLayer: invalid layer or target"); return -EINVAL; } + + /* + 0 => 4 + 4 => 3 + 3 => 7 + 7 => 0 + */ + ALOGI("liutest1 composeLayer transform:0x%x\n",layer->transform); + + switch (layer->transform) + { + case 0: + transform = 4; + break; + case 4: + transform = 3; + break; + case 3: + transform = 7; + break; + case 7: + transform = 0; + break; + + default: + ALOGI("liutest1 invalid transform:0x%x\n",layer->transform); + } + if (bypass && layer->isSolidColor()) { ALOGV("composeLayer dim layer bypassed"); return 0; @@ -392,7 +421,7 @@ int Composer::composeLayer(Layer* layer, bool bypass) continue; } - setClipping(srect, drect, clip, layer->transform); + setClipping(srect, drect, clip, /*layer->transform*/transform); ALOGV("index:%d, i:%d sourceCrop(l:%d,t:%d,r:%d,b:%d), " "visible(l:%d,t:%d,r:%d,b:%d), " "display(l:%d,t:%d,r:%d,b:%d)", layer->index, (int)i, @@ -403,8 +432,9 @@ int Composer::composeLayer(Layer* layer, bool bypass) ALOGV("zorder:0x%x, layer phys:0x%" PRIx64, layer->zorder, layer->handle->phys); } - ALOGV("transform:0x%x, blend:0x%x, alpha:0x%x", - layer->transform, layer->blendMode, layer->planeAlpha); + /*ALOGV*/ALOGI("liutest1 transform:0x%x:0x%x, blend:0x%x, alpha:0x%x", + layer->transform,transform, layer->blendMode, layer->planeAlpha); + setG2dSurface(dSurfaceX, mTarget, drect); @@ -422,7 +452,7 @@ int Composer::composeLayer(Layer* layer, bool bypass) return -EINVAL; } - convertRotation(layer->transform, sSurface, dSurface); + convertRotation(/*layer->transform*/transform, sSurface, dSurface); if (!bypass) { convertBlending(layer->blendMode, sSurface, dSurface); } 致敬, Zhiming
View full article
SPC5777C MSC(マイクロセカンドチャネル)バスドライバ こんにちは、 SPC5777C で MSC バスを使用するためのドライバ / init サンプル / アプリケーションノートはありますか? どうもありがとう、 よろしくお願いします。 Re: SPC5777C MSC (Micro Second Channel ) bus driver 過去に、マイクロ秒バスに似た構成の DSPI シリアル化をテストしました (このデバイスでは、この機能はタイムド シリアル バス TSB と呼ばれます)。 https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5746R-DSPI-serialization-S32DS-Power-2-1/ta-p/1479086 マイクロ秒バス プロトコルは SPI の追加機能で構成されます。これらを設定して前述の例に追加すると、MSC の例が得られます。 1) 内部タイマーのシリアル化 2) データ出力とクロック用のLVDS端子ペア(正と負) 3) データ形式の変更 SOUT および SCLK の場合、デバイスの RM に埋め込まれた Excel シートに従ってピンを適切に選択して構成する必要があります。 また、私はここでそれについて議論してきました: https://community.nxp.com/t5/MPC5xxx/MPC5777-DSPI-タイムドシリアルバスTSBモード/mp/1623965 私の知る限り、この構成を扱う具体的な例やアプリケーションノートは存在しません。
View full article
eIQ Curriculum Documentation eIQ Machine Learning (ML) Software Development Environment Fact Sheet eIQ Toolkit User Guide-This link takes you to the eIQ web page on nxp.com. Once there, click on the Documentation tab or scroll down to the Documentation section This training currently covers the following areas: Getting Started with eIQ Includes in depth guides on how to get started on i.MX Applications Processors and Microcontrollers FAQs eIQ
View full article
iDrive_里程碑_3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在这个里程碑中,我们通过完成移动应用程序和测试整个系统完成了该项目。 从技术上来说,我们在手机应用中添加了“跟踪”功能,可以让我们查看汽车的当前位置,并实时查看其更新的方式(实时跟踪)。此外,地图的摄像头是动画的,以便用户可以看到汽车的实际移动。 我们将设备放入汽车,连接所有组件,并确保一切按预期运行(移动应用程序、API 和设备),从而进行了最终测试。此外,还对通知系统进行了压力测试,以查看它是否能处理真实场景。 (在 “我的视频” 中查看) 2017 年 Linux 嵌入式挑战赛
View full article
编写 K32L3A MCU 闪存 IFR 字段                                      编写 K32L3A MCU 闪存 IFR 字段 简介 K32L3A60VPJ1AT MCU 是下一代 Kinetis 双核设备。该设备带来了传统 Kinetis 设备不支持 的处理和多任务处理功能。此外, K32L3A60VPJ1AT 还提供了改进的功耗和安全功能。这 些安全功能的一些重要方面在于非易失性信息寄存器(IFR)存储区域以及该区域的编程方 式。 IFR 存储器区域是与主阵列分离的具有受限访问的储器空间,并且由可擦除 IFR 区域和 不可擦除 IFR 区域组成。不可擦除的 IFR 区域包括程序的一种标识符和版本标识符。可擦 除的 IFR 区域具有闪存安全性,闪存选项,批量擦除启用以及控制设备行为的其他此类功 能。在旧版 Knietis 设备中,主闪存阵列的某些字段(闪存地址 0x400-0x40F)在引导时配 置了 IFR。但是,在 K32L3A60VPJ1AT 中,不再以这种方式控制 IFR 存储区。尝试配置这些 设置时,这会带来挑战。 本文档的目的是解释如何更改这些设置,并提供一些有关如何进 行这些更改的选项。 配置 IFR 字段的第一步是了解如何通过硬件对这些字段进行编程。使用称为“程序索引命令” 的特殊闪存命令对 IFR 字段进行编程。编程后,必须先擦除这些字段,才能重新编程闪存 配置值。擦除这些值的唯一方法是通过批量擦除。这提供了安全性,因为在不删除用户代 码的情况下也无法更改 IFR 值。此外,更改用户代码映像不会影响引导加载程序的操作, 从而确保可以执行安全的引导功能。此处描述了写入可擦除 IFR 值的过程: 1.使用程序索引命令(0x43)写入 FCCOB0。 2.用要编程的索引写入 FCCOB1.可能的索引列在“可擦除 IFR 映射”表中(K32L3A6 参考 手册中的表 16.4.1.2)。 3.将 FCCOB2 和 FCCOB3 写入 0x00,因为此命令不使用它们。 4.用所需的值写入 FCCOB4 - FCCOBB。(请注意, 并非所有索引都使用所有 FCCOB 字 段。请确保查阅 Erasable IFR Map 表,其中 FCCOB 字段用于您正在编程的索引。) 5.将 0x70 写入闪存状态寄存器(FSTAT),以清除上一个闪存命令中可能存在的任何错 误。(请注意,此命令必须是字节写操作。) 6.将 0x80 写入闪存状态寄存器(FSTAT)以启动已编程的闪存命令。 7.轮询 FSTAT 寄存器,直到 CCIF 位字段(位字段 7)为 1(‘1’)为止。(请注意, 用您 的脚本语言可能无法执行此操作,或者仅等待 flash 命令完成执行可能会更容易。在这 些情况下,等待时间比典型的 Program Index 命令完成时间 110us 长的多) 对 IFR 进行编程后,应回读 IFR 以验证其是否正确完成。其过程如下: 1.使用读取索引命令(0x41)写入 FCCOB0. 2.将 FCCOB1 写入要读取的索引。可能的索引列在“可擦写 IFR 映射“表中(K32L3A6 参 考手册中的表 16.4.1.2)。 3.用 0 写入 FCCOB2-FCCOBB。结果将存储在 FCCOB4-FCCOBB 中,因此,应清除这 些内容以确保收到正确的结果。 4.将 0x70 写入闪存状态寄存器(FSTAT),以清除上一个闪存命令中可能存在的任何 错误。注意,该命令必须是字节写入。 5.将 0x80 写入闪存状态寄存器(FSTAT)以启动已编程的闪存命令。 6.轮询 FSTAT 寄存器,直到 CCIF 位字段(位字段 7)为 1(‘1’)为止。(请注意,在您 的脚本语言中可能无法执行此操作,或者只是简单地等待 flash 命令完成执行可能会 更容易。在这些情况下,等待时间要比最长的读取索引命令完成时间 35us 长的多) 使用程序索引命令时,必须知道要修改哪个索引才能创建正确的 Flash 命令。索引列表可 以在 K32L3A60VPJ1AT 参考手册的 Flash 章节的 IFR 描述部分中找到。 有几种不同的选项可用于对 FORT 字段进行编程。这些选项是: 1.使用 Kinetis Flash 工具 2.使用 blhost 3.调试器脚本 4.用户软件中的子例程 选项#1: Kinetis Flash 工具 使用 Kinetis Flash Tool 可能是更改 IFR 值的·最方便的方法。 Kinetis 闪存工具使用 UART 或 USB 协议与 K32L3A6 引导加载程序接口并写入所需的 IFR 字段。 Kinetis Flash 工具的最大优 点之一是,它为用户提供了一个图形界面,可以轻松的对 IFR 字段进行编程。下图是 Kinetis Flash 工具的图片,并突出显示了对 IFR 字段进行编程时要使用的重要输入控件和选 项卡: nxf51434_0-1628846509415.png 1.此字段是端口集框。他选择与引导加载程序通信时要使用的接口(UART 或 USB)。此 框还允许配置接口。有关默认配置,请查阅 K32L3A6 参考手册。 2.这是“Flash 实用工具”选项卡。选择此选项卡以查看此图像中显示的控件。 3.这是索引输入字段。应在此处输入要编程的 IFR 的索引。 4.这是十六进制数字字段。该值将在“索引”字段中指示的 IFR 索引处进行编程。此处的 值应为十六进制格式,而不能包含前面的“0x”。 5.这是字节计数字段。这告诉实用程序要编程多少个字节,并且必须是该 IFR 索引的值, 请参考参考手册中的“可擦除 IFR 映射表”。 6.这是程序按钮。填写完所有字段后,单击此按钮可以对所需的 IFR 位置进行编程。 选项#2: BLOHOST MCUBoot 软件包还包括一个命令行可执行文件,可与引导加载程序交互。该工具 blhost 还 可用于对 IFR 字段进行编程。“flash-program-once”命令应用与对所需的 IFR 位置进行编程。 该命令的语法如下: flash-program-once 因此,例如, 如果要使用 0xFFFFF3FF 编程 FOPT IFR 字段(记录索引 0x84),则使用此命令 的正确语法应为 flash-program-once 0x84 4 FFFFF3FF 编程后,“一次刷新读取”命令可用于回读并验证已编程的 IFR 字段。以下是使用以前的 IFR 位置的示例 flash-read-once 0x84 4 以下是使用 blhost 擦除设备,对 FOPT IFR 进行编程以及从命令行读回 FOPT IFR 的完整示 例。 nxf51434_1-1628846614026.png 选项#3:调试器脚本 简单的调试器脚本是写入 IFR 值的另一种便捷方式。调试器脚本在调试会话启动过程的后台 执行(因此是用户的隐藏操作),通常可以使用任何文本编辑器轻松地对其进行编辑。但是, 更改值可能更麻烦,因为这通常必须由用户在每次编程时手动完成。考虑到这一点,最好为 不同的配置使用不同的连接脚本 使用调试器脚本的第一步是编写调试器脚本。调试器脚本的功能和语法取决于您的工具链。 就本文档而言,我们将重点介绍 MCUXpresso IDE。 MCUXpresso IDE 使用与调试器无关的 PokeXX 和 PeekXX 命令(其中 XX 是 8、 16 或 32,具体取决于要对所需寄存器进行字节访 问,半字访问,还是字访问)。因此,无论您使用 JLink 或 CMSIS-DAP 进行调试,还是使用 任何其他调试器,在设备上运行的相同命令将继续起作用。下面是一个 MCUXpresso 连接脚 本示例,该脚本写入 FOPT 寄存器,然后将其读回以打印到调试日志。 5140 REM ====================Program FOPT=================================== 5150 poke32 this 0x40023004 0x43840000 5160 REM Stuff FCCOB registers with desired FOPT value 5170 Poke32 this 0x40023008 v% 5171 Print “New Val “;~s% 5180 Poke32 this 0x4002300c 0x00000000 5180 Poke8 this 0x40023000 0x70 5190 Poke8 this 0x40023000 0x80 5200 wait 1000 6000 REM ================== Read FOPT ===================================== 6001 REM Now read the FOPT back 6010 Poke32 this 0x40023004 0x41840000 6020 Poke32 this 0x40023008 0x00000000 6030 Poke32 this 0x4002300c 0x00000000 6040 Poke8 this 0x40023000 0x70 6050 Poke8 this 0x40023000 0x80 6060 wait 1000 6070 s% = Peek32 this 0x40023008 6080 Print "New FOPT Val ";~s% 请注意,在上面的脚本中, v%是所需的 FOPT 值,并且它已在未显示的脚本部分中定义 (第 164 行)。 162 REM This is the value to be written to the FOPT 164 v% = 0xfffff3ff 编写脚本后,必须告知 MCUXpresso 使用连接脚本。这是在“调试配置”窗口中完成的。假设 已创建调试配置,请单击绿色错误图标旁边的箭头,然后选择“调试配置”。 nxf51434_2-1628846671441.png 在出现的对话框中,选择要使用的调试配置,然后选择“Linkserver 调试”选项卡。在“连接脚 本”字段中,将 MCUXpresso 指向连接脚本的位置。 nxf51434_3-1628846689411.png 这就是在 IDE 中需要完成的所有工作。现在,所选的调试配置应使用编写的脚本。 一些调试器将允许脚本的独立命令行运行,例如 JLink 调试器。由于 JLink 是我们遇到的最 受欢迎的外部调试器之一,因此下面提供了使用此脚本进行编程的示例。 //现在对 FOPT 进行编程 w4 0x40023004, 0x43840000 //43 选择程序索引命令。 84 选择 FOPT IFR 字段。 //用我们要写入的 FOPT 值填充 FCCOB 寄存器(4-7)。 //**(启动设置) ** w4 0x40023008, 0xfffff3ff //写入 0xFFFF_1FFF 以从内部 Flash 引导 M4。声明 NMI 引 脚将强制从 ROM 引导。 //用伪值写入 FCCOB 寄存器 8-B。 w4 0x4002300c, 0x00000000 //写入 FSTAT 寄存器以清除可能存在的任何错误。 w1 0x40023000, 0x70 //启动 flash 命令。 w1 0x40023000, 0x80 //等待 flash 命令完成。 Sleep1 //现在读回 FOPT w4 0x40023004, 0x41840000 //43 选择程序索引命令。 84 选择 FOPT IFR 字段。 //用我们要写入的 FOPT 值填充 FCCOB 寄存器(4-7)。 //**(启动设置) ** w4 0x40023008, 0x00000000 //写入 0xFFFF_F1FF 以从内部 Flash 引导 M0+。声明 NMI 引脚将强制从 ROM 引导。 //用伪值写入 FCCOB 寄存器 8-B。 w4 0x4002300c, 0x00000000 //写入 FSTAT 寄存器以清除可能存在的任何错误。 w1 0x40023000, 0x70 //启动 flash 命令。 w1 0x40023000, 0x80 //等待 flash 命令完成。 Sleep1 //读回内存以验证重置后应该显示的 FOPT 设置。 mem32 40023000, 4 选项#4: 用户软件中的子例程 有时,系统的要求将阻止实施上述任何方法来对 IFR 值进行编程。在这种情况下,您可能需 要实现自己的子例程来对 IFR 进行编程。这样做的过程与调试器脚本方法基本相同,只是用 代码而不是外部脚本编写。要记住的一个关键是您可能需要擦除整个闪存。因此,此子例程 应放在 RAM 内存中。由于正在执行闪存操作,因此将其置于 RAM 中将防止发生某些闪存 错误。 结论 总之, IFR 寄存器是非易失性信息寄存器,用于控制 K32L3A MCU 的某些行为。 IFR 分为可 擦除 IFR 空间和不可擦除 IFR 空间,它们都不是主闪存阵列的一部分。对这些值进行编程需 要使用特殊的闪存命令,并且要求自上次批量擦除以来尚未写入这些值。通常,有四种不同 的编程 FOPT 寄存器设置的方法。四种方法是: 1.Kinetis Flash 工具 2.BLHost 命令行界面 3.调试器脚本 4.用户软件子程序 每种方法都有其优点,因此,您应该选择一种满足您需求并且最方便的方法。但是,无论选 择哪种方法,在写入可擦除 IFR 字段之前都不能对 IFR 值进行编程。在尝试对任何 IFR 字段 进行编辑之前,最好执行批量擦除(可以使用本文档中介绍的任何方法进行擦除)。 Technologies
View full article
RT1020 BSP for RT-Thread RTOS        该软件包为RT-Thread RTOS配套的BSP板级支持包,默认支持官方开发板MIMXRT1020-EVK,用户可以针对该BSP移植到自己的prototype上面,当前RT1020_EVK板级包在RT-Thread v3.1.3版本编译通过并运行测试成功。使用时,需要将附件源码解压后拷贝到\rt-thread\bsp\imxrt路径下。 Products Product Category NXP Part Number URL MCU MIMXRT1021 i.MX RT1020 Crossover MCU with Arm® Cortex®-M7 core    Tools NXP Development Board URL i.MX RT1020 Evaluation Kit MIMXRT1020-EVK: i.MX RT1020 Evaluation Kit  SDK SDK Version URL RT-Thread_v3.1.3 https://github.com/RT-Thread/rt-thread/tree/v3.1.3  SDK_v2.6.1 mcuxpresso.nxp.com Industrial
View full article
Using TWR-SER2 with TWR-K70F120M for Ethernet TWR-K70F120M running MQX and RTCS can work with the Dual Phy on TWR-SER2. Below I list the modifications I did to the default BSP: 1) I add phy_dp83xxx.c and phy_dp83xxx.h to the bsp_twrk70f120m build project. These files are with MQX in /mqx/source/io/enet/Phy 2) I modify the BSP to use DP83xxx PHY for the Ethernet MACNET: in the /mqx/source/bsp/twrk70f120m/init_enet.c: #include "phy_dp83xxx.h" const ENET_IF_STRUCT ENET_0 = {      &MACNET_IF,      //&phy_ksz8041_IF,      &phy_dp83xxx_IF,      MACNET_DEVICE_0,      MACNET_DEVICE_0,      BSP_ENET0_PHY_ADDR,      BSP_ENET0_PHY_MII_SPEED }; 3) MDIO line requires an external pull up resistor, per DP83849I Data sheet. As I didn't have one at the moment, I enable internal pull up on MCU pin PTB0. in the /mqx/source/bsp/twrk70f120m/init_gpio.c: //pctl->PCR[0] = PORT_PCR_MUX(4) | PORT_PCR_ODE_MASK; /* PTB0, RMII0_MDIO/MII0_MDIO   */ /* PTB0, RMII0_MDIO/MII0_MDIO   */ /* internal pull up enabled on MDIO */ pctl->PCR[0] = PORT_PCR_MUX(4) | PORT_PCR_ODE_MASK | PORT_PCR_PE_MASK | PORT_PCR_PS_MASK; With these changes, the RTCS applications work over TWR-SER2 Dual PHY channel A. On TWR-SER2, J8 and J9 are un-shunted, SW1 = 11000000, SW2 = 10100000 on TWR-K70F120M, J18 is configured to disable 50 MHz OSC, as I use 50 MHz clock source from TWR-SER2 U504 50 MHz output. This clock is used to provide reference clock for the MCU (EXTAL), as well as for the Dual PHY X1 input (RMII reference clock). Real-Time TCPIP Communications Suite Re: Using TWR-SER2 with TWR-K70F120M for Ethernet Hi Hafiz, I have successfully used TWR-SER and TWR-SER2 cards with MQX4.1 Ethernet applications for the TWR-K70F120M independently (i.e. only using one tower serial card at a time and not using both cards simultaneously). Both TWR-SER and TWR-SER2 are running RMII and using the clock source from the respective TWR-SER(2) card to clock both the Ethernet PHY and the MCU which synchronizes the clock domains. I can just swap the cards and run the same application code. Note that when using the TWR-SER2 card I am only using one of the Ethernet ports ETH_A/J12. Regards, David Re: Using TWR-SER2 with TWR-K70F120M for Ethernet Hi I had made it work on BSP for TWR-K53N512, besides jumper settings listed above, I just applied changes mentioned in step 3. Thanks and Best Regards, Kan Re: Using TWR-SER2 with TWR-K70F120M for Ethernet Hi I had successfully run my Ethernet Driver on TWR-SER board for TWR-K70F120M but not working on TWR-SER2. 1. Is Ethernet Device in Single/Dual RMII mode is supported on TWR-SER2 board for TWR-K70F120M?  According to this link, (Line: 241) it is not supported? 2. If supported, then is there any change in signal settings like (MDC, MDIO, CRS_DV, RXDn, RXErr, TXDn, TXEN and RMII_REF_CLK) as compared to TWR-SER board? Regards
View full article
Troubleshooting: Quick Fix Option in Problems View Quick Fix is a feature of the Java editor in Eclipse which enables a user to resolve problems found in the Java code of their project. This feature is available to be used within S32 Design Studio for some problems. Such problems will be identified with the 'light bulb' icon in the description field, as shown below: For example, such problems sometimes occur when importing a project created in a previous version of S32 Design Studio, are provided from another user, or some files in a project have become corrupted. To resolve issues identified with the 'light bulb' icon, right-click on the problem and from the pop-up menu, select 'Quick Fix'.  The Quick Fix menu will appear, providing the available solutions for the problem. In most cases, there will be just one solution. Click finish to implement the fix. In some cases, more information will be required from the user to complete the fix. Complete the form to provide the additional information, then click OK. Now the problem should be resolved. Eclipse IDE Usage and Settings General Re: Troubleshooting: Quick Fix Option in Problems View Thanks for the sharing! The warning of the type "S32 project version problem" and "The hardware settings required for project" can be fixed by referring to this article.
View full article
TSN(Time-Sensitive Networking)とイーサネットによる車載ネットワークの構築 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このプレゼンテーションでは、主要なTSN(Time-Sensitive Networking)規格と、それらが自動車の要件とどのように関連しているかについて説明します。関連するIEEE® 802.1 TSN規格の概要と、これらを自動車環境で適用および使用する方法の例を示します。このセッションの終わりまでに、参加者はネットワークのユースケースに基づいて必要な機能を理解し、選択できるようになります。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このプレゼンテーションでは、主要なTSN(Time-Sensitive Networking)規格と、それらが自動車の要件とどのように関連しているかについて説明します。関連するIEEE® 802.1 TSN規格の概要と、これらを自動車環境で適用および使用する方法の例を示します。このセッションの終わりまでに、参加者はネットワークのユースケースに基づいて必要な機能を理解し、選択できるようになります。
View full article
FTF-MHW-N1923 超小型单芯片 Qi 低功耗无线发射器 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无需插入充电线即可为智能手机充电,增加了便利性,并可在公共场所进行移动充电。第一代无线充电器由 100 多个组件组成,价格过于昂贵,无法被大众市场采用。NXQ1TXH5 是一款单芯片 Qi 低功耗无线充电发射器,集成了 Qi 无线充电器的所有数字、模拟和电源功能。高集成度使得元件数量非常少,并且易于设计无线充电器。这也将无线充电器的成本降低了 3 倍。NXQ1TXH5 是一个真正的数字即插即用平台,无需外部模拟设计工作。您所需要的只是一块 2 层 PCB,其顶层具有信号和电源布线,底层采用全铜以实现热性能。在输入端连接电源和去耦器,在输出端连接 LC 电路以将电力传输到接收器,您的无线充电器就可以使用了! 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无需插入充电线即可为智能手机充电,增加了便利性,并可在公共场所进行移动充电。第一代无线充电器由 100 多个组件组成,价格过于昂贵,无法被大众市场采用。NXQ1TXH5 是一款单芯片 Qi 低功耗无线充电发射器,集成了 Qi 无线充电器的所有数字、模拟和电源功能。高集成度使得元件数量非常少,并且易于设计无线充电器。这也将无线充电器的成本降低了 3 倍。NXQ1TXH5 是一个真正的数字即插即用平台,无需外部模拟设计工作。您所需要的只是一块 2 层 PCB,其顶层具有信号和电源布线,底层采用全铜以实现热性能。在输入端连接电源和去耦器,在输出端连接 LC 电路以将电力传输到接收器,您的无线充电器就可以使用了! 观看视频演示 安全移动 | 医疗保健和可穿戴设备
View full article
AMF-AUT-T2348 - NXP 音频视频桥接 (AVB) 堆栈 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 由于车辆不同端点之间的媒体、通信和 ADAS 流增加,以太网在新 OEM 平台中的应用正在加速。所需的服务质量和同步通常是通过实施音频视频桥接 (AVB) 规范或 AVB 的衍生产品来实现的。NXP 在市场上占据着独特的地位,因为我们有能力为汽车中的 AVB 提供完整的解决方案,包括端点(MPU 和 MCU)、PHY、交换机以及所需的软件堆栈。此外,软件堆栈功能齐全,包括关键但经常被遗忘的组件,例如媒体时钟恢复。了解 AVB 技术的基础知识,以及 NXP 如何帮助您在产品中部署 AVB。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 由于车辆不同端点之间的媒体、通信和 ADAS 流增加,以太网在新 OEM 平台中的应用正在加速。所需的服务质量和同步通常是通过实施音频视频桥接 (AVB) 规范或 AVB 的衍生产品来实现的。NXP 在市场上占据着独特的地位,因为我们有能力为汽车中的 AVB 提供完整的解决方案,包括端点(MPU 和 MCU)、PHY、交换机以及所需的软件堆栈。此外,软件堆栈功能齐全,包括关键但经常被遗忘的组件,例如媒体时钟恢复。了解 AVB 技术的基础知识,以及 NXP 如何帮助您在产品中部署 AVB。
View full article