Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
无法理解这一点 RM 我不太理解 RT1060 参考手册第 3 版中关于 LPSPI FRAMESZ 的描述(见截图)。 因此,之前它说 LPSPI 字长是 32 位,而我没有看到它的任何配置,那么它怎么会说最小字长是 2 位呢? 声明不支持 33 位的帧大小 - 是否只是这个值,33 位,某种程度上是特殊的,或者任何其他 (n * wordsize) + 1 也是(fe65 或 97 帧大小?) 提前致谢! i.MXRT 106x 回复:无法理解 RM 的这个部分 嗨,是的,现在这是有意义的 - 所以它是不完整单词的最小单词大小,它是框架中的最后一个单词。我相信如果你在这个或其他 RM 中有这个声明,最好用不同的词语来表达它,这样更容易理解 多谢! 回复:无法理解 RM 的这个部分 哈哈哈,笑话!欢迎来到现代“文献”的奇妙世界,您的选择要么是“缺失/不完整”,要么是“写得太糟糕以至于几乎无法理解”。 天哪,我多么怀念摩托罗拉时代的文档。从那时起,一切都开始走下坡路。
記事全体を表示
DAC0 に関するLPC5536JBD100の質問 ご列席の皆様、 DAC0を外部リファレンス(Pin15で3V)でセットアップし、バッファモード、クロックはFRO1MHzを8で割った値です。 DAC0データを約0x700より小さく設定すると、出力は浮かぶようにノイズだけになります。 データが0x700と0xFFFの間にある場合、出力は具体的な電圧で、ノイズがなく、浮きません。 この理由は何でしょうか? さらに、DAC0出力の電圧範囲はどれくらいですか?0Vからリファレンスまで行かないようにしましょうか?私の場合は3Vです。私の経験では、DAC0 DATA = 0xFFFの場合、DAC0からの出力電圧はわずか1.35Vです。出力電圧を半分にする設定が見つかりませんが、その理由は何でしょうか? DAC0(ピン31)の出力に負荷はありません。 日時:DAC0の質問LPC5536JBD100 解決した問題: リファレンスマニュアル48.1.4章には書かれていませんが(DAC Chip-specific initialization)では、バッファも有効にする必要があります。 DAC0 -> GCR |= BUF_SPD_CTRL ; バッファ ・オペアンプ 低消費電力モード、ビット23 DAC0 -> GCR |= BUF_EN ; イネーブル ・オペアンプ ・バッファ、ビット17 これで、DACは0からVrefまで上昇し、出力は具体的な電圧に駆動され、フロートすることはありません。 48.1.4章を完了するのが現実的でしょう必要な「バッファイネーブル」を使用します。
記事全体を表示
88W8987 GPIO制御 こんにちは。 私は88W8987 + i.MX RTで作業しています。私はいくつかのGPIOを制御する必要がありますが、Wi-FiやBluetoothのドキュメントでも、それを行うために必要なコマンドを見つけることができませんでした。これはどのように行うことができますか? この質問をするのは、製造段階でBluetooth、特にPCMピンをテストする必要があるためです。私がすでに作業したBluetoothコントローラーの中には、PCMにループバック機能があり、これに便利なものがありますが、88W8987にはこの機能がないと思います。 ご清聴ありがとうございました。 よろしくお願いいたします J.V.メロ。
記事全体を表示
S32G PCIe EP が故障 こんにちは、私はS32G3を使用してBSP39に基づいて開発しており、PCIEをepモードとして構成したいと思います。pci-epf-testドライバーとpcitestを変更した後、通常のデータ転送は正常ですが、DMAモードではエラーが発生します。ep の設定は次のとおりです--- a/arch/arm64/configs/s32cc_defconfig +++ b/arch/arm64/configs/s32cc_defconfig @@ -87,6 +87,11 @@ CONFIG_PCI_S32CC=y CONFIG_PCIE_DW_PLAT_HOST=y CONFIG_PCIE_DW_PLAT_EP=y CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_S32CC_DEBUG=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +CONFIG_PCI_EPF_TEST=y +CONFIG_PCI_S32CC_EP_MSI=y CONFIG_PCI_DW_DMA CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y システムコマンド cd /sys/kernel/config/pci_ep/ mkdir functions/pci_epf_test/func1 echo 0x1957 > functions/pci_epf_test/func1/vendorid echo 0x4300 > functions/pci_epf_test/func1/deviceid echo 8 > functions/pci_epf_test/func1/msi_interrupts echo 16 > functions/pci_epf_test/func1/msix_interrupts ln -s functions/pci_epf_test/func1/ controllers/40400000.pcie/ echo 1 > controllers/40400000.pcie/start dmesg |tail -20 dmesg エラーは次のとおりです [ 34.738272] pci_epf_test pci_epf_test.0:設定テスト BAR0 [ 34.738293] s32cc-pcie 40400000.pcie:func:0: BAR0の設定: size=1048576F [ 34.738317] s32cc-pcie 40400000.pcie:func:0: BAR2の設定: size=4194304F [ 34.738334] s32cc-pcie 40400000.pcie:func:0: BAR3の設定: size=65536 bF [ 34.738351] s32cc-pcie 40400000.pcie:func:0: BAR4 の設定: size=256 bytF [ 34.738368] pci_epf_test pci_epf_test.0:MSI-Xの構成[ 34.738385] pci_epf_test pci_epf_test.0:DMA チャネルの取得に失敗しました RC テストで pcitest-S-r-s 1024 を実行すると、ep システムがクラッシュします
記事全体を表示
電源サイクル時の IPCF-(S32k358) 初期化に関する問題 (デュアルコア セットアップ) 電源サイクル時の IPCF 初期化に関する問題 (デュアルコア セットアップ) 2つのコア間でメモリを共有するためにIPCFを使用しています。基本的な検証のために、以下の2つの機能を実行しています。 コア0 :LED点滅 コア2 : eMIOSによるPWM生成 両方のコアはIPCFを正しく実行するように設定されています。システムをデバッグモードで実行すると、LEDの点滅とPWMはどちらも正常に動作し、すべてが期待通りに動作します。しかし、電源を入れ直す(ボードの電源をオフ/オンする)と、何も実行されず、LEDの点滅もPWMも動作しません。 これまで試してみたことは次のとおりです。 IPCF 初期化中の競合状態を回避するために、Core 2 に遅延を追加しました。 IPCF なしでシステムをテストしました。IPCF を削除した後、電源を入れ直した後やデバッグ モードでもすべて正常に動作します。これにより、IPCF が問題に関連していることが確認されます。 問題を次の行に絞り込みました: ipc_shm_init(&ipcf_shm_instances_cfg); この関数呼び出しの後に配置されたものは、電源サイクルでは実行されません。 残留データが問題の原因である可能性があると疑い、使用前に共有メモリをクリアしようとしました。ただし、メモリのクリアを組み込むと、電源投入後にシステムが再び動作しなくなります (ただし、デバッグ モードでは引き続き動作します)。 共有メモリをクリアする方法は次のとおりです。 #IPCF_LOCAL_MEM_ADDR ((void *)0x20480000U) を定義します。 #IPCF_REMOTE_MEM_ADDR ((void *)0x20482000U) を定義します。 #IPCF_MEM_SIZE (0x2000U) を定義します void clear_ipcf_shared_memory(void) { メモリセット(IPCF_LOCAL_MEM_ADDR, 0, IPCF_MEM_SIZE); メモリセット(IPCF_REMOTE_MEM_ADDR, 0, IPCF_MEM_SIZE); } この問題の解決にご協力いただけませんか?参考までに、作業中のプロジェクトファイルも共有しました。 よろしくお願いします。 ガネーシュ・バグワット Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは、ダニエル。 ご指導ありがとうございます。さらに調査を進めると、 startup_cm7.sファイルには共有メモリを初期化するためのセクションが含まれていますが、 #if defined(MULTIPLE_CORE) && defined(MULTIPLE_IMAGE)の下で条件付きでコンパイルされます。これらの定義を含むようにアセンブラ プリプロセッサを更新することで、問題を解決でき、電源を入れ直した後でも IPCF 初期化が正しく機能するようになりました。参考までに添付画像をご覧ください。 ご協力ありがとうございます! よろしくお願いします、 ガネーシュ・バグワット Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは@GaneshBhagwatさん、 SRAM ECC のドキュメントについては、S32K3xx リファレンス マニュアルとこの AN13388 のみがあります: https://www.nxp.com/webapp/Download?colCode=AN13388 ただし、任意の RTD サンプル プロジェクトを参照することはCAN。 SRAM ECC は起動コードで初期化されます。 danielmartynek_0-1752577890061.png よろしくお願いいたします。 ダニエル NXPが提供するあらゆるサポート、情報、テクノロジー(以下「資料」)は、明示的または黙示的を問わず、いかなる保証もなく現状のまま提供され、NXPは、適用法で認められる最大限の範囲において、資料に関連する直接的および間接的な責任および損害を一切否認します。NXPは、アプリケーションまたは製品設計に関するいかなる支援についても責任を負いません。資料は、NXP製品に関連してのみ使用できます。資料に関してNXPに提供されたフィードバックは、NXPにより制限なく使用できます。 Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) スタートアップ コードで ECC 初期化を正しく実装する方法に関する詳細なドキュメントや例がどこで見つかるか教えてください。 また、ECC 関連の問題以外に、電源サイクル後に同様の HardFaults を引き起こす可能性のある他の一般的な原因はありますか? Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは、ダニエル。 迅速なご対応に改めて感謝申し上げます。 参考までに、メモリ ビューのスクリーンショットを添付しました。1 つはデバッガーの起動直後に撮影したもので、もう 1 つは HardFault が発生したときに電源を入れ直した後にキャプチャしたものです。アドレス 0x20482008 には ?? が表示されませんが、この場所の値はデバッガー セッションと電源サイクル後とで異なることに気付きました。 今後とも変わらぬサポートを賜りますようお願い申し上げます。 よろしくお願いします、 ガネーシュ・バグワット Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは@GaneshBhagwatさん、 この問題は初期化されていない SRAM ECC によって発生している可能性があります。 通常、SRAM ECC はデバッガーによって初期化されます。デバッガーを使用しない場合、アプリケーションは起動コードで ECC 初期化を処理する必要があります。これを行わないと、初期化されていないメモリにアクセスするときに ECC エラーが発生する可能性があります。 これを確認するには、メモリ ビューでアドレス 0x20482008 (正確なバス エラーの BFAR 値) のメモリをチェックしてみてください。その住所に?? が見えますか? SO、初期化されていないメモリによる ECC 障害を示している可能性があります。 よろしくお願いいたします。 ダニエル Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは、ダニエル。 迅速なご対応ありがとうございます。 ご提案通り再度確認しました。リセットせずにデバッガーを再接続すると、コードは関数 void clear_ipcf_shared_memory(void) 内でHardFaultになります。 ただし、clear_ipcf_shared_memory() の呼び出しをコメント アウトすると、今度は ipc_shm_init() 内でHardFaultが発生します。 参考までに、両方の HardFault シナリオのスクリーンショットを添付しました。 これらの障害の原因を理解し、問題を解決する方法を教えていただけますか? よろしくお願いします、 ガネーシュ・バグワット Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) こんにちは@GaneshBhagwatさん、 デバッガーを (リセットせずに) 再度アタッチすると、ipc_shm_init() 内のルックでスタックしますか、それとも障害例外がありますか? Re: Issue with IPCF-(S32k358) Initialization on Power Cycle (Dual-Core Setup) また、次のように IPCF で構成されたアドレスで memset を使用して共有メモリをクリアすることも試みました。 memset((void *)ipcf_shm_instances_cfg.shm_cfg[0].local_shm_addr,0、(size_t)ipcf_shm_instances_cfg.shm_cfg[0].shm_size); memset((void *)ipcf_shm_instances_cfg.shm_cfg[0].remote_shm_addr,0、(size_t)ipcf_shm_instances_cfg.shm_cfg[0].shm_size); しかし残念ながら、それでも問題は解決しませんでした。
記事全体を表示
EBtresos 激活码 您好, 我试图在 AUTOSAR 中使用 EBtresos,但未能激活。 激活代码 :B25C-AEB-4319-BAB1 ERROR: flxActAppActivationSend (50040,41147,10248) 指定的数量超过允许的最大数量 (0)。 与 FlexNet Operations Server 的连接失败。 因此,我需要另一个激活代码才能使用 EBtresos。 谢谢! Re: EBtresos activate code 不便之处,敬请原谅。 激活码已更新,请点击S32K3 标准软件-> Automotive SW - EB tresos Studio / AUTOSAR 配置工具 -> EB tresos Studio 29.0.0 Re: EBtresos activate code 您好, 单击 "升级 " 按钮。 KyrieLeng_1-1752732856208.png Re: EBtresos activate code 很抱歉,最近几天有几位客户报告了这个问题,称激活代码 :B25C-AEBB-4319-BAB1 不可用。 我的同事还没有回复我,所以请暂时点击 "升级"按钮。 Re: EBtresos activate code 我也有同样的问题 Re: EBtresos activate code HI 我暂时无法使用这个激活码:B25C-AEBB-4319-BAB1 我已经向我的同事报告了这个问题。 您还有其他 2025 年到期的激活码吗? 如果您使用的激活码将于 2025 年到期,那么请 点击 EB 客户端许可证管理员中的 "升级 "按钮来延长有效期。 hit the UPGRADE button in the EB Client License Administrator to extend the expiration date.png 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: EBtresos activate code 我也遇到了同样的问题,没有其他许可证可以升级。 激活 NodeLocked 许可证 B25C-AEBB-4319-BAB1,许可证数量:1 Status:4, 创建请求 状态:5,已创建请求 状态:6、创建上下文 状态:7,已连接远程服务器 状态:8,请求已发送 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:10,等待回复 状态:9,正在轮询响应 状态:11,已完成 ERROR: flxActAppActivationSend (50040,41147,10248) 指定的数量超过允许的最大数量 (0)。 与 FlexNet Operations Server 的连接失败 Re: EBtresos activate code 您好: 我遇到了同样的问题,请帮助解决我的问题! Re: EBtresos activate code 以下是Flexnet Help 的答复: 现在,我们的团队正在更新系统中的激活码信息。在此之前,请使用下面提供的新激活代码: F5CF-8A53-B979-CD50 回复: EBtresos activate code 这个activation code免费评估的用户数量超过上限了,我已经报告给 Flexnet Help 了。 回复: EBtresos activate code 问题解决了吗?咋解决的 回复: EBtresos activate code 你好、 那可以提供一个新的激活码吗?
記事全体を表示
GDB56300 ソース - DSP56725 の使用例のドキュメントとして 私は、Once / JTAG 経由でデバッグを実装するために必要な手順に関するガイダンスを探しています。BSDL / JTAG ロジックはすべて事前に存在します。具体的には、基本的なデバッガー機能のコード例: 連絡先の保存/復元、DSP レジスタ/メモリのピーク/ポーク (AN1839 / AN2074 を読みました)、例: GDB56300 ソース。 コンテキストとして、私は DSP56301 ボードを所有しており、これは TCK/TMS/TDI/TDO 上の FTDI2232H と JTAG 通信するのに適しており、DSP56725 で再ホストできるソフトウェアのバック カタログも所有しています。 https://openocd-devel.narkive.com/2LMHqcDx/opment-moin-my-dsp563-plansソースが GPL でありリリース可能であることを示します。 マーティン Re: GDB56300 Source - as documentation for DSP56725 once usage こんにちは、@julie856batson さん。あなたが AI ボットでないなら、あなたの観察に感謝します。 以前私が述べたように、このThreadはこれで終了となります。 - 現在のOpenOCDソースには56300のサポートファイルが含まれているため、多少わかりにくいものの利用可能です。 - JTAG / Once / DSP56300インターフェースの最良のドキュメントは、DSP56300FM、ファミリマニュアル、Ch 10と11にあります。 そして、JTAG / Once / 56300 データ パスをテストするための概念実証実験を正常に実行しました。基本的なデバッグ機能は XFU のままです。 よろしくお願いいたします。 マーティン Re: GDB56300 Source - as documentation for DSP56725 once usage こんにちは@mjd_bishop 、 OnCE 経由の DSP56301 JTAG デバッグの場合は、AN1839 と AN2074 をベースとして使用します。これらの資料では、デバッグ モードの開始、パイプライン状態の保存、JTAG 経由のメモリへのアクセスについて詳細に説明しています。FTDI2232H は JTAG エミュレーション用の MPSSE と連携して動作します。ピーク/ポークおよびコンテキストの保存/復元については、GDB56300 ソース(存在する場合)を参照してください。ただし、NXP はこれを公式に配布していません。GitHub でコミュニティ フォークを見つけたり、リンクした OpenOCD Thread のお問い合わせをすることもできます。 よろしくお願いします、 ジュリー・バトソン Re: GDB56300 Source - as documentation for DSP56725 once usage こんにちは@mjd_bishop 、 ご投稿ありがとうございます。 DSP56301 は非常に古い製品なので、役立つドキュメントをいくつか見つけられるように最善を尽くします。 DSP56301ADM ユーザーマニュアルが添付されています。 main · jmamma/dsp56k · GitHub の dsp56k/README.mdもCAN。 GDB56300 のソースに関しては、率直に言って、TIC はソース コードを誰かに配布する適切なチャネルではありません。なぜなら、私たちは gdb56300 のソース コードを所有しておらず、それを配布する権利も、NXP IP または著作権を保護するための契約に署名する権利も持っていないからです。 または、GitHub や他のフォーラムで関連情報を見つけるCAN。ポスター作成者にお問い合わせして、提供できるかどうかを確認してください。 ご不便をおかけして申し訳ございません。 [Openocd-development] Moin / 私のDSP563計画 Symphony Studio IDE は DSP56321 をサポートしていますか? - NXPコミュニティ よろしくお願いいたします。 セレステ
記事全体を表示
关于 i.MX 93 的 Windows 10/11 物联网企业版 - bootcmd 嗨,朋友们、 有人知道吗,如何为 i.MX93 配置正确的 bootcmd 以允许它从 U-Boot 正确启动,然后从 ARM 上的 Windows 启动? 在过去的时间里,我们在 defconfig 中对 i.MX 8 Series bootcmd 进行了如下配置: CONFIG_BOOTCOMMAND="fatload mmc${mmcdev}:${mmcpart} ${loadaddr} /uefi.fit;bootm${loadaddr} ;" 因为当我们版本 i.MX 8 固件,例如 i.MX 8M Plus 时,在 ~/win10-iot-bsp/imx-MKIMAGE/IMXImage/ IMX8M 中,你可以找到:imx8mp-evk.dtb,您还可以检查 soc.mak它将处理 imx8mp-evk.dtb并将其合并为最终固件文件。 但 i.MX93 文件夹结构相同、 soc.mak并没有做同样的事情。它不会在路径中创建 imx93-11x11-evk.dtb:~/win10-iot-bsp/imx-mkimage/imx-mkimage/IMX 9。 因此,如果我们按照同样的方式在 defconfig 中配置 CONFIG_启动 COMMAND,i.MX 8 系列的 U-Boot 程序将不一样,它不会进入 microSD WinPE(efi/boot/bootaa64.efi),它将继续重启。 有人知道如何正确操作吗?我们无法在 i.MX Windows IoT 用户指南、快速入门指南......中找到相关信息。 谢谢你们的帮助! 祝您有美好的一天 亚历克斯-张 参考。 适用于 i.MX 应用处理器的 Windows 10/11 物联网企业版 Windows Windows 10 物联网企业版 Re: About Windows 10/11 IoT Enterprise for i.MX 93 - bootcmd 关于 Windows I0/11 IOT,我建议您 与 [email protected] 的 IOT 团队联系。 看看他们是否有这方面的信息。 Re: About Windows 10/11 IoT Enterprise for i.MX 93 - bootcmd 嗨,朋友们、 我们尝试对imx93_11x11_evk_nt_deconfig CONFIG_BOOTCOMMAND进行如下配置: mmc dev 1;如果 mmc 重新扫描;那么 fatload mmc 1:2 ${kernel_addr_r} EFI/启动/bootaa64.efi && fatload mmc 1:2 ${fdt_addr_r} dtb/imx93-11x11-evk.dtb && fdt addr ${fdt_addr_r} && fdt header && bootefi ${kernel_addr_r} ${fdt_addr_r}; fi 在重新编译固件并将其闪存到 microSD 卡并将其放入 i.MX 93 EVK 后,我们的 PuTTY 消息如下: 剧透 (高亮部分可供阅读) U-启动 2023.04-g93957155-dirty(Aug 08 2025 - 09:59:05 +0800) CPU:i.MX93 (52) rev1.1 1700 MHz(运行频率为 1692 MHz) CPU:30 摄氏度的工业温度等级(-40 摄氏度至 105C) 型号:恩智浦 i.MX93 11X11 EVK 板 动态随机存取存储器(DRAM):2 GiB 内 核:218 个设备,30 个 u 类,设备树:独立的 MMC:FSL_SDHC:0,FSL_SDHC:1 来自 MMC 的加载环境... 好吧 ... 输入:串行 输出:串行 错误:串行 BuildInfo: - ELE 固件版本 0.1.0-e943c57c 切换到分区 #0,OK mmc1 是当前设备 闪存目标是 MMC:1 Fastboot:正常 正常启动 按任意键停止自动启动:0 切 换到分区 #0,OK mmc1 是当前设备 1 303 毫秒 (1.9 MiB/s) 读取 50392 字节在 7 毫秒 (6.9 MiB/s) 内 工作 FDT 设置为 83000000 魔法:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:xc4d8 ( 50392) off_dt_struct:0x38 off_dt_strings:0xb5f8 off_mem_rsvmap:0x28 版本:17 last_comp_version:16 boot_cpuid_phys:0x0 size_dt_strings:0 xedb size_dt_struct:0xb5c0 数字 mem_rsv:0x0 正在启动 /EFI\启动\bootaa64.efi BlinitializeLibrary 失败 0xc0000225 ## 应用程序 失败,r = 14 启动= > U-启动 2023.04-g93957155-dirty(2025 年 8 月 8 日-09:59:05 +0800)CPU:i.MX93 (52) rev1.1 1700 MHz(以 1692 MHz 运行)CPU:30摄氏度的工业温度等级(-40摄氏度至 105摄氏度)型号:恩智浦 i.MX93 11X11 EVK BoardDRAM:2 GibCore:218 个设备,30 个 u 类,设备树:separateMMC:FSL_SDHC:0,FSL_SDHC:0,FBoardDRAM:2 GibCore:30 个设备,30 个 u 类,设备树:SeparateMMC SL_SDHC: 1正在从 MMC 加载环境...好的... 输入:SerialOut:SerialErr:SerialBuildInfo:-ELE 固件版本 0.1.0-e943c57cswitch到分区 #0,OKMMC1 是当前设备闪存的目标是 mmc: 1FastBoot:normalNormal 启动按任意键停止自动启动:0 切换到分区 #0,okmmc1 是当前设备在 1303 毫秒 (1.9 MiB/s) 内读取 50392 字节 (6.9 MiB/s) 工作 FDT 设置为 83000000magic:0xd00dfeedtotaltalmcmic:0xd00dfeedtotaltalmc1 大小:0xc4d8 (50392) off_dt_struct:0x38off_dt_strings:0xb5f8f8off_mem_rsvmap:0x28版本:17last_comp_versize:16boot_cpuid_phys:0xedbsize_dt_struct:0xb5c0number mem_rsvt:0xb5c0number mem_rsvt v: 0x0启动 /EFI\ Boot\ boot\ bootaa64.efiblinitializeLibrary 初始化库失败 0xc0000225## 启动失败,r = 14u-boot= > 我们曾尝试从 microSD\ WinPE\ boot.wim 中删除 Lanage P ackage 以缩小尺寸。(从 2.X GB 到 347 MB) 但是 i.MX 93 仍然无法启动。 有人有解决这个问题的经验吗? 谢谢您! 亚历克斯-张
記事全体を表示
S32K144 で自動 CAN バスオフ回復を無効にするにはどうすればいいですか? こんにちは、みんな! S32K144CAN バスオフをオフにした後、自動回復を無効にするにはどうすればよいですか? バスオフをオフにした後、手動で回復する必要があります。 Re: S32K144 怎么关闭CAN busoff自动恢复? こんにちは@pidcy このバージョンにはチェックするオプションがありません。チェックするオプションは S32 DS V3.X バージョンに用意されています。 レジスタに直接書き込むことで、BOFFREC をオフにすることができます。 Re: S32K144 怎么关闭CAN busoff自动恢复? 私は IDE バージョン 2.2 を使用していますが、使用しているバージョンは何ですか? Re: S32K144 怎么关闭CAN busoff自动恢复? こんにちは@pidcy 私の IDE はすべて、自動回復を有効または無効にするオプションを提供しています。また、レジスタ操作を通じて直接自動回復を無効にすることもできます。 例: CAN0 -> CTRL1 |= 0x40 ;//BOFFREC = 1
記事全体を表示
tlbwe 指令(e200z7)的同步要求 你好 启动 MPC5777C 时,我在理解 tlbwe 指令的同步要求时遇到了一些困难。从 EREF_RM 表 4-3 中,我(认为我)理解了这一点: 为了同步数据访问,我们必须在 tlbwe 之前使用一条 CSI 指令,在 tlbwe 之后使用另一条 CSI 指令。注 5 显示了在 tlbwe 之后可能需要额外 msync 的情况。 要实现指令取回/执行同步,只需在 tlbwe 之后执行 CSI 指令。注 2 显示了在 tlbwe 之后可能需要额外 msync 的情况。 AN5191 显示的示例中,除了运行 MMU 配置本身的 TLB 页面外,没有执行任何同步。在这种情况下,msync 在 tlbwe 之前执行,isync 在 tlbwe 之后执行。我的问题是 - 什么时候可以确定 tlbwe 不需要 CSI 指令? - 在 AN5191 示例中,se_isync 是否可以用任何其他 CSI 指令代替? - 在 AN5191 示例中,为什么在 tlbwe 之前插入 msync?这是否等同于描述在 tlbwe 之后可能需要额外 msync 的 EREF 注释? - EREF_RM 表 4-41 将 msync 描述为执行指令和内存同步。为什么在 msync 之后需要 CSI 指令? 谢谢! 里卡多 Re: Synchronization requirements for tlbwe instruction (e200z7) 最新版本可从我们的网站下载: davidtosenovjan_0-1756722291456.png 然而,msync、tlbwe、isync 等序列都是行之有效、广泛使用的序列。 根据《EREFrequirements》,isync 似乎可以放在 tlbwe 之前(在这里添加并无不妥,因此如果使用 msync、isync、tlbwe、isync)。 显然,它的性能得到了优化,因为它是在启动过程中使用的,不需要访问存储器,只需要访问内核寄存器和执行指令。这可能需要更深入的分析。 此外,MTSPR(MASn)的运行也有一定的要求。 Re: Synchronization requirements for tlbwe instruction (e200z7) 你好,戴维、 我使用的是 EREF 2.0 Rev. 0 09/2011 - 这是我找到的最新版本,除了这个版本之外,我找不到其他版本(https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/mpc5xxx/3777/1/EREFRM.pdf)。 我能看到的表格有 ricardofranca_0-1756306278573.png ricardofranca_1-1756306504078.png 我感知到在写入 TLB 条目之前完成所有交易是有意义的,但我无法在文档的任何地方找到 tlbwe " 之前的 " msync 的明确要求。能否告诉我这一要求的位置,以便我在自己的文档中参考? 我提到的注释是我粘贴在这里的第一个表格的注释 5:",如果必须确保这些补全,则 tlbwe、tlbilx ,或 tlbivax 之后必须有同步和上下文同步指令" 。如果我在 tlbwe 之前使用了 msync,是否可以忽略此说明? 最后,我和我的同事们都希望使用一种适用于任何情况的通用同步指令模式。因此,如果 msync-tlbwe-isync 可以涵盖所有情况,那么即使我们可以使用更少(或更轻)的指令,我们也会使用它。在解释这种模式时,我们只需要一些参考就可以了。 谢谢您! Re: Synchronization requirements for tlbwe instruction (e200z7) 表 5-3.数据访问同步要求和表 5-4。指令取回和/或执行同步要求明确定义了 tlbwe 的同步要求。 通常的顺序是 毫同步 tlbwe 异步 问:什么时候可以确定 tlbwe 不需要 CSI 说明? 答:最好能做到无懈可击,并始终放在那里,然后再处理因丢失同步指令而造成的问题。更改上下文需要几个周期,如果在此期间没有触及新的上下文(例如定义之前没有定义的内存),就不会有问题。在 AN5191 中,它是启动代码,tlbwe 之后是另一个寄存器加载和另一个 TLB 的定义,因此可以退出 TLB1 或 TLB3。 问:在 AN5191 示例中,se_isync 是否可以用任何其他 CSI 指令代替? 答:是的,如果确实有感知的话。表中符号 "CSI "指任何上下文同步指令(sc、isync、rfi、rfgi 、rfci、rfdi 或 rfmci)。在 AN5191 中,这没有任何感知。 问:在 AN5191 示例中,为什么在 tlbwe 之前插入 msync?这是否等同于描述在 tlbwe 之后可能需要额外 msync 的 EREF 注释?或者在其他情况下,需要在 tlbwe 之前进行 msync? 答:不知道你想的是哪个音符,但这是可能的。我会保留标准序列,例如 MAS TLB 计算器中的序列: https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/MMU-Assist-Register-CONFIGURATOR/ta-p/1110436 问:表 4-41 EREF_RM 将 msync 描述为执行指令和内存同步。为什么在 msync 之后需要 CSI 指令? 答:您显然没有最新的文件。最新版本为 EREFRM Rev. 1 12/2007。正如我已经提到的,tlbwe 需要 Isync。
記事全体を表示
After resetting, the s32k312 enters the HardFault_Handler abnormally The chip used is s32k312, with the compiler version being S32DS3.5 and RTD3.0. During the production of uds-boot, some valid information is fixed in pflash at address 0x0043E000. sensen_1_0-1762236756459.png sensen_1_1-1762236817623.png sensen_1_2-1762236843789.png sensen_1_3-1762236858994.png Program the bootloader into the chip, and then flash the app program via the host computer. After the first flash, you can use the internal watchdog timeout reset to ensure the program correctly enters the app. However, when the program is running in the app and another app flash operation is performed, the program enters the HardFault_Handler after resetting. Please help me check if there is a configuration issue, or if there is a standard configuration method. As long as the information is not fixed in p_flash, but instead written to 0x0043E000 through instructions later, the program can run normally. Thank you very much for your support.
記事全体を表示
MBDT BMS Pkg アドオンと S32k3xx v1.5.0 の互換性、または v1.4.0 の並行インストール S32K3xx MBDT v1.4.0 で正式にサポートされている MBDT 用の NXP_Support_Package_BMS アドオンを使用しようとしています。 私のシステムには、進行中の他のプロジェクト用にすでに MBDT v1.5.0 がインストールされていますが、アドオンはこの新しいバージョンでは動作しないようです。 現在、BMS 開発には S32K396 POC ボードを使用しています。 ありますか: アドオンをv1.5.0と互換性を持たせる方法、または 競合なく、同じ MATLAB インストールまたはシステム上で、v1.4.0 と v1.5.0 の両方を並行してインストールして実行する方法はありますか? 並行インストールが可能な場合は、正しいセットアップ手順を教えてください。 Re: Compatibility of MBDT BMS Pkg Add-On with S32k3xx v1.5.0 or Parallel Installation of v1.4.0 こんにちは、 BMS 用のモデルベース デザイン ツールボックスは現在、S32K3 1.4.x 用の MBD ツールボックスとのみ互換性があります。現時点では、MBD Toolbox for S32K3 1.5.0 と互換性を持たせる方法はありません。 次に、同じ MATLAB インストールに v1.4.0 と v1.5.0 の両方を並行してインストールすることはできません。唯一の実行可能な代替手段は、別の MATLAB をインストールし (ライセンスで許可されている場合)、そこにツールボックスの 1 つをインストールすることです。 よろしくお願いいたします。 ソリン・バンチラ
記事全体を表示
IW611 Wi-Fiモジュールのドライバとファームウェア こんにちは、 Wi-Fi ドライバを構築する手順と、IW611 に関連するいくつかの質問を明確にしたいと思います。ぜひご覧になってみてください。ありがとう。 私はカーネル 5.10 を使用しており、私の理解に基づいて、IW611 用の WiFi ドライバを構築する手順は次のとおりです。間違っていたら訂正してください。 1) クローンリポジトリ: http://github.com/nxp-imx/mwifiex.git 私のカーネルバージョンに最も近いバージョンをチェックアウトします。例: lf-5.10.y_1.0.0 質問: この lf-5.10.y_1.0.0 ブランチの最終更新は 4 年前です。そのブランチのソース コードは最新であり、すべての IW611 機能をサポートしていますか? 2) 5.10 カーネル ソース コードを指す KERNELDIR= をエクスポートします。 3) $CROSS_COMPILEを更新する 3) wlan_src に cd する 4) クリーン&ビルドを実行する その他の質問 https://github.com/nxp-imx/imx-firmware.gitのファームウェアの場合、IW611 に使用されているファームウェアをどのように確認すればよいですか?また、私のCASEでは lf-5.10.y_1.0.0 ブランチもチェックアウトする必要があるというのは正しいでしょうか? IW611 ライアン Re: IW611 Wifi module driver and firmware こんにちは@RyanKhor 質問: この lf-5.10.y_1.0.0 ブランチの最終更新は 4 年前です。そのブランチのソース コードは最新であり、すべての IW611 機能をサポートしていますか? --> リリースごとに機能リストを提供していますので、ご確認いただけます。i.MX アプリケーションプロセッサ向け組み込み Linux | NXP Semiconductors https://github.com/nxp-imx/imx-firmware.git にあるファームウェアについて 、IW611に使用されているファームウェアを確認するにはどうすればよいですか?また、私のCASEでは lf-5.10.y_1.0.0 ブランチもチェックアウトする必要があるのでしょうか? --> iw611 と iw612 は同じファームウェアを共有します。 よろしくお願いいたします。 ショーン
記事全体を表示
ベーシックセキュアブート HSE S32K344 ADKP こんにちは、みんな、 ベースセキュアブートでADKPをプログラムする方法を知りたいです S32K344-WB #HSE#ベースセキュアブート よろしくお願いします。 Re: Basic Secure Boot HSE S32K344 ADKP こんにちは、みんな、 私はS32K312EVB-Q172ボードを使用しており、 HSE デモ例をテストしたいと考えています。 ファイルS32K3_HSE_DemoExamples_1_0_0.zipにアクセスすることは可能でしょうか? 私はS32 プラットフォーム用の S32 Design Studio をPEMicro デバッガーと一緒に使用しています。 ご協力をよろしくお願いいたします! よろしくお願いします、 ダビデ Re: Basic Secure Boot HSE S32K344 ADKP こんにちは@silvia_zandoli2 発生している問題に関連している可能性があるので、次のThreadを確認することをお勧めします。 S32K344 セキュアブート HSE_VerifyBootImage の問題 Re: Basic Secure Boot HSE S32K344 ADKP こんにちは、 ブートローダーが正常に起動し (HSE_SignBootImage OK)、検証に合格すると、システムの LED が短時間青色に点滅します (セキュア ブートが成功したことを示します)。しかし、再起動または2回目のデバッグ時にシステムがクラッシュし、/* 生成されたタグがAPPBLに対して有効であることを確認する*/が合格しません。 #if VERIFY_TAG srvResponse = HSE_VerifyBootImage(pAppBL); ASSERT(HSE_SRV_RSP_OK == srvResponse); 問題は上書きにあると思われます。修正方法をご存知ですか? どうもありがとうございます。 Re: Basic Secure Boot HSE S32K344 ADKP こんにちは@silvia_zandoli2 HSE サービス応答 0x55A5AA33 は HSE_SRV_RSP_OK に対応します。 ただし、HSE_SignBootImage() 関数の呼び出し時に問題が発生する場合は、次のThreadを確認することをお勧めします。発生している問題に関連している可能性があります。 HSE_VerifyBootImage は HSE_SRV_RSP_VERIFY_FAILED を返します 問題が解決しない場合、またはThreadが特定のCASEに対応していない場合は、お知らせください。 Re: Basic Secure Boot HSE S32K344 ADKP S32K3_HSE_DemoExamples_1_0_0、S32K344デバイスを持っています ADKP は正常にプログラムされています (check_debug_password_programmed_status() が TRUE を返します)。 しかし、関数HSE_SignBootImage()は呼び出し直後に失敗し続け、エラーコード0x55a5aa33を返します。 基本的なセキュアブートのメインではアサートをパスしません /* 生成されたタグがAPPBLに対して有効であることを確認します */ #if VERIFY_TAG srvResponse = HSE_VerifyBootImage(pAppBL); ASSERT(HSE_SRV_RSP_OK == srvResponse); #endif S32K344_SecureBootBlinky.bin を生成し、C:\NXP に配置します。SecureBootBlinky と Basic_SecureBoot は C:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\Secure_Boot にあります。 ベーシックセキュアブートのリンカーファイル「S32K344_flash.ld」に、 _adkp_key :  {  . = ALIGN(4);  キープ(*(_adkp_key))  . = ALIGN(4);  } > フラッシュ そのファイルを変更する必要がありますか?あなたに添付します /***************************************************************************** * * Copyright 2020-2022 NXP * All Rights Reserved * ***************************************************************************** * * このソフトウェアはNXPによって「現状のまま」提供され、明示的または黙示的を問わず、 * 黙示の保証(ただし、これに限定されません) * 商品性および特定目的への適合性については保証されません。 * いかなる場合においても、NXPまたはその貢献者は、いかなる直接的、間接的、偶発的、特別、懲罰的、または結果的な損害に対しても責任を負わないものとします。 * (代替品の調達を含むが、これに限定されません) * サービス、使用、データ、利益の喪失、または事業の中断) * いかなる原因であっても、また契約上の責任理論に基づいても、 * 厳格責任、または不法行為(過失その他を含む)から生じる * いかなる場合においても、このソフトウェアの使用から生じるいかなる損害についても、 * 当該損害の可能性。 * ********************************************************************************/ __STACK_SIZE = 0x00001000; __HEAP_SIZE = 0x00001000; /* メモリ領域を構成するリンカー スクリプト。Aggiungi PFLASH_SECURE は、地域の鳩を見て、チアビの批判を受け入れます*/ メモリ { ITCM (RWX) : 原点 = 0x00000000、長さ = 0x10000 PFLASH (RX) : 原点 = 0x400000、長さ = 0x3f4000 DFLASH (RX) : 原点 = 0x10000000、長さ = 0x20000 DTCM (RW) : 原点 = 0x20000000、長さ = 0x20000 SRAM0_STDBY (RW) : 原点 = 0x20400000、長さ = 0x8000 SRAM (RW) : 原点 = 0x20408000、長さ = 0x48000 } /* セクションとシンボル値を配置するためのリンカー スクリプト。一緒に使用する必要があります * メモリ領域 FLASH および RAM を定義する他のリンカー スクリプトを使用します。 * 次のシンボルを参照します。これらはコード内で定義する必要があります。 * Reset_Handler: リセットハンドラのエントリ * * 次のシンボルを定義します。コードでは定義しなくても使用できます。 * __exidx_start * __exidx_end * __ecc_table_start __ * __ ecc_table_end __ * __電子テキスト * __data_start __ * __事前初期化配列開始 * __preinit_array_end * __init_array_start * __init_array_end * __fini_array_start * __fini_array_end * __data_end __ * __ bss_start __ * __ bss_end __ * __ end __ * end * __ヒープ制限 * __StackLimit * __スタックトップ * __スタック */ ENTRY(リセットハンドラー) セクション { 。文章: { KEEP(*(.vectors)) *(。文章*) KEEP(*(.init)) KEEP(*(.fini)) /* .ctors*/ *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend?.o *crtend.o).ctors) *(SORT(.ctors.*)) *(.ctors) /* .dtors*/ *crtbegin.o(.dtors) *crtbegin?.o(.dtors) *(EXCLUDE_FILE(*crtend?.o *crtend.o).dtors) *(SORT(.dtors.*)) *(.dtors) *(.rodata*) 保持(*(.eh_frame*)) } > フラッシュ .ARM.extab: { *(.ARM.extab*.gnu.linkonce.armextab.*) } > フラッシュ __exidx_start = .; .ARM.exidx : { *(.ARM.exidx*.gnu.linkonce.armexidx.*) } > フラッシュ __exidx_end = .; .ecc.テーブル: { 。= 整列(4); __ecc_table_start__ = .; QUAD (__data_start __) QUAD ((__ data_end __ - __ data_start__) / 😎 クアッド (__bss_start __) QUAD ((__ bss_end __ - __ bss_start__) / 😎 QUAD ( __HeapTop) QUAD ((__ヒープ制限 - __ヒープトップ) / 😎 QUAD ( __StackLimit) QUAD ((__スタックトップ - __StackLimit) / 😎 クワッド(原点(ITCM)) クワッド(長さ(ITCM)/ 😎 クアッド(原点(DTCM)) クワッド(長さ(DTCM)/ 😎 __ecc_table_end__ = .; } > フラッシュ .copy.table : { 。= 整列(4); __copy_table_start__ = .; LONG ( __etext) LONG (__データ開始__) LONG ((__データ終了__ - __データ開始__) / 4) /* ここに各追加データセクションを追加します */ /* LONG ( __etext2) LONG (__ data2_start __) LONG ((__ data2_end __ - __ data2_start __) / 4) */ __ copy_table_end__ = .; } > フラッシュ .zero.table : { 。= 整列(4); __zero_table_start __ = .; /* Add each additional bss section here */ /* LONG (__ bss2_start __) LONG ((__ bss2_end __ - __ bss2_start __) / 4) */ __ zero_table_end__ = .; } > フラッシュ __etext = ALIGN(8); .boot_header: { KEEP(*(.boot_header)) } > Dフラッシュ .standby_ram: { *(.スタンバイ_ram) } > SRAM0_STDBY /* ECC初期化シーケンス __data_start __ and __ data_end __ should be aligned on 8 bytes */ .data : AT (__ etext) { 。= 整列(8); __data_start__ = .; *(vテーブル) *(。データ) *(。データ。*) . = ALIGN(4); /* 事前初期化データ */ PROVIDE_HIDDEN (__preinit_array_start = .); KEEP(*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); . = ALIGN(4); /* 初期化データ */ PROVIDE_HIDDEN (__init_array_start = .); KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); . = ALIGN(4); /* 有限データ */ PROVIDE_HIDDEN (__fini_array_start = .); KEEP(*(SORT(.fini_array.*))) KEEP(*(.fini_array)) PROVIDE_HIDDEN (__fini_array_end = .); 保持(*(.jcr*)) 。= 整列(8); /* 全データ終了 */ __data_end__ = .; } > SRAM /* ECC 初期化シーケンスのため __bss_start __ and __ bss_end __ should be aligned on 8 bytes */ .bss : { . = ALIGN(8); __ bss_start __ = .; *(.bss) *(.bss.*) *(COMMON) . = ALIGN(8); __ bss_end__ = .; } > SRAM /* ECC初期化シーケンスのため__HeapTop and __ HeapLimitは8バイトに揃える必要があります */ 。ヒープ(コピー): { 。= 整列(8); __HeapTop = .; __終了__ = .; _end = .; PROVIDE(終了 = .); 。= .+ __HEAP_SIZE; 。= 整列(8); __ヒープ制限 = .; } > SRAM /* ECC初期化シーケンスのため__StackLimit and __ StackTopは8バイトに揃える必要があります */ 。スタック(ORIGIN(SRAM) + LENGTH(SRAM) - __STACK_SIZE) (コピー) : { 。= 整列(8); __StackLimit = .; . = . + __スタックサイズ; 。= 整列(8); __StackTop = .; } > SRAM PROVIDE(__スタック = __StackTop); /* データ + ヒープ + スタックが RAM 制限を超えていないか確認します */ ASSERT( __StackLimit >= __ HeapLimit、「領域 RAM がスタックでオーバーフローしました」) CM7_START_ADDRESS = ORIGIN(PFLASH); __STDBYRAM_START = ORIGIN(SRAM0_STDBY); __STDBYRAM_SIZE = 長さ(SRAM0_STDBY); } S32K344-WB Re: Basic Secure Boot HSE S32K344 ADKP こんにちは@silvia_zandoli2 次のThreadを参照してください。このトピックに関連する情報が含まれており、役立つ可能性があります。 [S32K3] HSE使用時にパスワードでデバッグアクセスを制限する さらに、汎用 HSE デモ例および/または HSE_DEMOAPP 用の S32K3 MCUで提供されている関数 ProgramADKPService()、Advance_LifeCycle_Service()、および attributeProgrammingService() の実装を確認することをお勧めします。 BR、ヴェインB
記事全体を表示
RW612 ROM 引导加载程序卡在 ISP 模式,无法从外部闪存加载 MCUBoot 问题描述 我在使用恩智浦 RW612 时遇到了一个持续的问题,即无论使用哪种二进制结构或配置,ROM 引导加载程序总是进入 ISP 模式,而不是从外部闪存启动。 症状 一致的 ISP 模式:设备始终以相同的寄存器值进入 ISP 模式 PC 寄存器:0x1302B460(ROM 引导程序地址) 神奇数字R1=0x5AC33CA5, R3=0x5AC33CA5, R6=0x55AACC33, R7=0x33CCAA55, R8=0x5AA55AA5, R10=0xC33CA55A, R11=0x55AACC33 性能:所有测试配置完全相同 我的测试结果 自定义 McuBoot 版本: 已签名和未签名的二进制文件 不同的 FCB 配置(带/不带 CMML) 各种偏移配置(0x400、0x1000) 官方 Zephyr 样品: frdm_rw612 板配置 rd_rw612_bga 板配置 sysbuild 和标准版本 用 imgtool 签名 二进制结构已验证: 偏移量 0x0000 处的 MCUBoot 头魔法 (0x3DB8F396) FCB 签名 (FCFB),偏移量 0x0400 带有 LUT 条目的完整 FlexSPI 配置 适当的 IVT/MBI 标头 当前设置 板:采用 RW612 的定制板 外部闪存:Fidelix 存储器(IRIS-W106-30B 模块) 工具链:Zephyr 4.1.0使用 Zephyr SDK 0.17.0 编程通过 SWD 接口连接 J-Link 社区问题 启动顺序要求:RW612 ROM 引导加载程序成功从外部闪存启动的确切要求是什么?是否有我遗漏的特定硬件配置要求? FCB 格式验证:ROM 引导加载程序期望的 FCB 格式是什么?是否有必须满足的验证要求或特定参数? 硬件配置:外部闪存熔丝所需的特定跳线设置、引脚配置或启动设置是否未记录在案? 已知问题:RW612 ROM 引导加载程序和外部闪存启动是否存在已知问题?有人成功从外部闪存启动过吗? 工作示例:有没有人有在 RW612 上成功从外部闪存启动的工作示例?您使用的是什么配置? 替代方法:如果外部闪存启动存在局限性,那么推荐的生产部署替代方案是什么? 调试步骤:你建议采取哪些调试步骤来确定 ROM 引导加载程序拒绝 FCB 的原因? 补充背景 事实上,即使是官方 Zephyr 样本(frdm_rw612 和 rd_rw612_bga)也会导致相同的 ISP 模式行为,这表明这可能是其中任何一种模式的根本问题: ROM 引导加载程序的实现 硬件配置要求 我们对启动过程的理解 如能提供任何指导或工作实例,将不胜感激! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 为了获得更好的模块支持,我建议您直接联系模块制造商(uBlox),以获取与您的模块相关的各种文档。 如果您还有其他问题,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 谢谢,我看到了我想,当我实施它时,它没有工作...我需要回去再看一遍。 此外,我最近还发现 Segger(例如我的 jLink Pro)没有加载器可以正确刷新包含 RW612 芯片的 IRIS-W106-30B 模块使用的 Fidelix 型内存的二进制文件... 所以我也必须弄清楚(除非你有我能使用的加载器)。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 感谢您提供最新的测试结果。关于闪存锁定,请参阅 "如何解决 FRDM-RW612 闪存问题(闪存锁定)"帖子,只需注意在创建新工作区时选择模块专用内存即可。 如果您能解锁闪光灯,请告诉我。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 仅供参考...我能够实现这些变化。 目前,我的定制板已经锁定了闪存,我正在努力在刷新和测试之前将其解锁。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 是的,我知道了,并做了修改。 我正在使用一款带有 IRIS-W106-30B 模块(包含 RW612)的定制板。我将在周末进行测试。谢谢。 如果有问题,我会联系他们,并汇报我的进展情况。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck。 关于您需要签名/身份验证的启动映像的问题,请参阅 UM11865 第 78 页,其中详细介绍了启动过程的验证,如果您没有使用安全启动 ROM,则镜像不需要签名。 此外,请确认您是否遵循了我从应用程序代码中心分享的指南/示例。 如果这些信息有用,请告诉我您的发现。 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 顺便说一下...昨天深夜我找到了 UM11865 用户手册...我还将查看您发布的文件......以下是我今天上午的调查摘要: IRIS-W106-30B 模块(基于 RW612)的 ROM 引导加载程序仍停留在 ISP 模式(PC = 1302B460),而不是从外部闪存切换到 MCUBoot 引导加载程序。 调查结果 ✅ 已确认的工作元器件: -通过 FCB(闪存配置块)访问 FlexSPI 外部闪存-FCB 签名:42464346 位于 0x08000400 -IVT(图像矢量表)签名:0x08001040 处的 402000D1 -Arm Cortex-M33 矢量表:0x08001400 处的有效堆栈指针 3000B320-外部闪存编程和验证成功 -ROM 引导加载程序可读取的所有启动结构 ❌ 已确定根本原因: -IVT boot_data_ptr (0x08001060) 指向包含全零的位置-链接 器未将启动数据结构正确放置在闪存中 -ROM 引导加载程序会验证启动结构,但在验证阶段拒绝映像 主要技术细节: - 内存布局:FCB@0x400 → IVT@0x1040 → ARM_vectors@0x1400 - IVT 指针:boot_data_ptr=0x08001060,self_ptr=0x08001040 - ROM 引导加载程序成功初始化 FlexSPI 并读取闪存内容 - 问题发生在映像验证期间,而非闪存访问期间 版本配置: -将 Zephyr RTOS 与 mcuBoot 一起使用-config_nxp_rw6xx_boot_header=Y -config_trusted_execution_nonsecure=Y-适用于 IRIS-W106-30B 的自定义 IVT 标头和 FCB 恩智浦社区的剩余问题 RW612 ROM 引导加载程序是否需要签名/经过身份验证的启动映像才能移交 给外部闪存引导加载程序? ROM 引导加载程序似乎可以正确验证所有启动结构,但拒绝 移交。缺少启动数据结构表明: 1.链接器脚本问题导致无法在 Flash 2 中正确放置启动数据。即使是移交引导加载程序,ROM 引导加载程序也需要签名映像(HAB/安全启动)3. 其他验证要求(我将查看文档) 如果您对 RW612 专用 ROM 引导加载程序的验证要求有更多了解,我们将不胜感激。 非常感谢你们的帮助! Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 非常感谢,我会去看看,并向您汇报。 我认为问题的根源在于 ROM 引导加载程序无法验证闪存中的 MCUBoot 引导加载程序...我将在今天晚些时候向您汇报 Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash 你好,@dstarck,希望你一切都好。 请查看 产品页面 上的 UM11865-RW61x 用户手册的第 11 章- 非安全启动 ROM ,其中包含有关 RW61x 启动模式以及 FCB 配置和结构的信息。 此外,请参阅从 FRDM-RW612 到第三方模块存储器的迁移指南,其中提供了配置 IRIS-W106-30B 特定闪存的指南和示例。 注意:你提到你曾尝试将 RD-RW612-BGA 二进制文件加载到 EVK 中,此过程可能会导致闪存锁定而无法写入闪存,如果你看到这种行为,请查看以下关于如何解决问题的文章:如何解决 FRDM-RW612 中的闪存问题(闪存锁)。 如果这些资源对你有帮助,请告诉我。
記事全体を表示
S32K314 HSE ADKP こんにちは、NXP ADKP(UID多様化によるHSE静的パスワード)機能を開発しています。質問が2つあります。 1、ADKP パスワードを設定するためにインターフェース HSE_ProgramAdkp() を呼び出すと、応答は HSE_SRV_RSP_OK です。HSE_CalculateAdkpHash() を実行した後、インターフェース HSE_ReadAdkp() を呼び出すと、今度は応答が HSE_SRV_RSP_NOT_ALLOWED です。なぜかわかりません。 image.png image.png 2、JTAG セキュア デバッグが有効になっている場合、消去して再プログラムしたいです。この時点では、最初に S32DS PE デバッグまたは Trace32 を使用して JTAG のロックを解除し、次に Jlink を使用して対応する操作を実行することしかできませんか?CANロック解除プロセスはプログラムフラッシュ内で実行できますか? ご返信をお待ちしております! よろしくお願いいたします! Re: S32K314 HSE ADKP ご返信ありがとうございます! 1、これは「S32K3_HSE_DemoExamples_1_0_0」、具体的にはそのファイル内のS32K344_DemoAppTemplateに基づいています。 Re: S32K314 HSE ADKP 1) これはどのサンプルコードに基づいていますか? 2) 決してそうではありません。セキュア デバッグを適用すると、リセットのたびにパスワードを入力する必要があり、永続的なロック解除はできなくなります。これはデバッガーでサポートされる必要があります。私は PeMicro と TRACE32 を認識しています。Segger については、サポートに問い合わせてください。サポートされているかどうかはわかりませんが、次のThreadではサポートされていないと言われています。 https://community.nxp.com/t5/S32K/s32k3-secure-debug-interface/mp/1954589
記事全体を表示
S32K358 上の AUTOSAR 4.7.0 での受信割り込みの設定 こんにちは、皆さん 現在、プロジェクトをRTDからAUTOSAR 4.7.0(SWバージョン3)に移行中です。 送信と受信の両方が割り込みモードで動作するように設定されています。 RTD セットアップでは、各メッセージ オブジェクトに独自のバッファーが割り当てられていました。メッセージを受信すると、受信 IRQ 機能がトリガーされ、メッセージ オブジェクト番号を使用して、対応するバッファにアクセスして処理できるようになりました。 現在、AUTOSAR では、受信割り込み処理を適切に構成する方法がわかりません。 AUTOSAR で受信割り込み用のメッセージ オブジェクト バッファを割り当てたりアクセスしたりするにはどうすればよいですか? 受信 ISR コールバック (CanIf または CanDrv 経由など) を実装または構成するための推奨方法はありますか? このワークフローの例やドキュメント参照はありますか? いくつかの例を確認しましたが、受信割り込み処理を明確に説明している例は見つかりませんでした。 ヒントや設定例があれば、ぜひ教えてください! Re: Configuring Reception Interrupts in AUTOSAR 4.7.0 on S32K358 こんにちは、 @thorben_kampさん、 SW バージョン 3 とは、S32K3 RTD v3.0.0 ASR21-11 のことを指していると思います。 RTD パッケージは、S32K358 CAN 通信用の AUTOSAR サンプル ルーチンを提供します。 Snag_12dd019.png ただし、ループバック操作用に構成されているため、出力ピンには信号が表示されません。出力ピン (S32K3X8EVB の CAN0 の場合は PTA6/7) を設定し、CAN インスタンス モードをループバックから通常/ユーザー モードに変更する必要があります。HW 構成に応じて、CANトランシーバを初期化する必要もあります。 S32K3X4EVB-T172 の割り込み MCAL ベースの例がここに投稿されています: [RTD600 MCAL & IP] S32K3X4EVB-T172 FlexCAN 例割り込み/ポーリング - NXP コミュニティ。S32K344 ベースですが、同じメインルーチンをCAN使用します。この例は単に最も基本的な構成を示すものであり、AUTOSAR にまったく準拠していないことに注意してください。 よろしくお願いします、 ジュリアン
記事全体を表示
S32K311の書き込み操作用のフラッシュドライバ実装 こんにちは、 PFlash へのデータ書き込みで問題が発生しています。リファレンス マニュアルの指示に従いましたが、まだメモリに書き込むことができません。これについてどうか助けてください。それは時間的に重要だから。 参考までに私のコードも添付しておきます。 ありがとうございました。 Re: FLash driver implementation for write operation in S32K311 こんにちは、ダニエル。 1.リファレンスマニュアルに記載されている以下のすべてのレジスタの組み合わせを使用してロック解除を試みました。 PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; //PFlashブロック0 PFLASH.PFCBLK_SSPELOCK[1].R = 0x00000000U; //PFlashブロック1 FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; FLASH.XSPELOCK.R = 0x00000000u; FLASH.XSSPELOCK.R = 0x00000000u; PFLASH.PFCBLK_SPELOCK[0].R = 0x00000000U; PFLASH.PFCBLK_SPELOCK[1].R = 0x00000000U; PFLASH.PFCBLK_SPELOCK[2].R = 0x00000000U; PFLASH.PFCBLKU_SPELOCK[0].R = 0x00000000U; // UTESTブロックロック ただし、DFlash は常にロックされたままであり、消去/プログラムを試行すると PES=1 が設定されます。 以下を明確にしていただけますか: S32K311 上の D-Flash ブロックの正しいレジスタとレジスタ インデックス。 S32K311 上の D-Flash に特別なロック解除メカニズム (UTEST ヒューズ、FCCU、ライフサイクル状態など) が必要かどうか。 D-Flash のロック解除 + 書き込みが成功したことを示す参考例。 2. P-Flashの最後の256KBのロックを解除できません: 上記のすべてのレジスタの組み合わせを使用した後でも、 0x004B0000 ~ 0x004FFFFF以上の値はロックされたままになります。 この領域は別のロック ブロック (ブロック 2?) によって制御されていますか? それとも D-Flash と共有されていますか? Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 0x00480008から始まる8バイトをプログラムするには、DATA[2-3]レジスタにデータを書き込む必要があります。 ロックに関しては、火曜日まで不在のため、現時点ではハードウェアでテストできません。 RTD ドライバ (C40_Ip) を参考にすることをお勧めします。 danielmartynek_0-1763131926248.png よろしくお願いいたします。 ダニエル Re: FLash driver implementation for write operation in S32K311 こんにちは、ダニエル。 ご説明ありがとうございます。 はい、プログラミングしていたのと同じ PFlash ブロックから書き込み関数を実行しようとしていることに気付きました。書き込みルーチンを別のブロックに移動すると、動作するようになりました。 ただし、2 つの追加の問題があります。 PFlash連続書き込み アドレス0x00480000に 8 バイトを書き込むと成功します。 しかし、次の 8 バイトを0x00480008に書き込もうとすると、操作は失敗します。 書き込みが成功する次のアドレスは128 バイト後になります。 コントローラは 128 バイト (4 ページ) 境界でのプログラミングのみを許可するようです。 同じ 4 ページ内で小さいチャンク (8 バイト) を連続してプログラムする方法はありますか? それとも 128 バイトすべてを一度に書き込む必要がありますか? DFlashロック解除の問題 推奨されている通り、 SPELOCK[2]とSSPELOCK[2]を使用してBlock_2のロックを解除しようとしましたが、ブロックはロックされたままです。 モジュール レベルおよびプラットフォーム レベルのロック レジスタをクリアすることも試みましたが、DFlash 領域はまだロック解除されません。 以下は私が試みたロック解除シーケンスです。 PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; //PFlashブロック0 PFLASH. PFCBLK_SSPELOCK [1]. R = 0x00000000U; //PFlashブロック1 FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; FLASH.XSPELOCK.R = 0x00000000u; FLASH.XSSPELOCK.R = 0x00000000u; DFlash Block_2 のロックを解除する正しい方法を理解し、同じ 4 ページ内での連続書き込みがサポートされているかどうかを確認する方法を教えていただけますか? ご協力ありがとうございます。 Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 フラッシュ プログラミング コードは、プログラムされているフラッシュ ブロックと同じフラッシュ ブロック内に存在してはなりません。 同じフラッシュ ブロックをプログラムする必要がある場合は、実行コードが SRAM に配置されていることを確認してください。 この例では、C40_Ip API は SRAM に配置されています。 参考までに、 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K312-C40-Ip-SRAM-RTD-500-DS35/ta-p/2074245を参照してください。 DFlashはBlock_2にあり、SPELOCK[2]とSSPELOCK[2]によってロックされています。 よろしくお願いいたします。 ダニエル Re: FLash driver implementation for write operation in S32K311 こんにちは、皆さん S32K311 (48 ピン) の PFlash/DFlash プログラミングで行き詰まっています。書き込み関数の最後にブレークポイントを配置すると、 P-Flash をプログラムできるようになりましたが、そのブレークポイントを保持しないと、CPU が逆アセンブリにジャンプし、RWE フラグが 1 に設定されます。 また、 D-Flash のロックを解除できません(すべてのロック解除の試行が無視されるようです)。お知らせ下さい。 私が観察したのは次の通りです: PFlash 書き込みシーケンスは、書き込み関数にブレークポイントを設定している場合にのみ完了します。そのブレークポイントを削除すると、CPU は書き込み要求の直後に逆アセンブリに移行します (割り込み/フェッチ障害のように見えます)。 次のロック解除シーケンスを書き込んだにもかかわらず、D-Flash はロックされたままです。 PFLASH.PFCBLKU_SPELOCK[0].R = 0x00000000U; /* UTESTブロックロックをクリアする(試行済み)*/ /* モジュールロックをクリアする */ FLASH.SPELOCK.R = 0x00000000U; FLASH.SSPELOCK.R = 0x00000000U; /* プラットフォームレベルのブロックロック解除 */ PFLASH.PFCBLK_SPELOCK[0].R = 0x00000000U; PFLASH.PFCBLK_SSPELOCK[0].R = 0x00000000U; 参考までにコードも添付しました。 Re: FLash driver implementation for write operation in S32K311 こんにちは@emb-enockal さん、 問題の説明を詳しく説明していただけますか? エラーフラグは表示されますか? 簡単にするために、ブロッキング方法から始めることをお勧めします。 danielmartynek_0-1762959571607.png danielmartynek_1-1762959967169.png DATA レジスタはクワッドページに揃える必要があります。 プログラム中のブロックからコードを実行することはできません。 よろしくお願いいたします。 ダニエル Any support, information, and technology (“Materials”) provided by NXP are provided AS IS, without any warranty express or implied, and NXP disclaims all direct and indirect liability and damages in connection with the Material to the maximum extent permitted by the applicable law. NXP accepts no liability for any assistance with applications or product design. Materials may only be used in connection with NXP products. Any feedback provided to NXP regarding the Materials may be used by NXP without restriction.
記事全体を表示
Yocto 在使用 populate_sdk 和 devtool 以及 tee.bin 时出现错误 您好, 我已经为 i.MX8M PLUS 处理器板安装了 Yocto 发行版。 能够编译我自己的程序,创建我使用的工具链: bitbake core-image-minimal -c populate_sdk 然后,我想更改 linux 映像(DTS 定义),因此安装了 devtool: devtool modify virtual/kernel 因此,我在进行更改后创建了 linux 映像: devtool 版本 linux-imx 这行得通,但是如果我现在想在 Yocto 上安装新配方,我会再做一遍: bitbake core-image-minimal -c populate_sdk 现在我遇到了一个与 tee.bin 有关的错误: 错误:imx-启动-1.0-r0 do_compile:执行错误("/HOME/YO/Atenea/yocto/ibr215-yocto5.0-电路板支持包-20241101/ibr215/tmp/work/imx8mpevk-参考发行版、系统开发套件。-linux/imx-启动/1.0/temp/run.do_compile.4739 ",1,无,无) 错误:失败日志文件存储在:/HOME/YO/Atenea/yocto/ibr215-电路板支持包-20241101/ibr215/tmp/work/imx8mpevk-参考发行版、系统开发套件。-linux/imx-启动/1.0/temp/log.do_compile.4739 日志数据如下: | 调试:执行 shell 函数 do_compile | cp:无法统计 "/home/yo/Atenea/Yocto/IBR215-yocto5.0-电路板支持包-20241101/ibr215/workspace/deploy/images/tee.bin":没有这样的文件或目录 我做错了什么? 此致
記事全体を表示
非 XIP 通过 JTAG RT1176 根据这份应用笔记:https://www.nxp.com/docs/en/application-note/AN14069.pdf,非 XIP 图像只能通过 UART 和 USB 通过 MCU Boot Utility 加载。 我想确认在 MCUXpresso IDE 中是否无法通过 MCU Link 或 Jlink 将 XIP 映像加载到闪存中? 如果必须使用 MCU Link,我想确认这些是正确的 UART 引脚。我在数据表上看不到通过 USB 启动的选项:https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf(如果我错过了,请原谅)。我在网上看过几件事提到通过 USB 启动只是将 USB 连接到相同的 UART 引脚吗? AnteoJ_1-1753239974271.png 谢谢! 安特奥 Re: NON XIP via JTAG RT1176 你好@AnteoJ、 感谢您对 NXP MIMXRT 系列的关注! 非XIP映像,例如从SD卡启动的镜像,需要使用McubootUtility或恩智浦的官方MCUXpresso安全配置工具进行刷新。 如果映像是 XIP,则可通过 JLink/DAP 等调试器将其编程为闪存。这在 MCUXpressoIDE 或其他集成开发环境中都很容易实现。 如果您使用的是 RT1170-EVK/EVKB,您会发现电路上有一个 MCU-Link,它是一个板调试器,可以方便客户在不使用外部调试器的情况下直接通过板调试器刷新程序和进行调试。此外,通过对不同固件进行编程,MCU-Link 可更改为 JLink 或 CMSIS-DAP 调试器。 详情请查看 EVK/EVKB 硬件原理图。 致以最诚挚的问候, Gavin
記事全体を表示