Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
IMXRT1050-EVKB REV B1 Debugging I've new IMXRT1050-EVKB REV B1 EVK and trying to program or debug with a new firmware. But when I'm trying to connect its debug port J41, it's not showing any J-Link device in my PC device manager instead it shows Portable device "RT1050-EVK". What can be the reason? How to fix this issue so that I can start debugging in MCUXpresso with this board? I couldn't find quick start guide specific to this Rev B1, most of the documents are related to Rev A1. Re: IMXRT1050-EVKB REV B1 Debugging Hi @satya_24 , Thank you so much for your interest in our products and for using our community. 1:The onboard debugger is not a native SEGGER J-Link by default. The EVKB onboard debug interface is typically CMSIS-DAP 2: Please make sure you are using the correct SDK for your development board. Since you are using the IMXRT1050-EVKB, you need to download and install the corresponding SDK package from the following link: https://mcuxpresso.nxp.com/select 3:Please also check the boot configuration (SW7) and power connection on your board. SW7: The default boot device configuration should be: OFF, ON, ON, OFF Wish it helps you Best Regards May
View full article
S32k396 -BGA -DC1 ScH 55517 RevB2 不闪烁 我的评估板没有闪烁,我使用的是微型 USB 端口,我确实检查过了 Jtag 的连接,,,,,手册说 J17、16、18 和 19 都应该在 2-4 位置连接器短路,但是如果我把它们放在那里,RESET Led 就会开启 D15。出现中止或重试窗口 如果 J17、J18、J16、J19 的 1-2 位置短路,则会出现此错误信息。 通过 127.0.0.1 从"127.0.0.1" 连接。从端口"62565" 到 6224 从"127.0.0.1" 通过 127.0.0.1 连接。从"62570" 端口连接到 7224 运行于 127.0.0.1:51794 的 Telnet 服务器 请求下一个符号 pxCurrentTCB 未找到符号 pxCurrentTCB。 请求下一个符号 pxReadyTasksLists 未找到符号 pxReadyTasksLists。 请求下一个符号 xDelayedTaskList1 未找到符号 xDelayedTaskList1。 请求下一个符号 xDelayedTaskList2 未找到符号 xDelayedTaskList2。 请求下一个符号 xPendingReadyList 未找到符号 xPendingReadyList。 请求下一个符号 uxCurrentNumberOfTasks 未找到符号 uxCurrentNumberOfTasks。 请求下一个符号 uxDeletedTasksWaitingCleanUp 未找到符号 uxDeletedTasksWaitingCleanUp。 请求下一个符号 xSuspendedTaskList 未找到符号 xSuspendedTaskList。 请求下一个符号 xSchedulerRunning 未找到符号 xSchedulerRunning。 请求下一个符号 FreeRTOSDebugConfig 未找到符号 FreeRTOSDebugConfig。 请求下一个符号 _tx_thread_current_ptr 未找到符号 _tx_thread_current_ptr。 请求下一个符号 _tx_thread_created_ptr 未找到符号 _tx_thread_created_ptr。 请求下一个符号 _tx_thread_created_count 未找到符号 _tx_thread_created_count。 请求下一个符号 _tx_thread_system_state 未找到符号 _tx_thread_system_state。 无法加载 libusb0.dll 版权所有 2025 P&E Microcomputer Systems,Inc. 命令行 :C:\NXP\S32DS.3.5\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.0.3.202506131845\win32\pegdbserver_console-device=nxp_s32k3xx_s32K396-startserver-singlesession-serverport=7224-gdbmiport=6224-interface=USBMULTILINK-speed=5000-port=U “检测到 peMicro 接口——闪存版本 10.98 CMD > RE 正在初始化。 INFO:DAP IDCODE = 0x6BA02477 INFO:DAP 成功启动。DP CTRL/STAT = 0xF0000000 目标已 RESET 并处于活动状态。 CMD>CM C:\NXP\S32DS.3.5\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.0.3.202506131845\supportFiles_ARM\NXP\S32K3xx\nxp_s32k396_1x32x1524k.arp 初始化。 INFO:DAP IDCODE = 0x6BA02477 INFO:DAP 成功启动。DP CTRL/STAT = 0xF0000000 已初始化。 ; 版本 1.01,2023 年 12 月 11 日,版权所有 2023 P & E 微电脑系统, www.pemicro.com [S32K396] ;设备恩智浦,s32k396,1x32x1524k,;begin_cs devic e=$00400000,长度 =005f4000,ram=$20400000 加载编程算法... 完成了。 编程顺序是:擦除、空白支票、编程和验证 {default} CMD > VC 正在验证目标文件 CRC-16 到设备范围... 屏蔽 00400000-00417EE7... 错误!CRC 命令超时 当前闪存内容与要编程的应用程序不匹配 CMD>EM 对于此 .ARP 文件,命令未激活。 擦除设备闪存时出错 Flash 编程期间发生 错误。 INFO:DAP IDCODE = 0x6BA02477 INFO:DAP 成功启动。DP CTRL/STAT = 0xF0000000 启动重置脚本(C:\NXP\S32DS.3.5\ eclipse\ plugins\ com.pemicro.debug.gdbjtag.pne_6.0.3.202506131845\ supportFiles_ARM\ NXP\ s32K3xx\ s32K396.mac)... REM 禁用看门狗 REM 为 MC_ME 模块中选定的内核启用时钟(以下顺序启用所有时钟)。 REM MC.ME 分区 0 已配置,启用分区 1 的时钟 延迟 50mS ... 完成。 延迟 50 毫秒 ... 完成。 延迟 50 毫秒 ... 完成。 REM Initialize RAM and DMA: REM Initialize DMA TCD: REM Copy valid executable code to RAM for each core to be used. REM 在 MC_ME 中启用所需的内核: 延迟 1000 毫秒 ... 完成。 延迟 1000 毫秒 ... 完成。 延迟 1000 毫秒 ... 完成。 INFO:DAP IDCODE = 0x6BA02477 INFO:DAP 成功启动。DP CTRL/STAT = 0xF0000040 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。核心正在运行 警告:无法进入后台。Core 正在运行 重置脚本(C:\NXP\S32DS.3.5\ eclipse\ plugins\ com.pemicro.debug.gdbjtag.pne_6.0.3.202506131845\ supportFiles_ARM\ NXP\ s32K3xx\ s32K396.mac)完成。 Pemicro GDB 启动失败:闪存编程期间出错。终止调试会话。 PE-ERROR:下载到设备时出错。终止调试会话。 通过 127.0.0.1 与"127.0.0.1" 断开连接。通过端口断开"62565" 从 6224 从"127.0.0.1" 通过 127.0.0.1 断开连接。通过端口"62570" 与 7224 断开连接 INFO:DAP IDCODE = 0x6BA02477 目标断开。 请帮助我 Re: S32k396 -BGA -DC1 ScH 55517 RevB2 not flashing HI 您是否参考了 S32K396-BGA-DC1 入门评估板的 " 2.7 将代码编程 到主板 " 中? 既然你提到 " 我使用的是微型 USB 端口, " 然后根据 " 2 配置跳线。 使用板载 openSDA 调试器 " 特别是 " 将 调试器选择跳线更改为使用 OpenSDA( J16 、 J17 、 J18 、 J19 位置 1-2)" 请参阅" 3.1 在 S32K396-BGA-DC1"中设置跳线。虽然此处未提及J10和J11,但建议短接J10并打开J11,以使 FS26 PMIC 在调试模式下工作。 在我的 S32K396-BGA-DC1 上,LED 灯 D1、D2、D3、D4 和 D30 亮绿色,D11 亮红色。 我可以在S32DSv3.6.1 中成功调试和下载Siul2_Port_Ip_Example_ S32K396 _RTD600。 您以前下载过什么项目?您是否将调试引脚修改为其他功能,如 GPIO?如果是,请参阅下文:S32K344 RTD、端口/DIO 和调试 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 -------------------------------------------------------------------------------
View full article
S32K324 HSE 设置 ADKP 问题 你好,我目前正在为 NXP S32K324 启用安全调试功能。我通过设置以下属性,将目标配置为具有 UID 多样化功能的动态身份验证:   1.hse_extend_cust_security_policy_attr_id 2.hse_app_debug_key_attr_id 3.hse_debug_auth_mode_attr_id   问题在于,在设置每个属性后和重置之后,目标会立即进入未处理的异常。尽管存在例外情况,但在查询时,属性的设置似乎是正确的。   Re: S32K324 HSE Setting ADKP Issue 你好@MohamedAbdelmoteleb HSE 固件参考手册修订版中的表 992.7 显示了所有属性的类型。 所有这些属性都是 OTP-ATTR: 这意味着属性被存储到 UTEST 内存中。但UTEST 存储器与闪存块 0 位于同一读取分区。这意味着在对UTEST进行编程时,无法访问闪存区块0。您的代码很可能是从闪存块 0 运行的,不是吗? 解决方案是从 RAM 或其他闪存块执行代码(触发 HSE HseSetattrsrv_T 服务)。本手册 "14.6.5 "部分对此进行了说明。 在 HSE 和应用核心之间同步闪存读/写访问",表 151。 此致, Lukas Re: S32K324 HSE Setting ADKP Issue 你好@lukaszadrapa、 谢谢你的澄清。 我们目前使用 Hse_Ip_ServiceRequest 来调用 hseSetAttrSrv_t 请求。根据您的反馈意见和第 14.6.5 节(表 151)中的要求,我想确认一下实施的标准方式: 使用 Hse_Ip 驱动程序:对于这些 OTP 属性服务,继续使用标准 RTD Hse_Ip 驱动程序 (Hse_Ip_ServiceRequest) 是否是标准方法?由于驱动程序通常默认链接到闪存(CRYPTO_43_HSE_SEC_CODE),是否有标准方法将 CRYPTO_43_HSE_SEC_CODE 部分手动重定位到 SRAM 或其他闪存块? 重定位策略:如果 RAM 重定位是标准方法,那么只将 Hse_Ip_ServiceRequest 调用链和同步循环重定位到 SRAM 是否足够,还是必须将整个中断向量表也重定位到 RAM,以防止在意外中断时从 0 块获取数据? 同步方法:为了遵守表 151 中的同步要求,轮询 HSE GPR 寄存器 3 (0x4039C028) 以获取第 24 位和 25 位是确定何时可以安全地从 Flash 恢复执行的标准方法吗? 单块硬件:对于只有单个闪存块的 S32K3 变体("另一个闪存块" 不是选项),SRAM 执行是设置 OTP 属性的标准方法吗?
View full article
SIMULATED_IN_FIELDを使用してLCのNVMにキーをインポートする こんにちは、 LC = SIMULATED_FIELD の場合にキーを NVM にインポートする際に問題が発生しています まず、キー所有者を設定した認証キーをNVMにインポートしました。 HSE_KEY_OWNER_CUST はキー スロット (0,0) を使用します。主なフラグは以下のとおりでした。 HSE_KF_USAGE_VERIFY | HSE_KF_USAGE_KEY_PROVISION | HSE_KF_USAGE_SIGN | HSE_KF_USAGE_ENCRYPT | HSE_KF_USAGE_DECRYPT 鍵の書き込みに成功しました。しかし、上記のフラグで書き込まれたそのキーを使用すれば。MACを暗号化または計算しようとすると。INVALID_KEY を受信しました。 ライフサイクルをシミュレートされたフィールドに移動した後、認証キーを使用して、異なるキー スロット (0、4) のキーを更新/変更したいと考えています。しかし、正しい手順については確信が持てません。 新しい鍵はインポート前に暗号化すべきでしょうか、それとも認証してから直接送信すべきでしょうか?また、キーコンテナを使用する場合、どのフィールドが必須ですか? 現在、NOT_ALLOWEDエラーが発生しています。 インポート関数とそのパラメータを添付しましたので、問題箇所をお知らせください。 Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD こんにちは、 @kerti1さん 「鍵の書き込みは成功しました。」しかし、上記のフラグで書き込まれたそのキーを使用すれば。MACを暗号化または計算しようとすると。「INVALID_KEY」というメッセージを受け取りました。 それは正しい行動です。原因はキーフラグHSE_KF_USAGE_KEY_PROVISIONです。このフラグが設定されている場合、そのキーはキーのインポートおよびエクスポート操作にのみ使用できます。他の操作(暗号化、復号化、署名、検証)に同じキーを使用する必要がある場合は、HSE_KF_USAGE_KEY_PROVISIONが設定されていない状態で、そのキーを別のキースロットにインポートする必要があります。「表35」をお読みください。詳細については、HSEファームウェアリファレンスマニュアルの「キー使用フラグ」を参照してください。 「新しい鍵はインポートする前に暗号化すべきでしょうか、それとも認証してから直接送信すべきでしょうか?」 - 「表48」をご覧ください。HSEファームウェアリファレンスマニュアルの「NVMキーカタログ内のキー(空でないスロット)を更新する際のキープロビジョニングの使用方法」を参照してください。認証と暗号化が必要となる状況をまとめたものです。要するに、SU権限を持っている場合、認証は常に必要であり、暗号化はオプションであるか、公開鍵には適用されません。まずは認証のみから始めることをお勧めします。正常に動作するようになったら、必要に応じて暗号化を追加できます。ユーザー権限においては、暗号化は必須です。 「また、キーコンテナを使用する場合、どのフィールドが必須ですか?」 - 認証には、hseImportKeySrv_t.keyContainer という構造全体が必要です。初期化する必要があります。authKeyHandleがHSE_INVALID_KEY_HANDLEと異なる場合、HSEはすべての値を使用します。 KeyContainerには定義された構造がありません。しかし、その考え方は単純だ。単にRAM上のどこかにある配列に過ぎない。KeyInfo構造体とKey自体を配列にコピーする必要があります。配列のサイズは、KeyInfo + Key を格納できる十分な大きさである必要があります。もっと大きくすることもできるし、制限はない。 次に、コンテナ/配列の署名を生成する必要があります。 認証済みキーをインポートする際は、指定された構造体 hseImportKeySrv_t.keyContainer を入力してください。コンテナへのポインタ、コンテナの長さ、検証用のキーハンドル、署名へのポインタなどがあります… キーと KeyInfo へのポインタは、hseImportKeySrv_t で設定されます。そのため、コンテナに特別な構造は必要ありません。HSE自体が、キーとKeyInfoがコンテナ内に含まれているかどうかを確認します。 ECC公開鍵の更新例があります。この操作には認証が必要です。私はHSE DemoExamplesソフトウェアパッケージに含まれるHSEフレームワークを使用しました。ご興味があれば、こちらでCASEを作成してください。私が共有いたします。 https://support.nxp.com/s/?language=en_US 説明欄に「ルーカス・ザドラパに割り当て」のような文言を記入してください。 よろしくお願いいたします。 ルーカス Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD @lukaszadrapa様、 認証を使用してNVMにキーをインポートしようとしても、依然として正常に動作しません。常に「コマンドが許可されていません」というエラーが表示されます。 私はECCキーペアのインポート例を参照しましたが、そのリクエストには以下のパラメータが含まれています。 uint8_t *pAuthContainer; uint16_t authContainerLen; しかし、これらのパラメータは ImportAuthSymKeyReq では利用できないため、AES/対称鍵インポートのために認証コンテナをどのように渡せばよいのか分かりません。 認証を使用してAESキーをNVMにインポートする正しい手順を教えていただけますか?参考までに、現在使用しているサンプルコードを共有することも可能です。
View full article
TJA1055/3 FT canbus I have been suffering for some time now to interface and ESP32-P4 with twai to a fault tolerant canbus system. The TJA1055/3 is on the breadboard and hooked up and I can measure the Rx output from the chip, which is supposed to be sent to an ESPGPIO, but seemingly this voltage output reaches about 3.2v for HI and only about 1.8v for LO, the ESP32 GPIO needs to see 0.8v for LO and so is not able to decode these pulses and read the received data.  I have tried various sizes of pull up resistor on the Rx output of the TJA1055 but this makes very little difference and I have tried changing the termination resistors between pin 8 and 9 and the CAN H and CAN L signals, which also makes some difference, but not enough. Can anyone shed some light on how the get a usable signal from out the chip, or am I going to have to add additional signal conditioning between TJA1055 ans ESP GPIO Re: TJA1055/3 FT canbus Hello donaldpitt Good day! You can reduce the value of Vol by reducing Iol, as shown below. What current do you have at Iol? If it's necessary to maintain the same current and it's not possible to lower it, I would recommend adding a MOSFET transistor to act as a buffer, choosing one that best suits your needs. I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck. Re: TJA1055/3 FT canbus Thankyou for a valuable comment, I am going to try this in coming days and will report back, it is a bit complicated to get to testing this but I will . We have decided to use a Schmitt trigger to shape the output to suit, but if I can get the correct output for the ESP32 GPIO without adding another component, then i will embrace it with open arms. I am not an electronic engineer but an automation specialist, so while I do understand these things, I do not normally understand why and if the documentation doesn't spoonfeed, I get lost.
View full article
TJA1055/3 FT CANバス 私はしばらくの間、ESP32-P4とtwaiをフォールトトレラントCANバスシステムにインターフェースするのに苦労してきました。TJA1055/3はブレッドボード上にあり、接続されています。チップからのRx出力を測定できます。これはESPGPIOに送信されるはずですが、この電圧出力はHIで約3.2V、LOで約1.8Vにしか達しないようです。ESP32 GPIOはLOで0.8Vを必要とするため、これらのパルスをデコードして受信データを読み取ることができません。TJA1055のRx出力に様々なサイズのプルアップ抵抗を試してみましたが、ほとんど変化はありませんでした。また、ピン8と9の間、およびCAN HとCAN L信号の間の終端抵抗を変更してみましたが、多少の変化はありましたが、十分ではありませんでした。チップから使用可能な信号を取得する方法について、どなたかご教示いただけないでしょうか?それとも、TJA1055とESP GPIOの間に追加の信号調整回路を設ける必要があるのでしょうか? Re: TJA1055/3 FT canbus こんにちは、ドナルドピットさん 良い一日! 以下に示すように、Iolを減らすことでVolの値を減らすことができます。 イオルではどのような電流が流れていますか? 同じ電流値を維持する必要があり、それを下げることができない場合は、ニーズに最適なMOSFETトランジスタをバッファとして追加することをお勧めします。 この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。 Re: TJA1055/3 FT canbus 貴重なご意見ありがとうございます。数日中に試してみて、結果を報告します。テストするには少し複雑ですが、やってみます。出力波形を調整するためにシュミットトリガーを使用することにしましたが、別の部品を追加せずにESP32のGPIOに適した出力が得られるのであれば、喜んでそれを利用します。私は電子工学技師ではなくオートメーションの専門家なので、これらのことは理解できますが、なぜそうなるのかは通常理解できません。ドキュメントが分かりやすく説明してくれないと、途方に暮れてしまいます。
View full article
使用 SIMULATED_IN_FIELD 将密钥导入 LC 中的 NVM 您好, 在 LC = SIMULATED_FIELD 期间将键导入 NVM 时,我遇到了一个问题 我首先将验证密钥导入 NVM,并将密钥所有者设置为 HSE_KEY_OWNER_CUST , 使用键槽 (0,0)。关键的旗帜是 hse_kf_usage_verify | hse_kf_usage_key_provision | hse_kf_usage_sign | hse_kf_usage_encrypt | hse_kf_usage_decrypt 钥匙已成功写入。但是,写入上述标志的密钥。当我尝试加密或计算 MAC 时。我收到了 INVALID_KEY。 将生命周期移至 SIMULATED FIELD 后,我想使用验证密钥更新/更改不同密钥槽(0,4)中的密钥。不过,我不确定程序是否正确。 新密钥是应该先加密再导入,还是应该经过验证后直接发送?另外,使用关键容器时,哪些字段是必填字段? 目前,我收到一个 NOT_ALLOWED 错误。 我附上了导入函数及其参数,请告诉我问题出在哪里。 Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD 你好@kerti1 "钥匙已成功写入。但这把钥匙是用上述标志写成的。当我尝试加密或计算 MAC 时。我收到了 INVALID_KEY"。 - 这才是正确的行为。关键标志 HSE_KF_USAGE_KEY_PROVISION 就是原因。如果设置了该标志,则密钥只能用于密钥导入和导出操作。如果需要将同一密钥用于其他操作(加密、解密、签名、验证),则需要在未设置 HSE_KF_USAGE_KEY_PROVISION 时将其导入另一个密钥槽。您可以阅读 "表 35.有关详细信息,请参见 HSE 固件参考手册中的 “密钥使用标志”。 "是在导入新密钥前对其进行加密,还是对其进行验证后直接发送? - 请看 "表 48.更新 HSE 固件参考手册中 “NVM 密钥目录” 中的密钥(非空插槽)时的密钥配置使用情况。它总结了何时需要进行身份验证和加密。简而言之:如果您拥有 SU 权限,则始终需要身份验证,加密要么是可选的,要么不适用于公钥。我建议只从身份验证开始。一旦运行正常,就可以根据需要添加加密功能。有了用户权限,就必须进行加密。 "另外,在使用关键容器时,哪些字段是必填字段? - 对于身份验证,整个结构 hseImportKeySrv_t.keyContainer必须初始化。当 authKeyHandle 与 HSE_INVALID_KEY_HANDLE 不同时,HSE 将使用所有值。 KeyContainer 没有定义结构。但其原理很简单,它只是 RAM 中的一个数组。您应该将 KeyInfo 结构和密钥本身复制到数组中。数组的大小必须足以容纳 KeyInfo + Key。它可以更大,不受限制。 然后需要生成容器/数组的签名。 导入经过验证的密钥时,请填写所述结构 hseImportKeySrv_t.keyContainer- 有指向容器的指针、容器的长度、用于验证的键柄、指向签名的指针... hseImportKeySrv_t 中配置的密钥和 KeyInfo 的指针。这就是为什么集装箱不需要特定结构的原因。HSE 本身会检查密钥和 KeyInfo 是否在容器内。 我有一个更新 ECC 公钥的例子。此操作需要验证。我使用了 HSE DemoExamples 软件包中的 HSE 框架。如果您感兴趣,请在这里创建一个案例,我将与您分享: https://support.nxp.com/s/?language=en_US 在描述中写入 "分配给 Lukas Zadrapa "之类的内容。 此致, Lukas Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD 亲爱的@lukaszadrapa、 我仍然无法使用授权将密钥成功导入 NVM。我总是收到 "命令不允许 "的错误信息 。 我提到了 ECC 密钥对导入的例子,其中的请求包括参数: uint8_t *pAuthContainer; uint16_t authContainerLen; 但是,ImportAuthSymKeyReq 中没有这些参数。中没有这些参数,所以我不确定 AES/对称密钥导入时应如何传递授权容器。 能否请您帮助我了解使用授权将 AES 密钥导入 NVM 的正确程序?我也可以分享我目前的示例代码以供参考。
View full article
RW612 Nonsecure Flash Setting Breaks Reset Functionality Hello, I'm experiencing a weird bug with ARM TF-M and Zephyr (NXP downstream v4.3.0) on the FRDM-RW612.  I want to use a region of my flash chip for a nonsecure LittleFS filesystem.  I followed the NXP guide for adding a NS region (link) and I can successfully use the region for my filesystem, no problems with the Zephyr/FS API or access issues. My problem is that when I have the CONFIG_FLASH KConfig option enabled, I can no longer reset my board.  Calling tfm_platform_system_reset(), NVIC_SystemReset(), or even pressing the physical reset button all lock up the processor and do not actually reset the board anymore. I stepped through with a debugger and the last line executed before the debugger is detached/broken away from is core_cm33.h:2683 (within __NVIC_SystemReset): SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); If I attach a debugger after the reset occurs, GDB says the program at address 0x20005840 forever. I've tried the same thing on a very basic program, even adding CONFIG_FLASH to the zephyr hello world program causes resets to fail in the same way. Any help is appreciated, thank you! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi @jm-streametric, hope you are doing well. In order to help me better analyze this behavior, would you please confirm if in the tests that you have done with the hello world example, the only setting that you add is the CONFIG_FLASH? Or are you also enabling your added NS region with the setting created from the guide (CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)? I have tried to run the hello world example from Zephyr (v4.3.0 downstream) only adding the CONFIG_FLASH setting and I am able to reset the board. Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hello Jake, thank you for the clarification. The difference between RW610 and RW612 is that RW610 does not support 802.15.4 protocol, therefore there is no difference with the flexspi peripheral. Would you please confirm if you are using the FRDM-RW612 files to test these features? Or have you done your own directory for your board in Zephyr? Also, are you able to run the examples properly without the reset functionality? Or is the MCU going to hardfault at a certain point? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi Roman, I made an error on the post when specifying the board, I am using a custom board with the RW610 but the flash configuration is exactly the same as the FRDM-RW612. I can get the development board to reset even with CONFIG_FLASH=y, but my custom board has the issue described in my post. Even with the TF-M and Zephyr repos set to FRDM-RW612 defaults, I get the problem of being unable to reset the board when CONFIG_FLASH=y (with and without the custom data regions). Is there a difference between the RW610 and RW612 that could cause flash/flexspi problems? Or do you think it may be another problem with my board? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi Jake, thank you for the information. So, when you add the "CONFIG_FLASH=y" setting to any project, you are able to run the application normally, except when you try to do any type of reset, which leads your program to be in an infinite loop at address 0x20005840, is my understanding correct? Would you please check the Reset status Register (SYS_RST_STATUS) to check if the reset cause is being registered? Additionally, have you done all your tests with the non-secure version of the board? If you have a FRDM-RW612 board, could you please perform some tests on it and let me know whether this behavior is present or not, with the same configs you are adding to test with your custom board? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi Roman, I am using the unmodified FRDM-RW612 files to test my board for the flash features since my board uses the same flash IC. I have different peripherals on my board which I have overlays for, but I'm not applying those overlays for this flash test case. The flash does work, I can access the flash data within my custom region just fine. When I access flash outside of the custom region I get a fault, which is expected. The only thing that doesn't work is that trying to reset the board either physically or with tfm_platform_system_reset() locks the board up as described above. Thank you Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi Roman, So, when you add the "CONFIG_FLASH=y" setting to any project, you are able to run the application normally, except when you try to do any type of reset, which leads your program to be in an infinite loop at address 0x20005840, is my understanding correct? Yes, this is correct.  I'm only able to restart the program by powering the board off and back on. Would you please check the Reset status Register (SYS_RST_STATUS) to check if the reset cause is being registered? I'm currently trying these tests with the zephyr sample hello_world.  With or without CONFIG_FLASH=y, and with my custom board or the actual FRDM-RW612, I wasn't able to get a value on SYS_RST_STATUS.  I tried pressing the physical reset button (connected to PDn on the SOC), calling tfm_platform_system_reset() after the printf statement, and triggering a hardfault by accessing a NULL pointer, but none of these produced values on the reset status register. I tried sampling it before reset, after reset in the loop at address 0x20005840, and after reset in the BL2 stage and no matter what SYS_RST_STATUS was 0.  I'm not sure if I'm checking it wrong, I use GDB (through west attach) to debug and got the value within the PMU block by printing p *((PMU_Type*)0x40031000u).  If it helps to know, the SYS_RST_EN register was always 0x39 when I sampled. Additionally, have you done all your tests with the non-secure version of the board? Yes, I build all of these tests clean by removing the build folder then running west build -b frdm_rw612/rw612/ns. let me know whether this behavior is present or not, with the same configs you are adding to test with your custom board? Most of my configs are related to peripherals on the flexcomm ports.  For my testing on this issue, I've only left changes I made to the TF-M profile.  I am using the TF-M medium arotless profile instead of large so I can perform over-the-air firmware updates with the TF-M FWU partition.  For this I have 3 extra zephyr KConfig options: CONFIG_TFM_PROFILE_TYPE_AROTLESS=y CONFIG_TFM_SFN=y CONFIG_TFM_ISOLATION_LEVEL=1 And the only thing I've edited in the TF-M module folder is the following profile setting in modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612/config.cmake: set(TFM_PROFILE "profile_medium_arotless" CACHE STRING "The TF-M profile") Which was modified from "profile_large" Thank you for your help, please let me know if I can provide any more information. Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality Hi Jake, thank you for answering my questions. Since you mentioned that you tested with the FRDM-RW612, are you able to replicate the reset behavior in this board? I have tried by adding your configs and TF-M build changes (TF-M profile), but I am still unable to reproduce your behavior. If you are able to replicate this, would you please share the detailed steps that you are following to reproduce the behavior on the FRDM-RW612?
View full article
RW612非セキュアフラッシュ設定によりリセット機能が破損する こんにちは、 FRDM-RW612上でARM TF-MとZephyr(NXPダウンストリームv4.3.0)を使用している際に、奇妙なバグが発生しています。フラッシュメモリの一部領域を、セキュリティ保護機能のないLittleFSファイルシステムに使用したいと考えています。NXPのガイド(リンク)に従ってNS領域を追加したところ、ファイルシステムにその領域を正常に使用でき、Zephyr/FS APIやアクセスに関する問題も発生しませんでした。 私の問題は、CONFIG_FLASH KConfigオプションを有効にすると、ボードをリセットできなくなることです。tfm_platform_system_reset()、NVIC_SystemReset() を呼び出したり、物理的なリセットボタンを押したりしても、プロセッサがロックされてしまい、実際にはボードがリセットされなくなります。 デバッガーを使ってステップ実行したところ、デバッガーが切り離される直前に実行された最後の行は core_cm33.h:2683 でした。(__NVIC_SystemReset内): SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); リセット後にデバッガを接続すると、GDBはアドレス0x20005840のプログラムが永久に停止すると報告します。 非常に基本的なプログラムで同じことを試してみましたが、Zephyrのhello worldプログラムにCONFIG_FLASHを追加しても、リセットが同じように失敗します。 どんなご協力でもありがたいです。ありがとうございます! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、@jm-streametric さん。お元気でお過ごしでしょうか。 この動作をより詳細に分析するために、ハローワールドのサンプルで行ったテストにおいて、追加した設定はCONFIG_FLASHのみであることを確認してもらえますか?それとも、ガイドから作成した設定(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)を使用して、追加したNS領域も有効にしていますか? 私はZephyr(v4.3.0 ダウンストリーム)のhello worldサンプルをCONFIG_FLASH設定のみを追加して実行しようとしましたが、ボードをリセットすることができました。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 投稿でボードを指定する際に誤りがありました。RW610を搭載したカスタムボードを使用していますが、フラッシュ構成はFRDM-RW612と全く同じです。CONFIG_FLASH=y に設定しても開発ボードをリセットすることはできますが、私のカスタムボードでは、以前の投稿で説明した問題が発生します。 TF-MとZephyrのリポジトリをFRDM-RW612のデフォルトに設定しても、CONFIG_FLASH=yの場合(カスタムデータ領域の有無に関わらず)、ボードをリセットできないという問題が発生します。RW610とRW612の間には、フラッシュメモリやFlexSPIに問題を引き起こす可能性のある違いはありますか?それとも、私のボードに別の問題があるのでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ジェイクさん。ご説明ありがとうございます。 RW610とRW612の違いは、RW610が802.15.4プロトコルをサポートしていないため、FlexSPI周辺機器との違いはないという点です。 これらの機能をテストする際に、FRDM-RW612ファイルを使用しているかどうか確認していただけますか?それとも、Zephyrでボード用のディレクトリを独自に作成しましたか? また、リセット機能を使わずにサンプルを正しく実行することは可能でしょうか?それとも、MCUはどこかの時点でハードフォルトを起こすのだろうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 私のボードは同じフラッシュICを使用しているため、フラッシュ機能のテストには未修正のFRDM-RW612ファイルを使用しています。私のボードには様々な**ペリフェラル**が搭載されており、それぞれにオーバーレイを適用していますが、今回のフラッシュテストケースではそれらのオーバーレイは適用しません。 フラッシュメモリは正常に動作しており、カスタムリージョン内のフラッシュデータにも問題なくアクセスできます。カスタム領域外のフラッシュにアクセスするとエラーが発生しますが、これは想定内の動作です。唯一うまくいかないのは、物理的に、またはtfm_platform_system_reset()を使用してボードをリセットしようとすると、上記のようにボードがロックされてしまうことです。 ありがとう Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、情報ありがとうございます。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか?さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? FRDM-RW612ボードをお持ちでしたら、カスタムボードでのテストに追加しているのと同じ設定で、この現象が発生するかどうかをテストして教えていただけますでしょうか? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality こんにちは、ローマンさん。 つまり、プロジェクトに「CONFIG_FLASH=y」設定を追加すると、アプリケーションは通常どおり実行できるが、リセット操作を行うとプログラムがアドレス0x20005840で無限ループに陥る、ということでしょうか? はい、その通りです。ボードの電源を一度切ってから入れ直す以外に、プログラムを再起動する方法がありません。 リセット原因が登録されているかどうかを確認するために、リセットステータスレジスタ( SYS_RST_STATUS )をご確認いただけますでしょうか? 現在、zephyrのサンプル「hello_world」を使ってこれらのテストを試しています。CONFIG_FLASH=y の有無に関わらず、またカスタムボードでも実際の FRDM-RW612 でも、SYS_RST_STATUS の値を取得できませんでした。物理的なリセットボタン(SOC上のPDnに接続)を押したり、printf文の後にtfm_platform_system_reset()を呼び出したり、NULLポインタにアクセスしてハードフォルトを発生させたりしてみましたが、いずれもリセットステータスレジスタに値が表示されませんでした。 リセット前、リセット後のアドレス 0x20005840 のループ内、およびリセット後の BL2 ステージでサンプリングを試しましたが、SYS_RST_STATUS が 0 であるかどうかは関係ありませんでした。チェック方法が間違っているかどうかわかりませんが、GDB (west attach 経由) を使用してデバッグし、 p *((PMU_Type*)0x40031000u)を印刷して PMU ブロック内の値を取得しました。参考までに、サンプリングしたときの SYS_RST_EN レジスタは常に 0x39 でした。 さらに、セキュリティ保護機能のないバージョンのボードで全てのテストを実施しましたか? はい、ビルドフォルダを削除してからwest build -b frdm_rw612/rw612/nsを実行することで、これらのテストをすべてクリーンにビルドします。 独自のボードでテストするために追加している設定と同じ設定で、この動作が発生するかどうか教えてください。 私の設定のほとんどは、Flexcommポート上のペリフェラルに関するものです。この問題に関する私のテストでは、TF-Mプロファイルに加えた変更点のみを残しました。TF-M FWUパーティションを使用して無線ファームウェアアップデートを実行できるように、私はTF-Mのラージプロファイルではなくミディアムプロファイルを使用しています。そのため、ZephyrのKConfigオプションを3つ追加しました。 CONFIG_TFM_PROFILE_TYPE_AROTLESS=y CONFIG_TFM_SFN=y CONFIG_TFM_ISOLATION_LEVEL=1 そして、TF-Mモジュールフォルダで編集したのは、modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612/config.cmakeにある以下のプロファイル設定だけです。 set(TFM_PROFILE "profile_medium_arotless" CACHE STRING "TF-Mプロファイル") これは「profile_large」から変更されたものです ご協力ありがとうございました。他に何か情報が必要な場合はお知らせください。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality ジェイクさん、質問に答えていただきありがとうございます。 FRDM-RW612でテストしたとのことですが、このボードでもリセット動作を再現できますか?あなたの設定とTF-Mのビルド変更(TF-Mプロファイル)を追加して試してみましたが、それでもあなたの動作を再現できませんでした。 もしこの現象を再現できるのであれば、FRDM-RW612でその動作を再現するために実行した詳細な手順を共有していただけますでしょうか?
View full article
TJA1055/3 FT canbus 为了将带有 twai 的 ESP32-P4 连接到容错 canbus 系统,我已经苦恼了一段时间。TJA1055/3 已安装在试验板上并连接起来,我可以测量芯片的 Rx 输出,该输出本应发送到 ESPGPIO,但是看来这个电压输出在 HI 上达到大约 3.2V,LO的电压输出仅达到大约 1.8V,ESP32 GPIO 的 LO 需要看到 0.8V,因此无法解码这些脉冲和读取接收到的数据。我试过在 TJA1055 的 Rx 输出上使用不同大小的上拉电阻,但效果甚微。我还试过改变针脚 8 和针脚 9 与 CAN H 和 CAN L 信号之间的终端电阻,也有一些效果,但还不够。有谁能告诉我如何从芯片中获取可用信号,或者我是否需要在 TJA1055 和 ESP GPIO 之间添加额外的信号调节器? Re: TJA1055/3 FT canbus 你好,唐纳德-皮特 日安 如下图所示,您可以通过减少 Iol 来降低 Vol 值。 您在 Iol 有什么职位? 如果需要保持相同的电流且无法降低电流,我建议添加一个 MOSFET 晶体管作为缓冲器,选择最适合您需求的晶体管。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你愉快,好运连连。 Re: TJA1055/3 FT canbus 感谢您的宝贵意见,我将在未来几天内尝试这样做,并向您汇报。我们已经决定使用施密特触发器来调整输出以使其适应需求,但是如果我可以在不添加其他元器件的情况下获得 ESP32 GPIO 的正确输出,那么我会张开双臂拥抱它。我不是电子工程师,而是自动化专家,所以虽然我了解这些事情,但我通常不明白为什么,而且如果文件没有 "一勺烩",我就会迷失方向。
View full article
Import Keys into NVM in LC with SIMULATED_IN_FIELD HI, I am facing an issue while importing keys into NVM during LC = SIMULATED_FIELD I first imported an authentication key into NVM with the key owner set to HSE_KEY_OWNER_CUST , using key slot (0,0). The key flags were: HSE_KF_USAGE_VERIFY | HSE_KF_USAGE_KEY_PROVISION | HSE_KF_USAGE_SIGN | HSE_KF_USAGE_ENCRYPT | HSE_KF_USAGE_DECRYPT The key was written successfully. But with that Key which is written with the above flags. When I try to encrypt or calculate MAC. I received INVALID_KEY. After moving the lifecycle to SIMULATED FIELD, I want to update/change the key in the different key slot (0,4) using the authentication key. However, I am not sure about the correct procedure.  Should the new key be encrypted before importing it, or should it be authenticated and sent directly? Also, when using a key container, which fields are required? Currently, I receive an NOT_ALLOWED error. I have attached the import function and its parameters and let me know where is the issue. Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD Hi @kerti1  “The key was written successfully. But with that Key which is written with the above flags. When I try to encrypt or calculate MAC. I received INVALID_KEY.” - That’s correct behavior. The key flag HSE_KF_USAGE_KEY_PROVISION is the reason. If this flag is set, the key can be used only for key import and export operations. If you need to use the same key for other operations (encrypt, decrypt, sign, verify), you need to import it to another key slot while HSE_KF_USAGE_KEY_PROVISION is not set. You can read “Table 35. Key usage flags”  in HSE firmware reference manual for details. “Should the new key be encrypted before importing it, or should it be authenticated and sent directly?” -  Take a look at “Table 48. Key provisioning usage when updating  a key (non-empty slot) in the NVM Key Catalog” in HSE firmware reference manual. It summarizes when authentication and encryption is needed. In short: if you have SU rights, authentication is always needed and encryption is either optional or it does not apply to public keys. I recommend to start with authentication only. Once it is working, you can add encryption if needed. With user rights, encryption is mandatory. “Also, when using a key container, which fields are required?” -  For authentication, whole structure hseImportKeySrv_t.keyContainer must be initialized. When authKeyHandle is different from HSE_INVALID_KEY_HANDLE, HSE will use all the values. KeyContainer has no defined structure. But the idea is simple – it’s just an array somewhere in RAM. You are supposed to copy KeyInfo structure and the Key itself to the array. The size of array must be large enough for KeyInfo + Key. It can be bigger, it’s not limited. Then you need to generate a signature of the container/array. When importing authenticated key, fill mentioned structure hseImportKeySrv_t.keyContainer – there’s pointer to the container, length of the container, keyhandle for verification, pointer to signature… Pointer to the key and to the KeyInfo is configured in hseImportKeySrv_t. That’s the reason why no specific structure is needed for the container. HSE itself will check if the key and KeyInfo fall within the container. I have an example for update of ECC public key. This operation requires authentication. I used HSE framework from HSE DemoExamples SW package. If you are interested, please create a case here and I will share it: https://support.nxp.com/s/?language=en_US Write something like “Assign to Lukas Zadrapa” to the description. Regards, Lukas Re: Import Keys into NVM in LC with SIMULATED_IN_FIELD Dear @lukaszadrapa , I am still unable to successfully import keys into NVM using authorization. I always receive the error “command not allowed.” I referred to the ECC key pair import example, where the request includes the parameters: uint8_t *pAuthContainer; uint16_t authContainerLen; However, these parameters are not available in ImportAuthSymKeyReq, so I am not sure how the authorization container should be passed for AES/symmetric key import. Could you please help me understand the correct procedure for importing an AES key into NVM using authorization? I can also share my current example code for reference.
View full article
RW612 非安全 Flash 设置会中断 RESET 功能 你好 我在 FRDM-RW612 上使用 ARM TF-M 和 Zephyr(恩智浦下游 v4.3.0)时遇到了一个奇怪的错误。我想将闪存芯片的一个区域用于非安全 LittleFS 文件系统。 我按照恩智浦指南添加了一个 NS 区域(链接),并成功将该区域用于我的文件系统,Zephyr/FS API 或访问问题都没有出现。 我的问题是,当我启用 CONFIG_FLASH KConfig 选项时,我无法再重置我的板了。调用 tfm_platform_system_reset ()、nvic_systemReset (),甚至按下物理 RESET 按钮,都会锁定处理器,实际上不会再重置主板了。 我用调试器执行了一遍,在调试器脱离/断开之前执行的最后一行是 core_cm33.h:2683(在 __NVIC_SystemReset 内): SCB->AIRCR = (uint32_t)((0x5FAUL<< SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR& SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); 如果我在 RESET 后连接了调试器,GDB 会永远显示地址为 0x20005840 的程序。 我在一个非常基本的程序上尝试过同样的事情,即使在 zephyr hello world 程序中添加 CONFIG_FLASH 也会以同样的方式导致重置失败。 希望得到任何帮助,谢谢! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 你好,@jm-streametric,希望你一切都好。 为了帮助我更好地分析这种行为,请确认在您使用 hello world 示例进行的测试中,您添加的唯一设置是否是 CONFIG_FLASH?或者,您是否也使用根据指南创建的设置(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)启用了添加的 NS 区域? 我试过运行 Zephyr(下游 v4.3.0)中的你好世界示例,只添加了 CONFIG_FLASH 设置,我就能重置主板。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 你好,杰克,谢谢你的解释。 RW610 和 RW612 的区别在于 RW610 不支持 802.15.4 协议,因此与 flexspi 外围设备没有区别。 请确认您是否使用 FRDM-RW612 文件来测试这些功能?或者你在 Zephyr 中为自己的板做了自己的名录了吗? 另外,你能在没有RESET功能的情况下正确运行示例吗?还是说 MCU 会在某个时刻发生故障? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 你好 Roman, 我在指定主板时在帖子中犯了一个错误,我在 RW610 中使用了自定义主板,但闪存配置与 FRDM-RW612 完全相同。即使使用CONFIG_FLASH=y,我也可以让开发板RESET,但是我的自定义板遇到了我的帖子中描述的问题。 即使将 TF-M 和 Zephyr 仓库设置为 FRDM-RW612 的默认值,我也会遇到在 config_flash=Y(有和没有自定义数据区域)时无法 RESET 板的问题。RW610 和 RW612 之间是否存在可能导致闪存/Flexspi 问题的差异?还是你认为这可能是我的主板的另一个问题? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 你好 Roman, 我正在使用未修改的 FRDM-RW612 文件来测试我的板的闪存功能,因为我的板使用相同的闪存 IC。我的主板上有不同的外围设备,我有覆盖层,但我没有将这些覆盖层应用到这个闪存测试用例中。 闪存确实可以工作,我可以在自定义区域内正常访问闪存数据。当我在自定义区域外访问闪存时,会出现故障,这在意料之中。唯一不起作用的是,如上所述,尝试以物理方式或使用 tfm_platform_system_reset () 重置主板会锁定主板。 谢谢 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 嗨,杰克,谢谢你提供的信息。 那么,当你将 "CONFIG_FLASH=y" 设置添加到任何项目时,你可以正常运行应用程序,除非你尝试进行任何类型的 RESET,这会导致你的程序在地址 0x20005840 处进入无限循环,我的理解正确吗? 您能否检查重置状态寄存器 (SYS_RST_S TATUS) 以检查重置原因是否已注册?此外,您是否使用非安全版本的板完成了所有测试? 如果你有 FRDM-RW612 板,能否请你对它进行一些测试,让我知道这种行为是否存在,使用你在使用自定义板进行测试时添加的配置相同? Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 嗨,罗曼、 那么,当你将 "CONFIG_FLASH=y" 设置添加到任何项目时,你可以正常运行应用程序,除非你尝试进行任何类型的 RESET,这会导致你的程序在地址 0x20005840 处进入无限循环,我的理解正确吗? 是的,这是正确的。 我只能通过关闭主板的电源然后重新开启来重启程序。 您能否检查 RESET 状态寄存器 (SYS_RST_S TATUS) 以检查 RESET 原因是否已注册? 我目前正在使用 zephyr 样本 hello_world 尝试这些测试。 无论有没有配置 config_flash=Y,再加上我的自定义板或真正的 FRDM-RW612,我都无法在 SYS_RST_STATUS 上获得值。我尝试按下物理 RESET 按钮(连接到 SOC 上的 PdN),在 printf 语句之后调用 tfm_platform_system_reset (),然后通过访问空指针触发硬故障,但是这些都没有在 RESET 状态寄存器上生成值。 我尝试在 RESET 之前、在地址为 0x20005840 的回路中 RESET 之后、在 BL2 阶段 RESET 之后,不管 SYS_RST_STATUS 是 0。我不确定我检查错了吗,我使用 GDB(通过 west attach)进行调试,然后通过打印 p * ((pmu_type*) 0x40031000u) 在 PM U 区块中获得值。如果有帮助的话,当我采样时,SYS_RST_EN 寄存器始终是 0x39。 此外,您是否使用非安全版本的板完成了所有测试? 是的,我通过删除编译文件夹然后运行 w est build-b frdm_rw612/rw612/r w612/ns 来整理所有这些测试。 让我知道这种行为是否存在,使用与您在自定义板测试时添加的配置相同? 我的大部分配置都与柔性通信端口上的外设有关。 为了测试这个问题,我只留下了对TF-M配置文件所做的更改。我使用的是 TF-M medium arotless 配置文件而不是大型配置文件,这样我就可以使用 TF-M FWU 分区进行无线固件更新。为此,我有 3 个额外的 zephyr KConfig 选项: CONFIG_TFM_PROFILE_TYPE_AROTLESS=y CONFIG_TFM_SFN=y CONFIG_TFM_ISOLATION_LEVEL=1 我在 TF-M 模块文件夹中编辑的唯一内容是 modules/tee/tf-m/trusted-firmware-m/platform/platform/ext/target/nxp/frdmrw612/config.cmake 中的以下配置文件设置: 设置 (TFM_PROFILE " profile_medium_arotless " 缓存字符串 " TF-M 配置文件 ") 修改自"profile_large" 谢谢您的帮助,如果我能提供更多信息,请告诉我。 Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 嗨,杰克,谢谢你回答我的问题。 既然你提到过使用 FRDM-RW612 进行过测试,那么你能在这款主板中复制 RESET 行为吗?我已经尝试添加您的配置和 TF-M 版本更改(TF-M 配置文件),但我仍然无法重现您的行为。 如果您能够重现这种情况,请与我们分享在 FRDM-RW612 上重现这种行为的详细步骤。
View full article
MC33774 目を覚ませ こんにちは。 現在、電圧取得にはS32K310、MC33665A、およびMC33774チップを使用しています。現在、私のMC33665Aは正常に動作しており、MC33774の電源と回路も正常です。しかし、MC33665A を介してウェイクアップフレームを送信して MC33774 を起動しようとすると、バスチェーン内の 2 つの AFE のどちらも起動できません (これは、VDDC 電圧が 5V に達するかどうかを測定することによって判断されます)。現在私が採用しているウェイクアップ方法は、ウェイクアップフレームを1フレーム送信した後、少なくとも10ミリ秒待機してから次のウェイクアップフレームを送信するというものです。正常に目覚めることができない原因として考えられることは何でしょうか? もう一つの問題は、ウェイクアップコマンドを送信した後、MC33774が起動しなかったことです。しかし、電圧取得命令を1つ送信したところ、最初のMC33774が起動し、DADD=0の状態で正しい電圧値で応答しました。これは妥当なことでしょうか? wakeup frameウェイクアップフレーム AFE_1 responds with data in the DADD=0 stateAFE_1はDADD=0の状態でデータで応答する MC33774 initialization processMC33774の初期化プロセス Re: MC33774 WAKE UP こんにちは。 この方法を試してみましたが、この列挙ではAFE1がDADD=2として列挙されました。つまり、AFE1をDADD=1として列挙したメッセージは無視されたか、ウェイクアップフレームとして扱われたということです。ウェイクアップフレームと列挙フレーム間の時間間隔は10msに設定されており、マニュアルの2.4msの要件を満たしているはずです。ウェイクアップフレームの送信フォーマットが間違っている可能性はありますか? Re: MC33774 WAKE UP こんにちは 試してみてください: 最初の33774を起動する → 最初の33774にDADDを書き込む → 2番目の33774を起動する → 2番目の33774にDADDを書き込む → n番目の33774を起動する → n番目の33774にDADDを書き込む。フローチャートは以下のとおりです。
View full article
FreeRTOSとAUTOSAR FlexCANドライバの統合 — RTD 3.0.0/ S32DS 当社は、ベアメタルAUTOSAR MCAL実装として、S32DS上でNXP RTD 3.0.0を使用したFlexCAN(CANドライバ)を開発しました。このプロジェクトのRTOSとしてFreeRTOSを統合する必要があります。 具体的な質問は以下のとおりです。 1. AUTOSAR MCALドライバ(RTD 3.0.0)の実行は公式にサポートされていますか?AUTOSAR OS ではなく FreeRTOS の下で? 2. FREERTOSを移植する場合、どのような方法がありますか?サンプルSDKはありますか? 3. FreeRTOSとCANドライバ(FlexCAN)を使用する場合、S32DSに既知の制限事項や追加の設定手順はありますか? 4. FreeRTOSを使用する場合、FlexCAN ISRの推奨割り込み優先度設定は何ですか(configMAX_SYSCALL_INTERRUPT_PRIORITYに関して)? 環境: - MCU: [FRDM s32k344 ] - RTDバージョン:3.0.0 - IDE: S32DS - RTOS: FreeRTOS - ドライバー: FlexCAN / CANドライバー (AUTOSAR MCAL) Re: FreeRTOS integration with AUTOSAR FlexCAN driver — RTD 3.0.0 / S32DS こんにちは 、 Julián_AragónM 早急なご返信と迅速な対応に感謝いたします。はい、とても役に立ちました Re: FreeRTOS integration with AUTOSAR FlexCAN driver — RTD 3.0.0 / S32DS こんにちは 、 1. AUTOSAR MCALドライバ(RTD 3.0.0)の実行は公式にサポートされていますか?AUTOSAR OS ではなく FreeRTOS の下で? はい。NXPはRTD 3.0.0をベースにしたS32K3向けFreeRTOSリリースを提供しています。FreeRTOSカーネルv10.5.1の場合: しかし、これらのルーチンはすべて、高レベル層(HLDまたはMCAL)ではなく、低レベル層(LLDまたはIP)に基づいています。主な理由は、FreeRTOSがISO26262認証を取得していないためです。 2. FREERTOSを移植する場合、どのような方法がありますか?サンプルSDKはありますか? これは顧客次第です。FreeRTOSの実装方法は、プロジェクトの複雑さによって異なります。先に述べたように、FreeRTOSパッケージには参考として使用できるサンプルルーチンがいくつか含まれています。 FreeRTOSのユーザーマニュアルにも、役立つ情報がたくさん掲載されています。リンカスクリプト、割り込みベクタテーブル、タイマー、割り込み、およびRTD統合について記載されています。 (FreeRTOSユーザーマニュアルはバージョン6.0.0以降で利用可能です。) 3. FreeRTOSとCANドライバ(FlexCAN)を使用する場合、S32DSに既知の制限事項や追加の設定手順はありますか? 通常のRTOS構成(ヒープサイズ、ハンドラ、タイマーを使用したOSレート、優先度など)を除けば、FlexCAN + FreeRTOSに特有の制限はありません。 4. FreeRTOSを使用する場合、FlexCAN ISRの推奨割り込み優先度設定は何ですか(configMAX_SYSCALL_INTERRUPT_PRIORITYに関して)? この別のコミュニティ投稿を参照してください:解決済み: FreeRTOS を S32K142 で使用する際の割り込み優先度の設定方法 - NXP コミュニティ。S32K1と記載されているが、原理は同じである。S32K3には4つの優先度ビットも備わっています。 アプリケーション開発がまだそれほど進んでいない場合は、バグ修正、既知の問題への対応、最適化を含む複数のリリースが公開されているため、現在のRTDバージョンを更新することをお勧めします。さらに、最新のRTDリリース(7.0.1)に対応したFreeRTOSパッケージも用意されています。 お役に立てば幸いです! よろしくお願いします、 ジュリアン
View full article
由于未找到访问令牌,FRDM-RW612 上的 KNX iot 下载 ETS 失败 你好 我按照以下链接中的步骤进行了操作,但在 ETS 下载时受阻 https://github.com/nxp-appcodehub/dm-knx-iot-zephyr-apps-with-ets-support-on-nxp-mcus 详细日志显示,原因是找不到访问令牌。我的问题是如何获取访问令牌并写入设备。谢谢 开发板 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好,@Shawn_LSQ。 能否请您详细说明下载 ETS 配置的步骤? 通常,下载的第一部分包括通过 SPAKE2+ 协议建立安全通道,在当前 Zephyr 版本的 RW612 中,这可能需要长达 30 秒的时间。出现这种情况时,您应该可以看到类似的日志记录: 203418 : INF : oc_knx.c 1586 : oc_core_knx_spake_separa... > oc_core_knx_spake_separate_post_handler - start 加密计算部分完成后,流程将继续进行,您应该可以看到 ETS 方面的流程仍在继续。 BR、 米哈伊 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好,米哈伊 OTBR 也使用 FRDM-RW612,并遵循以下链接 https://github.com/nxp-appcodehub/dm-knx-iot-zephyr-apps-with-ets-support-on-nxp-mcus/blob/main/docs/otbr_support.md 已附上 uart 日志 I。请检查一下,谢谢! Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好 我注意到 ETS 通过 ETS 消息启动了 PASE 请求,是我的 ETS 版本太新了吗?我使用 ETS V6.4.1 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好,@Shawn_LSQ。 你的 ETS 版本应该没问题,我也在使用 ETS 6.4.1 版本 8718,我认为没有问题。 你能否提供你正在使用的 OpenThread Border 路由器以及 OTBR 设备的配置的详细信息? 谢谢。 米哈伊 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好,米哈伊、 谢谢您的答复!所有步骤均按照恩智浦的官方步骤进行。 我附上了 usart 日志信息供您分析,但没有看到您所说的内容。 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 乌萨尔特日志 Re: KNX iot download ETS failed on FRDM-RW612 due to access token not find 你好,@Shawn_LSQ。 对不起,时间太长了。由于优先调用的原因,我目前无法进行进一步的调试,但从快速概览来看,我可以建议尝试使用 FreeRTOS OTBR 固件作为变通办法,因为我怀疑 Zephyr OTBR 可能存在问题。 RW612 FreeRTOS OTBR 编译说明可在此处获取。我从另一个主题中了解到,您在 Windows 上使用 CLI 构建时遇到了问题。我做了一个简单的测试设置,发现在 Git 安装过程中,需要选择几个选项,请看下面的图片。 这样就可以通过命令提示符 (CMD) 进行构建。 您仍然需要通过命令行启用环境: sdk\repo\mcuxsdk\mcux-env.cmd 能否请您尝试这些说明并反馈意见? 我们还将在自述文件中更新适当的说明。 BR、 米哈伊     
View full article
S32K312 RTD [SW32K3_S32M27x_RTD_R21-11_5.0.0] Dear Sir/Madam, We are using S32k312 Mini Eval board for our application development.  Planning to use SW32K3_S32M27x_RTD_R21-11_5.0.0 or SW32K3_S32M27x_RTD_R23-11_7.0.0 . Is it any NDA agreement need to be signed to use this RTD? S32K design studio [S32DS.3.6.6] configuration tool used for configuration file generation. Since it is open source using for configuration file generation, but IAR used for compilation & debugging. NDA needed for configuration use? Please support. Thanks & Regards, Thalapushpam Re: S32K312 RTD [SW32K3_S32M27x_RTD_R21-11_5.0.0] Hi @Thalapushpam1  There is no need for an NDA to access or use RTD, and the same applies to S32DS. However, it is important to review the license agreement to understand the terms of use. Regarding IAR, S32DS provides support through an IAR plugin that allows you to use the IAR compiler. However, you will still need a valid license from IAR to use it. For more details about licensing or usage, it is recommended to contact IAR directly. BR, VaneB
View full article
S32K328 RTCがウェイクアップ後に失敗 NXPチームの皆様、こんにちは。 私は以前、S32K314上でRTC(リアルタイムクロック)機能を開発しましたが、スリープ状態から復帰した後も正常に時間を計測し続けることができました。 現在、プロジェクトをS32K328に移植しているところです。しかし、RTC機能を移植する際に、次のような問題に遭遇しました。 起動後、日付(年/月/日)はデフォルト値の1970/1/1にリセットされます。さらに、時刻(時/分/秒)は最初に設定された値を保持せず、RTCの開始点から経過した時間のみを反映します。 例えば、RTCを2026/05/08 05:06:07に初期化します。1分間の動作後、MCUが起動してRTCの時刻を読み取ったところ、日付が1970/01/01に戻っており、時刻は期待される05:07:07ではなく00:01:00と表示されていました。 この問題はS32K314では発生しませんでした。この問題の考えられる原因は何でしょうか? よろしくお願いします。 Re: S32K328 RTC FAIL AFTER WAKEUP こんにちは、ジュリアンさん。 ご回答ありがとうございます。 クロックソースについては、S32K314のプロジェクトと同じSXOSCを選択しました。ご参考までに、下記の画像をご覧ください。 初期化に関しては、S32K314 のプロジェクトと同様に、WAKEUP_REASON != MCU_WAKEUP_REASON の場合にのみ rtc_app_init() を実行します。ご参考までに、下記の画像をご覧ください。   スリープモード中もカウンターはカウントを続けると思いますが、日付と時刻はリセットされます。 私のテスト結果は以下のとおりです。 最初の電源投入時、rtc_app_init() が完了した後、システムは 2026/05/08、5 時間 6 分 7 秒からカウントを開始します。 これはCANメッセージ0x521を介して送信されます。 バイト0:年 バイト1:月 バイト2:日 バイト3:時間 BYTE 4: 分 バイト5:2番目 バイト7:リセット理由   5分間の睡眠から目覚めた後も、カウンター(CNT)はカウントを続けます。しかし、年、月、日、時、分、秒はすべて、初期化時に設定された時刻からではなく、1970/01/01 00:00:00からカウントを開始します。 0x263の場合、バイト2からバイト5は、Rtc_Ip_ConvertTimeDateToSeconds()を使用して抽出された時間を表します。 S32K328とS32K314の違いを確認してください。 S32K328のRTCは、S32K314では同じ設定が正しく機能するのに、なぜ以前に設定した日付と時刻を保持しないのでしょうか? Re: S32K328 RTC FAIL AFTER WAKEUP こんにちは、 @Wade0905 さん。 RTCクロックソースを確認しましたか?SIRCと「スタンバイ時に有効」オプションが選択されていることを確認してください。 また、 RTCカウンタの値はウェイクアップ後にはリセットされませんが、main.cのRTC初期化コードを呼び出すことでリセットされることに注意してください。ウェイクアップイベント後にのみRTCを初期化しているようです。リセット理由を読み取って、他の種類のリセットが発行されていないか、そして誤ってRTCの値がクリアされていないかを確認してみてください。 参照できるコミュニティ投稿があります: S32K312: RTC - ウェイクアップのたびに一度リセットされないようにRTCカウンタ値を保持する。 ご自身の設定と比較してみてください。 よろしくお願いします、 ジュリアン
View full article
How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Dear sir, I want to use S32DS command line to import, update code, and cleanbuild. I can do successfull for the examples(Dio_Example_S32K388) in RTD, but failed for the examples in stacks, like lwip_FreeRTOS_s32k388. Could you help to check? Or could you provide the method? I test some examples of S32K388 and S32K344 like below. Now just lwip_FreeRTOS_s32k388 is failed. lwip_FreeRTOS_s32k344 is OK. FreeRTOS_Toggle_Led_Example_S32K388 and FreeRTOS_Toggle_Led_Example_S32K344 are OK. Dio_Example_S32K388 and Uart_Example_S32K388 are OK.   And my cusomter now is using lwip_FreeRTOS_s32k388, so I need resolve this issue.   Test environment: S32DS3.6.3 RTD : S32K3_S32M27x Real-Time Drivers ASR R21-11 Version 6.0.0 QLP04 FREERTOS: SW32K3 FreeRTOS 11.1.0 version 6.0.0 Code Drop TCPIP stack: SW32K3_S32M27X_TCPIP_STACK_3.0.0_D2507 Thanks. BR, Sean Wu Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Hi @PavelL , I read the thread before, and tried the command mantioned in the thread. But still failed. -HeadlessTool is required; otherwise, the S32DS GUI window will pop up, which is not what the customer wants. lwip_FreeRTOS_s32k344 is worked using my command. Could you please try lwip_FreeRTOS_s32k388 using your suggested command? My customer is using lwip_FreeRTOS_s32k388, so must resolve the issue.   Thanks. BR, Sean Wu Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Hello @seanwu , Based on this related thread: Load Config and Building in CLI failed You need to (some updates might be required to meet your project): load mex by -Load %PROJECT_PATH%\%PROJECT_NAME%.mex This row is not equivalent to "Update Code", remove -HeadlessTool Peripherals Explicitly set MCU by -MCU S32K388 Use -SDKVersion PlatformSDK_S32K3 "Click Update Code" by -ExportAll %PROJECT_PATH% Alternatively, add debug stuff to see what's happening there by -consoleLog So, the "Update code" could look like that: .\s32dsc.exe -noSplash ^ -application com.nxp.swtools.framework.application ^ --launcher.ini %DS_INSTALL%\eclipse\s32ds.ini ^ -data %WORKSPACE% ^ -sdkPath %RTD_PATH% ^ -MCU S32K388 ^ -SDKVersion PlatformSDK_S32K3 ^ -Load %PROJECT_PATH%\%PROJECT_NAME%.mex ^ -ExportAll %PROJECT_PATH% The example lwip_FreeRTOS_s32k344 can work only by accidentally, caused by some default settings.  Best regards, Pavel Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Hi @PavelL , I can see "tcpip_stack_1", and add "S32K388" in tcpip_itm_manifest.xml. S32DS can generate the folders after "Update Code", but command line still can't generate. Thanks. BR, Sean Wu Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Hello @seanwu , Double click on mex file. Click on icon Peripherals. Can you see this: If you can't see tcpip_stack and you can't even see the stack in Mange SDK Components window, try to fix tcpip_itm_manifest.xml as it has been discussed in this thread S32K388 tcpip stack 4.0.0 missing lwip folder while compiling Best regards, Pavel Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks HI @PavelL , I use the command line(see attached file) to "update code"  lwip_FreeRTOS_s32k388. But It won't generate "FreeRTOS", "RTD", and "stacks" folders, and files in the folders like below(The picture is "update code" using S32DS.).  Re: How to use S32DS command line to import, update code, and cleanbuild the example in TCPIP stacks Hello @seanwu , You installation setup appears to be correct. What do you mean by "failed"? Build errors or tcpip functional issue? Please check my example Example S32K388 GMAC0 lwIP FreeRTOS S32DS 3.6.1 RTD600 - list of my changes is provided. Best regards, Pavel
View full article
ISO/IEC 18000-3 模式 2 您好, 我想问一下恩智浦目前是否提供任何支持 ISO/IEC 18 000-3模式2的读卡器IC。 标签的具体示例:https://www.satoeurope.com/products/tags.php 我知道恩智浦的大多数读卡器集成电路(如 PN7462 或 CLRC663)都支持模式 3,但我在恩智浦的产品组合中没有找到明确支持模式 2 的芯片。是有这样的产品,还是恩智浦生态系统根本不支持模式 2? 谢谢。 米兰 Re: ISO/IEC 18000-3 Mode 2 你好@m_sedlak 希望你一切顺利。 目前,我们产品组合中的NFC 阅读器集成电路支持 ISO/IEC 18000-3 模式 3,此外,PN7642 还支持 ISO/IEC 18000-3 模式 1。 不便之处,敬请原谅。 Eduardo。
View full article
AMDGPU fails during Polaris12 SMU firmware startup Hi Team, We are using NXP T1040RBD Board, and while loading amdgpu driver it fails during Polaris12 SMU firmware startup. Please find below logs along with kernel config, dtb files amdgpu: failed to send message 100 ret is 0 amdgpu: SMU Firmware start failed! amdgpu: Failed to load SMU ucode. amdgpu: fw load failed amdgpu: smu firmware loading failed amdgpu 0001:01:00.0: amdgpu: amdgpu_device_ip_init failed amdgpu 0001:01:00.0: amdgpu: Fatal error during GPU init amdgpu 0001:01:00.0: amdgpu: amdgpu: finishing device. [drm:.gfx_v8_0_set_eop_interrupt_state [amdgpu]] invalid me 2 [drm:.gfx_v8_0_set_eop_interrupt_state [amdgpu]] invalid me 2 [drm:.gfx_v8_0_set_eop_interrupt_state [amdgpu]] invalid me 2 [drm:.gfx_v8_0_set_eop_interrupt_state [amdgpu]] invalid me 2 amdgpu: probe of 0001:01:00.0 failed with error -22 Re: AMDGPU fails during Polaris12 SMU firmware startup Hi Is there any way to fix this in driver side? Regards, Ganesh Re: AMDGPU fails during Polaris12 SMU firmware startup Hi, Sorry There is no NXP driver-side fix or ready-made repository for Polaris12 amdgpu on T1040, so any attempt to make it work would be a customer-owned SDK-kernel development effort with significant PCIe windowing and endianness risk. Regards Re: AMDGPU fails during Polaris12 SMU firmware startup Hi, The available documentation supports that T1040RDB can host PCIe cards, but does not support or validate AMD Polaris12 amdgpu operation, and the failure is most consistent with an unsupported big-endian PowerPC host compatibility issue rather than a known NXP PCIe bring-up fix. Regards
View full article