Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K3コアの電源オフエラーと実行中(バスエラー) 以下の状況で、MCU がどのような状態にあり、どのようなCASEが発生するのかを質問します。 興味深いのは、特定の関数を Over(Trace32) で実行すると問題が発生しますが、Step(Trace32) で実行すると問題が発生しないことです。 (MCUには正常に電源が供給されています。) Re: S32K3 core power down error & running(bus error) 皆さんこんにちは 現在、私たちのプロジェクトでも同じ種類の問題に直面しています。CRC および C40 モジュールは使用されませんが、このトピックで説明されている他のすべてはこのCASEに有効です。 @kjy106906 、問題は解決しましたか? 編集: @danielmartynek 、このトピック以降、この種の問題が解決されたと聞いたことがありますか? ご回答ありがとうございます Re: S32K3 core power down error & running(bus error) こんにちは@kjy106906さん、 あなたはこう書いています。「不思議なことに、不要なコードを数行追加しても(デバッグのために while ステートメントを追加したり、グローバル変数を追加したりしても)、問題は再現しません。」 レジスタまたは SRAM メモリに書き込む場合、すべての操作が適切にシリアル化されるようにそれを読み戻すことはできますか? RM、rev.8、セクション3.8 メモリ操作のシリアル化。 よろしくお願いいたします。 ダニエル Re: S32K3 core power down error & running(bus error) ありがとう@danielmartynek C40 ライブラリも使用しています。(C40_Ip_読み取り) ただし、エラーは返されません (成功が返されます)。 Re: S32K3 core power down error & running(bus error) DFlash を読み込むときに、ドライバは使いますか? ドライバはエラーをチェックするため: ありがとうございました。 ダニエル Re: S32K3 core power down error & running(bus error) ありがとう@danielmartynek NXPについてセキュリティ上の理由により、プロジェクト全体を共有することはできません。 エルフを共有しても、現在は私のボード上で動作します。 お使いの環境ではテストができない可能性があります。 簡易エルフの共有もできません。 不思議なことに、不要なコードを数行追加しても(デバッグ用の while ステートメントの追加、グローバル変数の追加など)、問題は再現されません。 現在、この問題は 5 つの BMS ボードで発生しています。 すべては Dataflash に関連しています。 上記の現象は、データフラッシュ領域の破損やその他のエラーにより発生した可能性がありますか? Re: S32K3 core power down error & running(bus error) こんにちは@kjy106906さん、 私の側でテストしてみたいと思います。 CANプロジェクトを共有してもらえますか? または、 .elfを使用した簡略化されたバージョンが望ましい問題を再現CANか? ここで共有したくない場合は、チケットを作成してください。 ありがとうございました。 ダニエル Re: S32K3 core power down error & running(bus error) ありがとう@danielmartynek 現在、Vector Microsarを使用しています MCU は OS HAL Fault (例外) を発生しません。 MCU 例外が入力されると、デバッガーで MCU が対応するコードにジャンプするのが確認できると思いますが、現在は Trace32 でバス エラーが出力されています。 したがって、例外は発生しなかったようです。 他に確認すべき点があればお知らせください。 Reset_b も VDD_HA_A も Low に下がりません。 この問題により、Trace32 のない BMS のみの状態で SBC が無限にリセットされます。この問題は Dataflash Init で発生するため、MCU が動作せず、SBC の無限リセットが発生します。 SO、これは Lauterbach の問題でもありません。 それは私たちにとって重要な問題です。他に確認すべき点があればお知らせください。 Re: S32K3 core power down error & running(bus error) こんにちは@kjy106906さん、 SO、コアは障害例外を検出せず、HardFault_Handler() には移動しないことがわかります。 CAN reset_b ピンを監視できますか?アプリケーションは実行されていますか? もしSOなら、それは Lauterbach の問題である可能性があります。 BR、ダニエル Re: S32K3 core power down error & running(bus error) よろしくお願い申し上げます。 エラー ハンドラーにブレークを設定しても、ブレークは発生せず、MCU は対応する状態になります。 MCU がどのような状態にあり、その状態になった理由は何なのかが気になります。 Re: S32K3 core power down error & running(bus error) こんにちは@kjy106906さん、 障害例外に関する詳細情報をご覧ください。 以下のドキュメントを参照してください。 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K14x の障害処理/ta-p/1114447 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 BFARVALID = 1 の場合、構成可能な障害ステータス レジスタ (CSFR) とバス障害アドレス レジスタ (BFAR) を読み取ります。スタック上の障害命令の PC アドレスを見つけることができるはずです。 よろしくお願いいたします。 ダニエル Re: S32K3 core power down error & running(bus error) いつもありがとう@danielmartynek その関数は RTD 関数ではなく、単純な計算関数です。 特定のアドレスの C40 読み取りデータの CRC を計算するときに問題が発生します。 これは読み取り時ではなく、CRC 計算機能の実行時に発生します。 MCU: S32K312、RTDバージョン: 2.0.0 MCU がどのような状態にあり、その状態になった理由は何なのかが気になります。 Re: S32K3 core power down error & running(bus error) こんにちは@kjy106906さん、 もっと具体的に教えていただけますか? ここではどのような機能を踏むのでしょうか? 使用する場合、CAN MCU と RTD のバージョンも指定できますか? ありがとうございました。 BR、ダニエル Re: S32K3 core power down error & running(bus error) こんにちは、 ようやく、弊社側の問題の原因を特定することができました。 これは、分岐投機に関連するNXPのエラータERR052460に関連していました。以下のコードスニペットがこの挙動を修正します。 // NXP ERR052460 Workaround: Cortex-M7: A hang scenario can occur when a reserved read locked memory region is accessed by application cores *((uint32_t*) 0x402AC0F0) = 0x1CB0499Du; *((uint32_t*) 0x402AC0F0) = 0xB9920D38u; これがあなたの側でも全く同じ根本原因かどうかは分かりませんが(私はNXPの社員ではありませんし、どうせ彼らは返答してくれないでしょうから)、確認してみる価値はあると思います。 Re: S32K3 core power down error & running(bus error) @kjy106906 、 @danielmartynek 、 同じ質問ですが、根本原因は特定できましたか? この問題はサイズ最適化を行った場合にも発生し、最適化を行わない場合は解消されます。
記事全体を表示
如何确保 gPTP 二层数据包通过 S 上的 GMAC0 以最高优先级传输 你好 如何确保 gPTP 第 2 层数据包通过 S32G399 上的 GMAC0 以最高优先级传输? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 确保 gPTP 帧进入 Q4 区。 如何实现这一点? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复和提供的信息。 您可以参考 BSP 用户手册,按照下图所示的方式尝试实现此功能。可以考虑为第四季度设定一个单独的时间窗口,并给予其更高的优先级。此外,确保 gPTP 帧进入 Q4。以下命令可用于设置第二层时间窗口,供参考: tc qdisc add dev eth0 root taprio \ num_tc 5 \ 地图 0 1 2 3 4 \ 队列 1@0 1@1 1@2 1@3 1@4 \ 基准时间 0 \ 计划条目 S 10 50000 \ 调度条目 S 0f 450000 \ 计划条目 S 1f 96 \ 标志 0x2 希望这些信息对您有所帮助。 BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? A:在 A 核上 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? A:利用 GMAC 的 TSN 功能:gptp;gptp 数据包上没有 VLAN。 GMAC控制器提供五个发送/接收队列, 我需要将所有 gPTP 流量路由到优先级最高的 Tx/Rx 队列(q4)。 请问在Linux系统中,相应的寄存器配置、代码实现方法以及如何配置(例如:tc、ip)? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您与我们联系。您能提供更多信息吗? 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复。 您可以尝试在设备树的 gmac0 部分配置队列信息。 其中包含 arch\arm64\boot\dts\freescale\s32cc.dtsi 文件。         gmac0 :以太网@4033c000 { 状态 = "已禁用" ; compatible = "nxp,s32cc-dwmac" ; mtl_rx_setup_gmac0 : rx-queues-config { snps,要使用的 rx 队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; };             mtl_tx_setup_gmac0 : tx-queues-config { snps,要使用的交易队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; }; 另外,可以在 GMAC 驱动程序中找到 RX 队列数据包路由配置,您可以尝试将节点设置为 Q4 的“snps,route-ptp”。 如果您还有任何疑问,可以随时联系我们。   BR 乔伊
記事全体を表示
Wi Fi CLIのOpen Thread CLIの問題 拝啓、 私たちはFRDM MCXW72を使ってOT-CLIエンドノードとして設定しています。 私たちは文書UG10349に記載されている手順を試しました。 ステップ5以降に進むことができません つまりスクリプトを実行して、すべてのサンプルをビルドしてください。 $ ./script/build_mcxw72 このコマンドの後。 解決に向けてご指導ください。 FRDMトレーニング Re: Issue with Wi Fi CLI Open Thread CLI こんにちは、 あなたの調子が良いといいのですが。MCXW72はWi-Fiをサポートしていないため、このMCUではWi-Fi CLIは動作しません。 どのリポジトリとリリースを使っているのか、教えていただけますか? よろしくお願いいたします。 リカルド Re: Issue with Wi Fi CLI Open Thread CLI こんにちは、 どのリポジトリとリリースを使っているのか、教えていただけますか? ログを見ると、Arm GCCコンパイラが見つからないためビルドが失敗しているようです。CMakeが使用しているコンパイラパスが無効であると思われます。これは、ツールチェーンパスの設定に問題があることを示唆しています。 ARMGCC_DIRの設定を確認し、arm-none-eabi-gccがその場所からインストールされアクセス可能であることを確認していただけますか?コンパイラが正しく検出されたら、ビルドは続行されます。 よろしくお願いいたします。 リカルド Re: Issue with Wi Fi CLI Open Thread CLI OT CLIにFRDM MCXW72を使用しようとしています。 Re: Issue with Wi Fi CLI Open Thread CLI 拝啓、 FRDM RW612でコードFRDMRW612_Wifi_IPv4_IPv6_Echoを試しています 添付ファイルに示すように、正常に動作するTCPサーバーでエコーを受信することができました。 現在、FRDMのポートGPIO 27に接続されたLEDONのコードを変更する作業を進めています Config Pin と socket_task.c ファイルの両方で関連する変更を試みました。 リセット後、ターミナルウィンドウに応答が表示されませんが、FRDMボード上の青色LEDが点灯しています。 問題の解決策をお知らせください。 コードのサイズが.zipファイルで50MBの制限を超えているため、コードを送信できません。 よろしくお願いします。 シーマ・ジョシ
記事全体を表示
Wi-Fi CLI 问题(开放主题 CLI) 尊敬的先生, 我们使用 FRDM MCXW72 配置为 OT-CLI 终端节点。 我们按照文件 UG10349 中的方法进行了尝试。 第五步之后,我们无法继续进行下去。 IE运行脚本以版本所有示例。 $ ./script/build_mcxw72 执行此命令后。 请指导解决。 FRDM 培训 Re: Issue with Wi Fi CLI Open Thread CLI 你好, 希望你一切都好。MCXW72 不支持 Wi-Fi,因此任何 Wi-Fi CLI 都无法在该 MCU 上运行。 请问您使用的是哪个代码库和版本? 顺祝商祺! 里卡多 Re: Issue with Wi Fi CLI Open Thread CLI 我们正在尝试使用 FRDM MCXW72 进行 OT CLI。 Re: Issue with Wi Fi CLI Open Thread CLI 尊敬的先生, 我们正在 FRDM RW612 上尝试代码 FRDMRW612 _Wifi_IPv4_IPv6_Echo 这是正常工作的 TCP 服务器,我们能够获取到附件中的回显信息。 现在我们正在修改代码,以控制连接到 FRDM 芯片 GPIO 27 端口的 LED 灯亮起。 我尝试在 Config Pin 以及 socket_task.c 文件中进行相关更改。 我们发现 RESET 后终端窗口没有响应,但 FRDM 板上的蓝色 LED 灯亮着。 请告知问题的解决方案。 由于.zip文件大小超过了50Mb的限制,我们无法发送该代码。 此致 西玛·乔希 Re: Issue with Wi Fi CLI Open Thread CLI 您好, 请问您使用的是哪个代码库和版本? 日志显示构建失败,因为找不到 Arm GCC 编译器。CMake 使用的编译器路径似乎无效,这表明工具链路径配置存在问题。 请您检查一下您的 ARMGCC_DIR 配置,并确认 arm-none-eabi-gcc 是否已安装并可从该位置访问?一旦正确检测到编译器,版本就应该继续进行。 此致, 里卡多
記事全体を表示
S32 Design Studio for Power Architecture® 2017.R1 - License activation issue Hello, I would like to kindly request assistance regarding my license activation. My previous request was processed, but the wrong version was reactivated. I now have access to S32 Design Studio for Power Architecture v2.1, whereas I actually need to use S32 Design Studio for Power Architecture 2017.R1 (S32DS-PA v2.0) for my current projects. Could you please correct the activation and restore the proper version of the license? Thank you very much for your support. Best regards, Alessandro Re: S32 Design Studio for Power Architecture® 2017.R1 - License activation issue Hello, I have requested it for you, Once it is done I will inform you. Best regards, Peter Re: S32 Design Studio for Power Architecture® 2017.R1 - License activation issue Hello Peter, Thank you for your help. I just wanted to let you know that I have not received any update yet, and my license is still expired. As a result, I am currently unable to use S32 Design Studio for Power Architecture 2017.R1 (v2.0), and I am unable to continue my work. Best regards, Alessandro Re: S32 Design Studio for Power Architecture® 2017.R1 - License activation issue Hello, All should be set at this time. Best regards, Peter Re: S32 Design Studio for Power Architecture® 2017.R1 - License activation issue Thank you very much, Alessandro
記事全体を表示
libcamera on imx8mp 恩智浦 FAE 你好: 我想知道恩智浦目前是否在 imx8mp 平台上支持 libcamera? https://libcamera.org/getting-started.html。 我明白在 yocoto kirkstone 电路板支持包中,配方 libcamera 位于 meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb 下当我在图像中添加目标 libcamera 并在 imx8mp-evk 板上运行时,libcamera 在检测捕获设备时什么也没报告。当运行 gst-launch 时,结果是一样的。 LIBCAMERA_LOG_LEVELS=*:DEBUG gst-device-monitor-1.0 Video IPAModule ipa_module.cpp:329 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed IPAManager ipa_manager.cpp:240 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so' Camera camera_manager.cpp:293 libcamera v0.0.0 Camera camera_manager.cpp:106 Starting camera manager DeviceEnumerator device_enumerator.cpp:224 New media device "mxc-md" created from /dev/media0 DeviceEnumerator device_enumerator_udev.cpp:95 Defer media device /dev/media0 due to 1 missing dependencies DeviceEnumerator device_enumerator_udev.cpp:320 All dependencies for media device /dev/media0 found DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media0: mxc-md Camera camera_manager.cpp:149 Found registered pipeline handler 'PipelineHandlerUVC' Camera camera_manager.cpp:149 Found registered pipeline handler 'SimplePipelineHandler' Camera camera_manager.cpp:149 Found registered pipeline handler 'PipelineHandlerVimc' 当我回读 libcamera 代码时,发现相机需要在 libcamera 使用前注册。 bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator) { DeviceMatch unicam("unicam"); MediaDevice *unicamDevice = acquireMediaDevice(enumerator, unicam); if (!unicamDevice) { LOG(RPI, Debug) << "Unable to acquire a Unicam instance"; return false; } DeviceMatch isp("bcm2835-isp"); MediaDevice *ispDevice = acquireMediaDevice(enumerator, isp); if (!ispDevice) { LOG(RPI, Debug) << "Unable to acquire ISP instance"; return false; } int ret = registerCamera(unicamDevice, ispDevice); if (ret) { LOG(RPI, Error) << "Failed to register camera: " << ret; return false; } return true; } 所以,我有以下问题。 1.恩智浦电路板支持包目前是否支持 libcamera,例如相机设备 ov5640? 2.如果没有,恩智浦是否有任何支持libcamera的计划或对此有任何建议/参考设计/指南/补丁? 3.在 libcamera 中为新相机添加支持功能有多复杂? 我是 libcamera 的新手,希望得到您的帮助/指导/信息。 致以最崇高的敬意 Johnson Re: libcamera on imx8mp 我对 VSI SDK 也很感兴趣。如果我能在外置摄像头捕获的帧上使用 Vivante ISP8000 的 3A 算法,那将非常有用 Re: libcamera on imx8mp 嗨,Sanket Parekh, 感谢您提供的信息。我会根据您提供的信息进行更多研究。 致以最崇高的敬意 约翰逊 Re: libcamera on imx8mp 你好@Sanket_Parekh、 请问 vsi SDK 是什么? 提前感谢你的帮助,顺祝商祺! Khang Re: libcamera on imx8mp 你好@张俊生 希望你一切都好。 如果客户没有自己的 3A 和其他模块算法,我们不建议他们使用 lib-camera、 VSI 软件包是个不错的选择。现在我们将支持 vsi SDK。 如果客户对 lib-camera 感兴趣,并且是 ISP 专家,GitLabhttps://gitlab.com/ideasonboard/nxp/libcamera上有开放源代码。 谢谢& 、 桑凯特-帕瑞克 Re: libcamera on imx8mp 你好@zhangjunsheng、 我找到了这个软件源:https://gitlab.com/ideasonboard/nxp/libcamera Re: libcamera on imx8mp 这里想强调的是——是的,libcamera 对 i.MX8MP 的支持非常好,但是你必须在 Linux 内核上启用正确的内核驱动程序。 libcamera 使用了 Linux 内核中看似不太明显的 RKISP1 驱动程序,因为 ISP 具有共同的传承,但该平台本身得到了非常强大的支持,在商业产品中得到应用,我们可以轻松支持许多用例和定制。 而且您无需签署任何许可协议,即可获得完整的源代码!(所有源代码均可在上游公开获取,网址为https://gitlab.freedesktop.org/camera/libcamera ))
記事全体を表示
S32K3引导加载程序和HSE - 最佳实践? 您好,NXP团队: 我们正在 S32K312 上实施一个强大的 OTA 更新架构,采用 HSE 全块 A/B 交换。 我们的目标架构是: - S32K312,2 MB PFlash 分为两个 1 MB 物理块。 - HSE AB_SWAP 通过被动块激活服务使用。 - 通过 Modbus/串口接收 OTA 数据包。 - 引导加载程序将签名映像加载到被动 PFlash 块中。 - HSE 验证被动图像/SMR。 - 引导加载程序请求 AP_SWAP。 - RESET后,新更换的银行暂时启动。 - 确认命令可使交换永久生效;否则设备将回滚。 最初我们尝试将一个全局引导加载程序放在 DFlash 中,位于两个 PFlash 存储区之外。该引导加载程序将接收 OTA,对被动 PFlash 存储进行编程,请求 HSE AP_SWAP,然后继续管理确认/回滚。 我们采用这种方法遇到了架构和运行时复杂性方面的问题: 1. HSE AB_SWAP 似乎在完整的 PFlash 块边界上进行操作,而不是在任意应用程序分区上进行操作。 2. 单个 DFlash 引导加载程序位于已交换/已验证的银行映像之外。 3. 交换后,活动的 PFlash 存储体仍然需要有效的启动/IVT/RESET 结构。 4. 当 DFlash 也参与引导加载程序运行时/记录处理时,我们遇到了执行方面的困难。 5.目前还不清楚全局 DFlash 引导加载程序是否与干净的全库 HSE AB_SWAP 生产设计兼容。 因此,我们暂时改用复制的PFlash引导加载程序模式: - 每个 1 MB PFlash 存储区包含自己的 IVT + 引导加载程序 + 应用程序。 - 引导加载程序在每个存储体的底部都有一个预留插槽。 应用程序在引导加载程序槽之后启动。 - 已签名的 OTA 镜像是一个完整的银行镜像,包含引导加载程序和应用程序。 - 在 HSE AB_SWAP 之后,新激活的银行是独立的,可以启动。 对于 HSE 全模块 A/B 更换来说,这似乎要干净得多,但我希望确认其预期/生产安全的方法。这样做并不理想,因为它在一定程度上违背了工厂引导加载程序的初衷。 问题: 1.对于 S32K312 HSE AB_SWAP,在交换后的 PFlash 存储体之外,单个全局 DFlash 驻留引导加载程序是否是一种受支持/推荐的架构? 2. 或者 HSE AB_SWAP 是否有效地要求/建议每个被交换的 PFlash 块都是可独立启动的,具有自己的 IVT/引导加载程序/RESET 路径? 3.如果可以使用 DFlash 引导加载程序,那么交换后的引导流程应该如何构建,才能仍然满足 SBAF/HSE 引导预期? 4. NXP 是否有任何参考示例展示了 DFlash 引导加载程序如何在 S32K3 上管理全块 HSE AB_SWAP? 5.对于具有回滚/确认语义的生产 OTA,重复的 PFlash 引导加载程序模型是否是更安全的预期设计? 我们已经看到,通过修改链接器脚本可以将代码和 IVT 链接到 DFlash 中(我们也尝试过),但我们的问题具体是,在使用 HSE 全块 A/B 交换和安全启动/SMR 验证时,这样做是否合适。 谢谢! Re: S32K3 bootloader and HSE - best practice ? 嗨@coratron 1.对于 S32K312 HSE AB_SWAP,在交换后的 PFlash 存储体之外,单个全局 DFlash 驻留引导加载程序是否是一种受支持/推荐的架构? 从硬件角度来看,没有任何限制。两种选择都是可行的。如果数据闪存的容量足够大,并且您不打算将其用于存储数据,则可以将引导加载程序放置在数据闪存中。如果您需要将数据闪存用于其他用途,那么在两个分区中分别保存两份引导加载程序副本是一种常见的做法。 2. 或者 HSE AB_SWAP 是否有效地要求/建议每个被交换的 PFlash 块都是可独立启动的,具有自己的 IVT/引导加载程序/RESET 路径? 不,没有这样的要求。只需在数据闪存(引导加载程序的 IVT)中具有有效的 IVT 即可。通常的做法是,RESET后总是启动引导加载程序,然后引导加载程序跳转到用户应用程序。 3. 如果可以使用 DFlash 引导加载程序,那么交换后的引导流程应该如何构建,才能仍然满足 SBAF/HSE 引导预期? SBAF 或 HSE 没有提出任何具体要求。启动引导加载程序后,它可以决定是跳转到应用程序,还是下载新应用程序,或者执行回滚等操作,然后它应该重置设备(在回滚/交换的情况下)或跳转到应用程序。 4. NXP 是否有任何参考示例展示了 DFlash 引导加载程序如何在 S32K3 上管理全块 HSE AB_SWAP? 我们没有这样的例子。 5. 对于具有回滚/确认语义的生产 OTA,复制的 PFlash 引导加载程序模型是否是更安全的预期设计? 我不认为这两种方法在安全性方面有任何绝对优势。特定架构的适用性取决于整体系统设计、网络安全要求、OTA 工作流程和回滚策略。这两个概念都可以在稳健的生产解决方案中得到实现。 问候, 卢卡斯
記事全体を表示
S32K3 内核掉电错误 & 正在运行(总线错误) 我问 MCU 处于什么状态,在下列情况下会出现什么情况。 有趣的是,如果使用 Over(Trace32) 运行特定函数,问题就会出现,但如果使用 Step(Trace32) 运行,问题就不会出现。 (向 MCU 正常供电)。 Re: S32K3 core power down error & running(bus error) 大家好 我们的项目目前也面临同样的问题。没有使用 CRC 和 C40 模块,但本主题中描述的所有其他内容都适用于我们的情况。 @kjy106906,你的问题解决了吗? 编辑:@danielmartynek,既然是这个话题,你听说过这种问题已经解决了吗? 感谢您的回答 Re: S32K3 core power down error & running(bus error) 你好@kjy106906、 你写道"奇怪的是,即使我添加几行不必要的代码(添加用于调试的 while 语句、添加全局变量等),问题也不会重现。" 如果写入寄存器或 sram 存储器,能否回读,使所有操作都正确序列化? RM,rev.8,第 3.8 节内存操作序列化。 此致, 丹尼尔 Re: S32K3 core power down error & running(bus error) 谢谢@danielmartynek 我还在使用 C40 库。(C40_Ip_Read) 但不返回错误,(返回成功)。 Re: S32K3 core power down error & running(bus error) 读取 DFlash 时,是否使用了驱动程序? 因为驱动程序会检查错误: 谢谢! 丹尼尔 Re: S32K3 core power down error & running(bus error) 谢谢@danielmartynek 由于公司网络安全原因,无法共享整个项目。 即使我分享我的精灵,它目前也能在我的游戏板上运行。 在您的环境中可能无法进行测试。 也无法共享简化精灵。 奇怪的是,即使我添加几行不必要的代码(添加用于调试的 while 语句、添加全局变量等),问题也不会重现。 目前,此问题已在 5 个电池管理系统板中出现。 这一切都与 Dataflash 有关。 出现上述现象的原因会不会是数据闪存区损坏或其他错误? Re: S32K3 core power down error & running(bus error) 你好@kjy106906、 我想在我这边进行测试。 您能分享一下这个项目吗? 或者最好是使用.elf的简化版本能重现该问题吗? 如果您不想在这里分享,请创建一张票据。 谢谢! 丹尼尔 Re: S32K3 core power down error & running(bus error) 谢谢@danielmartynek 我目前使用的是 Vector Microsar MCU 没有输入任何 Os Hal 故障(异常)。 如果输入了 MCU 异常,我想我会在调试器中看到 MCU 跳转到相应的代码,但是当前 Trace32 中会输出总线错误。 因此,例外情况似乎并未发生。 如果还有其他需要检查的地方,请告诉我。 RESET_B 或非 VDD_HA_A 跌至低点。 此问题会导致在没有 Trace32 的情况下以仅限电池管理系统的状态无限 RESET SBC。由于该问题发生在 Dataflash Init 中,因此 MCU 无法运行,SBC 会无限 RESET。 所以这也不是劳特巴赫的问题。 这对我们来说是一个重要问题。如果还有其他需要检查的地方,请告诉我。 Re: S32K3 core power down error & running(bus error) 你好@kjy106906、 因此,我认为核心不会检测到任何故障异常,也不会转到 HardFault_Handler()。 你能监测 reset_b 引脚吗?应用程序是否正在运行? 如果是这样,可能是劳特巴赫问题。 BR,丹尼尔 Re: S32K3 core power down error & running(bus error) 谢谢 即使我在错误处理程序上设置了中断,中断也不会发生,MCU 会进入相应的状态。 我想知道 MCU 现在处于什么状态,以及进入这种状态的原因。 Re: S32K3 core power down error & running(bus error) 你好@kjy106906、 请查看有关故障异常的更多信息。 请参考这些文件: https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 如果 BFARVALID = 1,则读取可配置故障状态寄存器 (CSFR) 和总线故障地址寄存器 (BFAR)。您应该能在堆栈中找到故障指令的 PC 地址。 此致, 丹尼尔 Re: S32K3 core power down error & running(bus error) 谢谢@danielmartynek 该功能不是 RTD 功能,而是一个简单的计算功能。 计算特定地址上 C40 读取数据的 CRC 时出现问题。 该问题出现在执行 CRC 计算功能时,而不是读取数据时。 MCU:S32K312,RTD 版本:2.0.0 我想知道 MCU 现在处于什么状态,以及进入这种状态的原因。 Re: S32K3 core power down error & running(bus error) 你好@kjy106906、 你能说得更具体一些吗? 你在这里做什么工作? 如果您使用 MCU 和 RTD,是否还能说明其版本? 谢谢! BR,丹尼尔 Re: S32K3 core power down error & running(bus error) @kjy106906 , @danielmartynek 同样的问题,您是否找到了根本原因? 使用尺寸优化也会出现此问题,如果不进行任何优化,则问题会消失。 Re: S32K3 core power down error & running(bus error) 你好, 我们最终找到了我们这边问题的根本原因。 它与 NXP 勘误表ERR052460有关,该勘误表与分支推测有关。以下代码片段修正了该行为。 // NXP ERR052460 Workaround: Cortex-M7: A hang scenario can occur when a reserved read locked memory region is accessed by application cores *((uint32_t*) 0x402AC0F0) = 0x1CB0499Du; *((uint32_t*) 0x402AC0F0) = 0xB9920D38u; 我不确定这是否是你们那边的根本原因(我不是恩智浦的员工,而且他们似乎也不会回应),但值得检查一下。
記事全体を表示
MC34GD3000 gate drive output voltage level when VPWR is 24 V Hello NXP Community, I am planning to use the MC34GD3000 to drive a 24 V, 26 W motor. In many reference circuits and examples, the VPWR supply of the MC34GD3000 appears to be connected to the same supply voltage as the motor supply. In my application, the motor supply voltage will be 24 V, so VPWR of the MC34GD3000 will also be 24 V. I would like to clarify the gate drive output voltage level of the MC34GD3000. In the datasheet absolute maximum ratings table, I found values such as: - PX_HS_G to PX_HS_S: 3.0 V to 16.5 V - PX_LS_G to PX_LS_S: 3.0 V to 16.5 V - PX_BOOT to PX_HS_S: 3.0 V to 16.5 V My question is: When VPWR is 24 V, what is the actual PWM gate drive output voltage level of the MC34GD3000? Does the gate drive output become 24 V because VPWR is 24 V, or is the gate drive output limited to approximately 16.5 V maximum with respect to each MOSFET source node? For example, for the low-side MOSFET, should I understand that PX_LS_G to PX_LS_S is driven up to around 15 V, not 24 V? And for the high-side MOSFET, should I understand that PX_HS_G is driven above the phase node, but the gate-to-source voltage PX_HS_G to PX_HS_S is still limited to around 15 V? I would appreciate your confirmation. Thank you. BLDC Driver Re: MC34GD3000 gate drive output voltage level when VPWR is 24 V Hello, Yes, your understanding is correct. Even when VPWR is connected to a 24 V motor supply, the MC34GD3000 does not drive the MOSFET gates to 24 V with respect to their source terminals. The device generates an internal gate-drive supply (VLS), which is regulated to approximately 15 V. Therefore: For the low-side MOSFET, PX_LS_G is driven to approximately 15 V above PX_LS_S. For the high-side MOSFET, PX_HS_G is driven above the phase node through the bootstrap circuit, but the gate-to-source voltage PX_HS_G − PX_HS_S remains approximately 15 V. The limits shown in the datasheet (PX_HS_G to PX_HS_S and PX_LS_G to PX_LS_S) represent the effective gate-to-source drive voltage and indicate that the gate drive is not equal to the 24 V VPWR supply. Hope this helps!
記事全体を表示
版本 2 问题:C 代码生成、预览 你好! 我开始测试 GUI Guider 版本 2,发现了一些问题(从空白模板和 Windows 模拟器开始)。 我开始定义顶层的内容,添加了一个图像按钮,并创建了一个事件处理程序,以便在长按按钮时切换状态。 生成的代码存在一些错误,例如: gg_event_layer_top.c: static void lv_layer_top()_event_handler(lv_event_t * e) { ... } void gg_event_init_layer_top ( gg_ui_t * ui😞 lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); (括号会导致解析错误) 手动删除括号后,会出现以下错误: .../generated/events/gg_event_layer_top.c:59:38: 错误:'gg_layer_top_t' 没有名为 'lv_layer_top' 的成员 (gg_layer_top_t 定义中不包含该成员) 我是否遗漏了某些定义,导致无法正确生成这些函数?
記事全体を表示
Zephyr の FlexSpi 1 台で 2 つの NOR フラッシュを構成できない こんにちは、 私は i.mx RT1050 ボードをベースにしたボードを使って作業しています。flexspi の 2 つのバンクには 2 つの NOR フラッシュがコネクテッド。XIP ブートにはバンク 1 も使用しています。フラッシュを 1 つだけ使用すると正常に動作します。しかし、2 番目のフラッシュを追加すると、LUT 用のスペースが不足しているように見える問題が発生します。私の 2 つのフラッシュは w25q128 と w25q64 で、それぞれ flexspi ポート A1 と B1 にコネクテッドされています。   これはオーバーレイ ファイル内の私の設定です。   / { chosen { zephyr,flash-controller = &w25q128jv; zephyr,flash = &w25q128jv; zephyr,code-partition = &slot0_partition; }; };   &flexspi { status = "okay"; rx-clock-source = <1>; pinctrl-0 = <&pinmux_flexspi1>; pinctrl-names = "default"; reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(64)>; /delete-node/ is25wp064@0; w25q128jv: w25q128jv@0 { compatible = "nxp,imx-flexspi-nor"; size = ; reg = <0>; spi-max-frequency = <104000000>; status = "okay"; jedec-id = [ef 70 18]; erase-block-size = ; write-block-size = <16>; enter-4byte-addr = <0>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "mcuboot"; reg = <0x00000000 DT_SIZE_K(256)>; }; /* Adjusted slot sizes for 16MB total */ slot0_partition: partition@20000 { label = "image-0"; reg = <0x00040000 (DT_SIZE_M(3) + DT_SIZE_K(512))>; }; slot1_partition: partition@320000 { label = "image-1"; reg = <0x00320000 DT_SIZE_M(3)>; }; storage_partition: partition@620000 { label = "storage"; reg = <0x00620000 (DT_SIZE_M(1) - DT_SIZE_K(768))>; }; }; }; w25q64jv: w25q64jv@2 { compatible = "nxp,imx-flexspi-nor"; size = ; /* 8MB (64Mbit) flash */ reg = <2>; /* FlexSPI B */ spi-max-frequency = <104000000>; status = "okay"; jedec-id = [ef 40 17]; /* Winbond W25Q64JV JEDEC ID */ erase-block-size = ; write-block-size = <16>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; data_partition: partition@0 { label = "data-storage"; reg = <0x00000000 DT_SIZE_M(8)>; }; }; }; };   そしてピンマックスは、   &pinctrl { pinmux_flexspi1: pinmux_flexspi1 { group_a { pinmux = <&iomuxc_gpio_sd_b1_06_flexspi_a_ss0_b>, <&iomuxc_gpio_sd_b1_07_flexspi_a_sclk>, <&iomuxc_gpio_sd_b1_08_flexspi_a_data0>, <&iomuxc_gpio_sd_b1_09_flexspi_a_data1>, <&iomuxc_gpio_sd_b1_10_flexspi_a_data2>, <&iomuxc_gpio_sd_b1_11_flexspi_a_data3>; drive-strength = "r0-6"; slew-rate = "fast"; nxp,speed = "200-mhz"; input-enable; }; group_b { pinmux = <&iomuxc_gpio_sd_b1_03_flexspi_b_data0>, <&iomuxc_gpio_sd_b1_02_flexspi_b_data1>, <&iomuxc_gpio_sd_b1_01_flexspi_b_data2>, <&iomuxc_gpio_sd_b1_00_flexspi_b_data3>, <&iomuxc_gpio_sd_b1_04_flexspi_b_sclk>, <&iomuxc_gpio_sd_b1_05_flexspi_b_ss0_b>; drive-strength = "r0-6"; slew-rate = "fast"; nxp,speed = "200-mhz"; input-enable; }; };     起動時にプログラムはこのwhileループに突入し、   if (flash_flexspi_nor_probe(data)) { if (memc_flexspi_is_running_xip(&data->controller)) { /* We can't continue from here- the LUT stored in * the FlexSPI will be invalid so we cannot XIP. * Instead, spin here */ while (1) { /* Spin */ } } LOG_ERR("SFDP probe failed"); return -EIO; }     ステップごとにデバッグしてみると、各フラッシュ デバイスが LUT で 40 ~ 48 のスペースを使用しているように見えます。したがって、フラッシュが 2 つあると、最大 LUT である 64 を超えてしまいます。   何か間違ったことをしているのでしょうか?これを実現するにはどうすればいいでしょうか i.MXRT 105x Re: Cannot configure two NOR flashes on single FlexSpi in Zephyr 2 つのフラッシュを並列モードではなく独立して使用していると理解しています。XIP に使用されるフラッシュの LUT を予約し、IP コマンドを使用して他のフラッシュにアクセスできます。もう 1 つのオプションは、2 つのフラッシュの LUT をリサイクルすることです (両者の差はサイズであるため)。そして、2 番目のフラッシュの SFDP を無効にします。 BR、 オマール Re: Cannot configure two NOR flashes on single FlexSpi in Zephyr こんにちは、 私も同じ問題に直面しています。 どうやって問題を解決したのか教えていただけますか?2つ目のフラッシュメモリにデータを保存する必要があるだけです。2回目のフラッシュだけにXIPを無効にするにはどうすればいいですか? ありがとうございました。 よろしくお願いいたします。 アドリアン・クレリス
記事全体を表示
Winbond W664GG6RB-06 的 IMX-8M-MINI DDR 控制器时序 你好, 我们正在寻找 DDR4 时序设置不工作的原因。简而言之, DDR工具生成的时序数据通过了校准和压力测试,但导致了 Linux 内核在启动过程中偶尔崩溃,并出现“未定义指令”错误。 基本情况(原始数据): - 该SoC为i.MX8M Mini Solo(单核Cortex-A53),DDR4(Winbond W664GG6RB-06)。 1200 MHz (DDR4-2400),采用 1:2 DFI (DDR PHY 接口) 频率比模式,具有 单 x16 4 Gb 设备(512 MB,无 ECC)。 - 电路板支持包为 NXP L4.14.98_2.0.0(Linux 4.14.98,U-Boot 2018.03);DDR 配置为 使用 MSCALE DDR Tool v3.31(Windows 版本)和 PHY 训练固件生成 v201709。Yocto 也使用相同的固件来构建 U-Boot 启动映像。 我们正在为三条可互换的 4Gb x16 DDR4 内存条验证一套通用的时序集。 部件(Alliance AS4C256M16D4、ISSI IS43QR16256B、Winbond W664GG6RB-06),全部运行 频率为 1200 MHz。 - 为了满足最慢部件(Winbond)的 tRCD/tRP/tAA 要求(在 2400 像素档位下约为 14.16 ns),我们 设置 CL=17 (17-17-17),该工具将其编码为 MR0 = 0x0864,并与之匹配。 CL衍生寄存器(例如)DFITMG0 = 0x038C8207,DRAMTMG2 = 0x0609050D)。 - 动态随机存取存储器(DRAM) 以静态模式运行在 2400 设定点(设备中已禁用 DVFS/总线频率)。 因此,Linux 在运行时不会进行频率缩放。 观察结果: - 17-17-17 配置通过了 DDR 工具压力测试(约 24 小时)和 U-Boot mtest(约 1 小时)测试。 没有错误。 - 在 Linux 系统下(启动到 shell 提示符时),它也能通过 stressapptest+ 测试。 fio(经 crc32c 验证),即使在 Tj = 84 °C 下,也能持续超过一小时。 数据无错误。 然而,Linux 在启动过程中偶尔会崩溃,并显示“内部错误: 未定义的指令”(内核.text文件损坏),内核运行约 1.1 秒后,大约 5-7% 的冷启动(通过自动冷启动循环测量)。 - 该故障与芯片无关:CL=17 映像在一秒钟内以相同的方式崩溃 这些部分(ISSI),而 CL=16 镜像可以在同一个 ISSI 上可靠地启动 Linux。 部分。 - 两种 even-CL 配置都能可靠地启动 Linux:16-16-16(我们长期使用的生产环境配置) 时序)以及新版本的 18-18-18 内核(未观察到内核崩溃)——仅奇数 CL 17-17-17 失败。 - 故障配置和正常工作配置之间只有 CL 衍生寄存器不同 (MR0) CAS 位,DFITMG0 dfi_t_rddata_en,DRAMTMG2 读取延迟 / rd2wr,DFITMG2 rdcslat, ODTCFG rd_odt_delay)。 假设: 我们怀疑1:2 DFI比率下异常的CAS延迟是根本原因:读取数据 DFI 时钟的返回延迟为 CL/2——对于 CL=17,返回延迟为非整数 8.5,而对于整数 8.0,返回延迟为 8.0。 / CL=16 时为 9.0 / 18。由于读取 FIFO(由 DQS 写入,由控制器读取) 时钟(参考手册 §9.3.2.2.2)处理稳态和稳态应力 我们怀疑,边缘性会在读取突发到突发转换时显现出来,其中 奇怪的 CL 的半个 DFI 时钟偏移会触发 RM 不会触发的首尾节拍极端情况。 文档。 问题: 异常CAS延迟(例如)i.MX8M Mini DDR4 PHY 支持 CL=17,采用 1:2 DFI 模式。 模式,或者对于奇数CL是否存在已知的限制/勘误?特别是——DDR能否做到这一点 该工具生成了一种特殊的CL配置,虽然它通过了自身的压力测试,但性能却很差。 在实际启动流量下,是否有推荐的方法来限制读取操作? 奇数 CL 的突发间时序? 附件:内核崩溃控制台转储文件,CL=17 .dsDDR 工具的脚本,以及 生成了 ddr4_timing.c。 任何建议都将不胜感激。 Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 抱歉,附件不知为何没有上传成功。以下是它们。 Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 你好, 请尝试将 CL 值从 17 改为18,运行 DDR 测试并再次测试您的 Linux 系统,我建议您升级到更新的版本。 Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 请检查以下各部分的时序参数,包括 CAS 延迟 tRCD(ns) 和 tRP(ns)。 Alliance AS4C256M16D4 DDR4-2400 17 14.1614.16 ISSI IS43QR16256B 2400Mbps 16-16-16 (-083R) Winbond W664GG6RB-06 DDR4-2400 17-17-17 IS43QR16256B 的第 3 个参数不同。所以您可能需要为这 3 个部分分别设置不同的参数,而不是使用一个参数来控制所有 3 个部分。看来这个问题只在冷启动时出现,对吗?
記事全体を表示
imx95 turn off vdd_soc when suspend to ram Hi, We trying to turn off VDD_SOC after idle state. For example on m33 console: lm suspend lm M7 suspend idle Then we turn off vdd soc (by settingup pf09 stby mode with off vdd soc) Then release stby pin, VDD_SOC on m33 start from scratch and we still have RAM saved. We change code in spl to go for warm boot path in bl31 and sucessfully boot up to kernel. However then, kernel got stuck after that, you can see lastest log as follow. I wonder what can be differences between two cases: - case normal suspend: (keep vdd_soc) - case abnormal (vdd_soc off)  should we do something else on m33 startup for reinitialize some thing in this case? [2026-07-06 10:39:55.070] NOTICE: BL31: warm resume NS context restored [2026-07-06 10:39:55.074] [ 1018.529356][ T3251] Calling its_restore_enable+0x0/0x1ac [2026-07-06 10:39:55.080] [ 1018.529356][ T3251] Calling cpu_pm_resume+0x0/0x5c [2026-07-06 10:39:55.084] [ 1018.529356][ T3251] Calling kvm_resume+0x0/0x68 [2026-07-06 10:39:55.089] [ 1018.529356][ T3251] Calling irq_gc_resume+0x0/0x110 [2026-07-06 10:39:55.094] [ 1018.529356][ T3251] Calling irq_pm_syscore_resume+0x0/0x24 [2026-07-06 10:39:55.100] [ 1018.529356][ T3251] Calling timekeeping_resume+0x0/0x188 [2026-07-06 10:39:55.105] [ 1018.529356][ T3251] Calling sched_clock_resume+0x0/0xd0 [2026-07-06 10:39:55.110] [ 1018.529619][ T3251] Enabling non-boot CPUs ... [2026-07-06 10:39:55.142] [ 1018.559214][ T0] Detected VIPT I-cache on CPU1 [2026-07-06 10:39:55.146] [ 1018.559246][ T0] GICv3: CPU1: found redistributor 100 region 0:0x0000000048080000 [2026-07-06 10:39:55.154] [ 1018.559293][ T0] CPU1: Booted secondary processor 0x0000000100 [0x412fd050] [2026-07-06 10:39:55.161] [ 1018.560868][ T3251] CPU1 is up [2026-07-06 10:39:55.191] [ 1018.608610][ T0] Detected VIPT I-cache on CPU2 [2026-07-06 10:39:55.196] [ 1018.608642][ T0] GICv3: CPU2: found redistributor 200 region 0:0x00000000480a0000 [2026-07-06 10:39:55.203] [ 1018.608686][ T0] CPU2: Booted secondary processor 0x0000000200 [0x412fd050] [2026-07-06 10:39:55.210] [ 1018.610091][ T3251] CPU2 is up [2026-07-06 10:39:55.240] [ 1018.657836][ T0] Detected VIPT I-cache on CPU3 [2026-07-06 10:39:55.245] [ 1018.657870][ T0] GICv3: CPU3: found redistributor 300 region 0:0x00000000480c0000 [2026-07-06 10:39:55.253] [ 1018.657917][ T0] CPU3: Booted secondary processor 0x0000000300 [0x412fd050] [2026-07-06 10:39:55.260] [ 1018.659332][ T3251] CPU3 is up [2026-07-06 10:39:55.289] [ 1018.707065][ T0] Detected VIPT I-cache on CPU4 [2026-07-06 10:39:55.294] [ 1018.707101][ T0] GICv3: CPU4: found redistributor 400 region 0:0x00000000480e0000 [2026-07-06 10:39:55.302] [ 1018.707151][ T0] CPU4: Booted secondary processor 0x0000000400 [0x412fd050] [2026-07-06 10:39:55.309] [ 1018.708560][ T3251] CPU4 is up [2026-07-06 10:39:55.339] [ 1018.756298][ T0] Detected VIPT I-cache on CPU5 [2026-07-06 10:39:55.344] [ 1018.756332][ T0] GICv3: CPU5: found redistributor 500 region 0:0x0000000048100000 [2026-07-06 10:39:55.351] [ 1018.756379][ T0] CPU5: Booted secondary processor 0x0000000500 [0x412fd050] [2026-07-06 10:39:55.359] [ 1018.758206][ T3251] CPU5 is up [2026-07-06 10:39:55.362] [ 1018.781314][ T3251] rpmsg-lifecycle rpmsg-lifecycle: PM: calling rpmsg_lifecycle_resume_noirq @ 3251, parent: platform [2026-07-06 10:39:55.373] [ 1018.792078][ T3251] rpmsg-lifecycle rpmsg-lifecycle: PM: rpmsg_lifecycle_resume_noirq returned 0 after 1 usecs [2026-07-06 10:39:55.383] [ 1018.802181][ T3251] arm-smmu-v3 490d0000.iommu: PM: calling arm_smmu_resume [arm_smmu_v3] @ 3251, parent: 49000000.bus [2026-07-06 10:39:55.394] [ 1018.812966][ T3251] arm-smmu-v3 490d0000.iommu: PM: arm_smmu_resume [arm_smmu_v3] returned 0 after 60 usecs [2026-07-06 10:39:55.403] [ 1018.822745][ T3251] imx_mu 445b0000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: 44000000.bus [2026-07-06 10:39:55.414] [ 1018.833538][ T3251] imx_mu 445b0000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 3 usecs [2026-07-06 10:39:55.424] [ 1018.843279][ T3251] imx_mu 47300000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.434] [ 1018.853283][ T3251] imx_mu 47300000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 2 usecs [2026-07-06 10:39:55.444] [ 1018.863029][ T3251] imx_mu 47320000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.454] [ 1018.873031][ T3251] imx_mu 47320000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs [2026-07-06 10:39:55.464] [ 1018.882772][ T3251] imx_mu 47330000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.474] [ 1018.892773][ T3251] imx_mu 47330000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs [2026-07-06 10:39:55.483] [ 1018.902513][ T3251] imx_mu 47340000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.493] [ 1018.912516][ T3251] imx_mu 47340000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs [2026-07-06 10:39:55.503] [ 1018.922256][ T3251] imx_mu 47350000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.513] [ 1018.932256][ T3251] imx_mu 47350000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs [2026-07-06 10:39:55.523] [ 1018.941998][ T3251] imx_mu 47550000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: soc [2026-07-06 10:39:55.533] [ 1018.952002][ T3251] imx_mu 47550000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 1 usecs [2026-07-06 10:39:55.542] [ 1018.961770][ T3251] imx_mu 42430000.mailbox: PM: calling imx_mu_resume_noirq [imx_mailbox] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.553] [ 1018.972548][ T3251] imx_mu 42430000.mailbox: PM: imx_mu_resume_noirq [imx_mailbox] returned 0 after 0 usecs [2026-07-06 10:39:55.563] [ 1018.982411][ T3251] fsl-lpuart 42590000.serial: PM: calling lpuart_resume_noirq [fsl_lpuart] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.574] [ 1018.993375][ T3251] fsl-lpuart 42590000.serial: PM: lpuart_resume_noirq [fsl_lpuart] returned 0 after 2 usecs [2026-07-06 10:39:55.584] [ 1019.003326][ T3251] fsl-lpuart 44380000.serial: PM: calling lpuart_resume_noirq [fsl_lpuart] @ 3251, parent: 44000000.bus [2026-07-06 10:39:55.595] [ 1019.014289][ T3251] fsl-lpuart 44380000.serial: PM: lpuart_resume_noirq [fsl_lpuart] returned 0 after 4 usecs [2026-07-06 10:39:55.605] [ 1019.024225][ T3251] imx-lpi2c 42530000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.616] [ 1019.035009][ T3251] imx-lpi2c 42530000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 1 usecs [2026-07-06 10:39:55.626] [ 1019.044756][ T3251] imx-lpi2c 42540000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.636] [ 1019.055531][ T3251] imx-lpi2c 42540000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs [2026-07-06 10:39:55.646] [ 1019.065272][ T3251] imx-lpi2c 426b0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.657] [ 1019.076047][ T3251] imx-lpi2c 426b0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs [2026-07-06 10:39:55.667] [ 1019.085794][ T3251] imx-lpi2c 426c0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.677] [ 1019.096567][ T3251] imx-lpi2c 426c0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs [2026-07-06 10:39:55.687] [ 1019.106304][ T3251] imx-lpi2c 426d0000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 42000000.bus [2026-07-06 10:39:55.698] [ 1019.117086][ T3251] imx-lpi2c 426d0000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs [2026-07-06 10:39:55.708] [ 1019.126830][ T3251] imx-lpi2c 44350000.i2c: PM: calling lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251, parent: 44000000.bus [2026-07-06 10:39:55.718] [ 1019.137605][ T3251] imx-lpi2c 44350000.i2c: PM: lpi2c_resume_noirq [i2c_imx_lpi2c] returned 0 after 0 usecs [2026-07-06 10:39:55.728] [ 1019.147353][ T3251] imx-irqsteer 4b0b0000.interrupt-controller: PM: calling genpd_resume_noirq @ 3251, parent: soc [2026-07-06 10:39:55.738] [ 1019.157693][ T3251] PM: GENPD_RESUME_NOIRQ dev=4b0b0000.interrupt-controller domain=display task=kworker/4:5 pid=3251 [2026-07-06 10:39:55.749] [ 1019.168295][ T3251] SCMI_PD display domain=13 state=on task=kworker/4:5 pid=3251 Linux PMIC Re: imx95 turn off vdd_soc when suspend to ram There are no error in the log, but a55 just stop there. In normal case (without turning of vddsoc), it continue to run We try to reduce more power consumption on sleep mode so we try this way to turn off vddsoc while keeping RAM. Re: imx95 turn off vdd_soc when suspend to ram it seem there are no error information at the log. Whether turn voltage off or not may lead to the current consumption difference. Do you notice any power consumption difference and why do you want to turn off VDDSOC? Re: imx95 turn off vdd_soc when suspend to ram Hi @thinkembedsw  VDD_SOC (and related digital supply) voltage is reduced to the “Suspend mode” voltage. It does not support being turned off directly B.R
記事全体を表示
Module selection for ADC application I would like to start developing an application around a MXP board, but I'm having trouble selecting a specific compute module I can use. I'm a bit overwhelmed by the variety and unsure about which products can actually do what I need. My understanding is that there are multiple SOCs that offer ADCs. I need something with higher compute power, and at least 4 ADC channels. Which specific development boards can I use, and which modules and boards can I use to build this application? Is there a supplier who can assist me selecting the specific boards I can purchase? Re: Module selection for ADC application I believe an MPU to ensure there's enough processing power, plus we are not so much worried about power consumption or cost. We are also interested in being able to use Profinet. And then it should have at least 4 ADC channels with more than 100ksps (per channel). My understanding is that an i.MX 9 MPU might fit. One alternative on my mind would be getting a Raspberry Pi Pico with a separate ADC module and Ethernet module. But I suspect an NXP system should be able to offer everything I need. But there's such a variety of products even if I settle for a specific chip, and it's often unclear if I'll get a suitable ADC, which is the most important feature of all for me. Re: Module selection for ADC application Hello, What are you looking for? is it an MCU? an MPU? We can help you with that if you can provide more information about the project. Also, we have a product search in the webpage https://www.nxp.com/design/design-center/development-boards-and-designs:EVDEBRDSSYS?collection=devBoardsDesigns&start=0&max=12&language=en&query=typeTax%3E%3Et633_t763 Best regards/Saludos, Aldo. Re: Module selection for ADC application Hello, Yes, any of the i.MX9 familly should be usable, it would depend of the graphics and other peripherals which one should be better on your use case. For this the i.MX91, i.MX93 & i.MX95 all three have FRDM boards and have the same specs on the ADC: • It includes eight channels, four of them connected to pins in the package. • Support the 1MS/s frequency of operation • Multiple modes of starting conversion (Normal, Injected) Normal mode supports One-Shot and Scan (continuous) conversion Injected mode supports One-Shot conversions only • Support TRGMUX to allow 16 trigger channels to be used by any ADC channel i.MX93 https://www.nxp.com/products/i.MX93 i.MX93 FRDM https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-IMX93 i.MX91 https://www.nxp.com/products/i.MX91 i.MX91 FRDM https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-IMX91 i.MX95 https://www.nxp.com/products/i.MX95 i.MX95 FRDM https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-IMX95 Also, you may have a look the the EVKs for each one but as you have mentioned RPI I think the FRDM boards would be of interest for you. Best regards/Saludos, Aldo.
記事全体を表示
连续两次测量中接收灵敏度相差 10dB 我发现我们一款使用 QN9083 BLE SoC 的产品出现了异常行为。当我测量设备接收器灵敏度时,我发现连续两次测量之间有高达 10dB 的差异。我正在使用 CMW100 的广播模式进行测量,该设备放置在屏蔽的射频盒中。在不打开盒子和/或改变设备位置的情况下,连续进行 RxS 测量,设备的响应差异高达 10dB(即 -91dBm 和 -81dBm),这是意料之外的,以前从未发生过。这种行为是随机的。我正在寻找硬件和软件方面可能的原因。 Re: Rx sensitivity differs by 10dB between consecutive measurements 你好, 连续两次灵敏度测量结果之间出现高达 10 dB 的变化,这通常是我们意想不到的。 能否告知您当前使用的软件/SDK 版本? 另外,您能否澄清一下: 这种情况是发生在单个设备上还是多个产品上? 您是否在不同的单元中观察到过同样的情况? 使用相同的测量设置,能否在 NXP 开发板上重现该问题? 这些信息将有助于确定问题是硬件、软件还是测试环境特有的。 顺祝商祺! 里卡多 Re: Rx sensitivity differs by 10dB between consecutive measurements 您好,感谢您的回复。我的回答如下: 能否告知您当前使用的软件/SDK 版本? 5.0 版本基于156414(控制器子系统)和 156821(主机子系统) 这种情况是发生在单个设备上还是多个产品上? 同一款产品。使用其他产品从未遇到过问题。 您是否在不同的单元中观察到过同样的情况? 是的,但并非始终如此。 使用相同的测量设置,能否在 NXP 开发板上重现该问题? 我需要一块搭载 QN9083 芯片的开发板,以及一个能将芯片设置为广播模式的固件。 谢谢!       Re: Rx sensitivity differs by 10dB between consecutive measurements 关于BLE版本的其他信息: SDK 2.2.3 BLE 1.5.6,支持 BLE Core 5.0。
記事全体を表示
i.MX8MPLUS uSDHC HS400 模式,带增强型频闪功能 HS400 是否有推荐的激活增强型频闪功能的步骤?是否只需在 MIX_CTRL 寄存器中设置 EN_HS400_MODE 即可,还是需要在 STROBE_DLL_CTRL 寄存器中进行一些额外的修改? 此致, 斯特凡 Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe 嗨@Stefan_CIT HS400ES 需要同时在 eMMC 端和主机端进行配置。单独设置 EN_HS400_MODE 只是主机端配置的一部分,不足以启用 HS400 增强型频闪功能。 如果您使用的是 Linux BSP,驱动程序会自动完成 DLL 和调优配置。 此致, 志明 Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe 嗨@Zhiming_Liu 谢谢回复。 我们使用 #I.MX8MPLUS 和 INTEGRITY OS,并自行维护 uSDHC 驱动程序。所以,我将尝试从 Linux 驱动程序转移该进程。 顺祝商祺! 斯特凡 Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe 这些参考手册中有关于 Strobe-DLL 和切换到增强型频闪模式的更详细的文档。 https://www.nxp.com/docs/en/reference-manual/IMX93RM.pdf 我猜想 i.MX9 处理器仍然沿用了相同的 uSDHC-IP。 问候, 斯特凡
記事全体を表示
ウィンボンドW664GG6RB-06用IMX-8M-MINI DDRコントローラのタイミング こんにちは、 DDR4タイミングセットが正常に動作しない理由について説明を求めています。簡単に言えば、 DDRツールによって生成されたタイミングは校正および応力試験に合格しましたが、 断続的なLinuxカーネルは起動時にクラッシュし、「未定義命令」エラーが発生します。 設定(生の事実): - SoCはi.MX8M Mini Solo(シングルCortex-A53)、DDR4(Winbond W664GG6RB-06)です。 1200 MHz(DDR4-2400)は1:2 DFI(DDR PHYインターフェース)周波数比モードで、 単一のx16 4 Gbデバイス(512MB、ECCなし)。 - BSPはNXP L4.14.98_2.0.0(Linux 4.14.98、U-Boot 2018.03);DDRの設定は Mscale DDR Tool v3.31(Windows版)とPHYトレーニングファームウェアで生成 v201709。同じファームウェアがYoctoでU-Bootイメージの構築に使われています。 - 3つの交換可能な4Gb x16 DDR4メモリに対して、共通のタイミングセットを1つ認定しています。 部品(Alliance AS4C256M16D4、ISSI IS43QR16256B、Winbond W664GG6RB-06)はすべて動作しています 1200MHzで。 - 最も遅い部分 (Winbond) の tRCD/tRP/tAA (2400 bin で約 14.16 ns) を満たすために、 CL=17 (17-17-17) を設定すると、ツールはそれを MR0 = 0x0864 とエンコードし、対応する CL由来レジスタ(例:DFITMG0 = 0x038C8207、DRAMTMG2 = 0x0609050D)。 - DRAMは2400設定値で静的動作(デバイス内でDVFS/バス周波数が無効化) そのため、Linuxによる実行時の周波数スケーリングはありません。 観察結果: - 17-17-17構成は、DDRツールのストレステスト(約24時間)とU-Bootのmtest(約1時間)に合格します。 エラーなし。 - Linux上(シェルプロンプトに到達した起動時)ではstressapptest +にも合格します fio(CRC32C認証済み)は、Tj = 84°Cの温度で1時間以上連続かつ一定温度で、 データエラーはゼロです。 - それにもかかわらず、Linuxは起動時に「内部エラー: 未定義命令」(破損したカーネルの.text)、カーネル開始から約1.1秒後、 コールドブートの5~7%(自動コールド電源サイクルループで測定)。 - 故障はダイに依存しない:CL=17の画像も1秒間で同じ方法でクラッシュします これらの部分(ISSI)を使い、CL=16イメージは同じISSI上でLinuxを安定して起動します パート。 - 両方のeven-CL構成がLinuxを安定して起動します:16-16-16(当社の長年にわたる本番環境) タイミング)および新たに構築された18-18-18(カーネルクラッシュは見られません)—ただし、奇数CLのみです。 17-17-17は失敗。 - CL由来のレジスタのみが失敗設定と動作設定(MR0)で異なります CASビット、DFITMG0 dfi_t_rddata_en、DRAMTMG2リードレイテンシ/rd2wr、DFITMG2 rdcslat、 ODTCFG rd_odt_delay)。 仮説: 1:2のDFI比率での奇数CASレイテンシが根本原因、すなわち読み取りデータ(リードデータ)にあると推測しています 返還レイテンシはDFIクロックでCL/2であり、CL=17の場合は整数8.5、整数8.0は非整数です / 9.0 で CL=16 / 18。読み取りFIFO(DQSが書き、コントローラが読み取り)以降 クロック(リファレンス・マニュアル§9.3.2.2.2)は定常状態と定常応力を扱います 通過し、エッジ性は読み取りバースト間遷移で表面が現れると推測します。ここで 奇数CLの半DFIクロックオフセットは、RMが直面しない初拍・最後のビートのエッジCASEに当てはまります 記録を残す。 質問: CASレイテンシは奇数です(例:CL=17) は、1:2 DFI の i.MX8M Mini DDR4 PHY でサポートされています。 モード、または奇数CLに関する既知の制約/エラーはありますか?特にDDRは ツールは独自のストレステストを通過するが限界的な奇数CL構成を生成する 実際のブートトラフィックの下で、読書を制限する推奨方法はありますか? 奇数のCLのバースト・トゥ・バーストタイミングは? 添付ファイル:カーネルクラッシュコンソールダンプ、CL=17 .dsDDRツールのスクリプト、および ddr4_timing.c が生成されました。 どんなアドバイスでもありがたいです。 Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 申し訳ありませんが、何らかの理由で添付ファイルが添付されませんでした。それらは以下の通りです。 Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 以下の部品のタイミングパラメータで、CASレイテンシのtRCD(ns)tRP(ns)を確認してください。 Alliance AS4C256M16D4 DDR4-2400 17 14.1614.16 ISSI IS43QR16256B 2400Mbps 16-16-16 (-083R) ウィンボンド W664GG6RB-06 DDR4-2400 17-17-17 IS43QR16256Bの3番目のパラメータは異なります。そのため、3つのパーツごとに専用の設定が必要になるかもしれませんが、3つのパーツすべてに1つの設定を使うのではなく。問題は起動時のみ発生するようですね? Re: IMX-8M-MINI DDR Controller timings for Winbond W664GG6RB-06 こんにちは、 CL=17からCL=18に修正して再試し、DDRテストを実行し、Linuxを再度テストしてください。新しいバージョンへのアップグレードをおすすめします。
記事全体を表示
MCUXpresso SDKにおけるEzurio Sona NX611のサポート こんにちは、 Ezurio Sona NX611ワイヤレスカードはMCUXpresso SDK FreeRTOSでサポートされていますか?NXP IW611無線モジュールをベースにしているので、サポートされているはずですよね? Re: Ezurio Sona NX611 support in MCUXpresso SDK こんにちは、 あなたの調子が良いといいのですが。サポートされているSDKsのモジュールの設定を直接確認することをお勧めします。 例えば、iMX RT1170のwifi_cliには以下のモジュールが見られます:   他のモジュールをお探しの場合は、IW61xの利用可能なイネーブルメントを基盤に、独自のサポートを追加する必要があります。 よろしくお願いいたします。 リカルド Re: Ezurio Sona NX611 support in MCUXpresso SDK ありがとう。モジュールの具体的なサポートをどうやって追加すればいいですか?mcuxsdk/components/wifi_bt_module/ /tx_pwr_limits には、各モジュール固有の設定があることがわかります。また、mcuxsdk/middleware/wifi_nxp/incl/など、例えばwifi_cal_data_override.h には「お客様はext_cal_data[]のデータを選択して特定のアンテナ校正データを設定できる」というテキストがあります。 新しいモジュールに対して、これらの設定(電力制限と校正データ)を正しく行うにはどうすればよいですか? 新しいワイヤレスモジュールのサポートを追加するための包括的なマニュアルはありますか?私のはIW611をベースにしているので、NXPのIW611-MURATA-2DL-M2を参考にできるかもしれませんが、値を変更する必要があるかどうかはどうやって判断すればいいのでしょうか?   Re: Ezurio Sona NX611 support in MCUXpresso SDK @Ricardo_Zamora さん、ありがとうございます。 Ezurio Sona NX611は同じチップ(IW611)を使用しているため、NXP-IW611-MURATA-2DL-M2カードを選択しました。これで動作するはずだと思ったからです。しかし、SDKコードがワイヤレスカードにファームウェアをダウンロードしようとすると、次のような反応が出ます: 09/07/2026 13:04:32.589 [RX] - [FW Download] Start to download firmware from 0x60143230: 727 09/07/2026 13:04:38.560 [RX] - [wifi_io] Error: SDIO - FW Ready Registers not set [wifi] Error: sd_wifi_init failed. status code -1 [wlcm] Error: wifi init/reinit failed. status code -1 [!] WPL_Init: Failed, error: 1 Sona NX611はサポートモジュールリストに含まれていないと理解していますが、対応基板の一つとワイヤレスチップモデルのIW611を共有していることから、まだ動作するはずだという印象がありました。 Re: Ezurio Sona NX611 support in MCUXpresso SDK こんにちは、 モジュールの特定のサポートとしてはEzurioをおすすめします。実装方法はモジュールパートナーによって異なる場合があります。 よろしくお願いいたします。 リカルド
記事全体を表示
i.MX8MPLUS uSDHC HS400 mode with enhanced strobe Is there a recommended procedure to activate the enhanced strobe in HS400? Is it sufficient to set the EN_HS400_MODE in the MIX_CTRL register or does it need some additional modifications in the STROBE_DLL_CTRL register? Regards, Stefan Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe Hi @Stefan_CIT  The HS400ES requires simultaneous configuration on both the eMMC and host sides. Setting EN_HS400_MODE alone is only part of the host-side configuration and is not sufficient to enable the HS400 Enhanced Strobe feature. If you are using Linux BSP, the driver automatically completes the DLL and tuning configurations. Best Regards, Zhiming Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe Hi @Zhiming_Liu Thanks for the reply. We use the #I.MX8MPLUS with INTEGRITY OS and maintain the uSDHC-driver by ourselves. So, I'll try to transfer the process from the Linux-Driver Best regards, Stefan Re: i.MX8MPLUS uSDHC HS400 mode with enhanced strobe There is a better documentation about the Strobe-DLL and the switching to the enhanced strobe mode In those ReferenceManuals. https://www.nxp.com/docs/en/reference-manual/IMX93RM.pdf I guess the i.MX9 processors still have the same uSDHC-IP. Regards, Stefan
記事全体を表示
s32k144 - 设备已安全 大家好, 我正在参与S32K114 (AN12323)项目。最初,我在禁用 CSEC 的情况下烧录了网关项目,并且编程成功了。 之后,我尝试刷写CAN 示例应用程序,但遇到了以下错误: “设备当前安全,擦除后将变为不安全状态。” 为了解决这个问题,我还尝试使用“紧急 Kinetis 设备恢复”选项,但没有成功。 请问如何恢复设备或移除安全状态,以便我可以刷写 CAN 示例程序? Re: s32k144 - Device is secured 嗨@Senlent , 在哪些情况下 RESET 信号周期约为 118 µs?在我的情况下,哪些因素会导致 RESET 信号周期增加到约 475 µs?     谢谢。 Re: s32k144 - Device is secured 您好@ Pranathi06 如果复位信号周期不是~118µs,而是大于200µs,例如500µs甚至更长, 使用批量擦除命令,无法通过 SWD/JTAG 调试接口解密和恢复 MCU。 Re: s32k144 - Device is secured 嗨@Senlent 我用示波器测量了 RESET_b 引脚的波形。 RESET_b 信号持续切换。 脉冲重复时间似乎约为400–500 µs (光标显示 Δt ≈ 475 µs)。 峰值约为5V ,这表明您可能正在探测外部复位电路,而不是直接测量 3.3V MCU 引脚,或者 RESET 上有一个 5V 的上拉电阻。 The RESET activity is continuous and regular.   谢谢!         Re: s32k144 - Device is secured 您好@Pranathi06 “S32K144_FOTA_GATEWAY”命令不涉及任何CSEc或闪存网络安全相关操作,因此我不确定你对MCU做了什么。 你可以测量 RESET 引脚的波形,告诉我它的复位周期。 复位周期可以用来判断芯片是否能够恢复正常工作。 Re: s32k144 - Device is secured 嗨@Senlent , 是的,已成功刷入“S32K144_FOTA_Gateway”,当我尝试刷入Can_example项目时,出现“设备已保护”的提示,之后就无法刷入任何软件了。 谢谢! Re: s32k144 - Device is secured 您好@ Pranathi06 您的问题是在下载“S32K144_FOTA_Gateway”程序时出现,还是您已经成功刷写了“S32K144_FOTA_Gateway”? Re: s32k144 - Device is secured 嗨@Senlent     我刷入了 AN5401_S32K144_CSEc_Resetting_Flash_to_Factory_State 来清除按键。之后,我只刷写了 GATEWAY_PROJECT 项目;我没有刷写 Memory_Partition 项目。 谢谢。   Re: s32k144 - Device is secured 您好@ Pranathi06 在刷写我的 GATEWAY_PROJECT 之前,我已经刷写了“重置闪存状态” 我不明白你的意思。 AN12323SW 没有“将闪存重置到状态”程序。 根据你的描述,你修改了“S32K144_FOTA_Gateway”? 您只需要检查您的程序是否已启用 CSEc 模块并分配了密钥,以及您是否考虑过在应用程序中将 CSEc 模块恢复到出厂状态。 否则,这种情况就无法挽回了。 Re: s32k144 - Device is secured 嗨@Senlent 我没有刷写 Memory_partition 项目。 在刷写我的 GATEWAY_PROJECT 之前,我已经刷写了“重置闪存状态” 有什么办法可以恢复吗? 谢谢。 Re: s32k144 - Device is secured 您好@ Pranathi06 这个问题与“S32K144_FOTA_Gateway”中是否启用“CSEC”无关,因为在测试 AN12323SW 时,第一步应该是下载并运行“S32K144_Memory_Partition”来执行分区,这默认情况下已经启用了 CSEC 并分配了一个密钥。 AN12130: 这就是MCU被锁定的原因; 由于该解决方案没有提供重置 CSEC 操作,因此无法恢复。 下次记得修改“S32K144_Memory_Partition”使其仅进行分区,而不启用 CSEC 或密钥。 Re: s32k144 - Device is secured 您好@ Pranathi06 这是根据经验得出的结论,你的情况与此非常相似:CSEc 硬件加密模块已启用,阻止了 CSEc 加密密钥的批量擦除,从而导致了问题。 虽然芯片已死锁,MCU 无法再下载程序或进行调试,但只要芯片的电源正常,仍然可以使用 J-LINK 调试器通过 SWD/JTAG 调试接口连接到 S32K1xx 系列 MCU ARM Cortex M4F/M0+ 的 CoreSight DAP 调试访问接口,读取 MDM-AP 状态寄存器。 因此,您可以根据读取 MDM-AP 状态寄存器值来确定芯片死锁的根本原因。 如果您需要我帮助您找出死锁的原因,您可以尝试使用J-LINK读取MDM-AP 状态寄存器。
記事全体を表示