Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
WS2812接口与LPC5514JBD64E NXP社区的各位好, 我正在使用基于 LPC5514JBD64E 的控制器,需要将 WS2812/WS2812B LED 环与 MCU 连接。 我正在研究 LPC5514JBD64E 数据手册和我的控制器原理图,但我对 LPC55xx 系列还不熟悉,需要一些指导。 我想知道: 1. LPC5514JBD64E 的哪个 GPIO 引脚应该用于 WS2812 数据(DIN)信号? 2. 由于 LPC5514JBD64E 使用 3.3V 逻辑,而 WS2812 由 5V 供电,那么 MCU 和 WS2812 之间推荐的硬件连接是什么? 3. 是否建议在 MCU GPIO 和 WS2812 DIN 之间使用 74AHCT125? 4. 应使用哪种外设或方法来生成 WS2812 协议所需的精确时序? 5. 是否有使用 LPC5514JBD64E 控制 WS2812 或 NeoPixel LED 的官方 NXP SDK 示例、驱动程序或示例代码? 6.如果没有 WS2812 的具体示例,您能否提供或指出一个基本的、可运行的示例代码,使 WS2812 LED 或 LED 环闪烁或改变颜色? 7. 对于这款MCU,推荐的开发环境和编程/调试流程是什么? 我眼下的目标是使用 LPC5514JBD64E 使 WS2812 LED 环闪烁并显示不同的颜色。 我希望能够得到关于正确的GPIO、硬件连接、外设和示例代码方面的指导。 谢谢! LPC55xx Re: WS2812 interface With LPC5514JBD64E 请问能否提供一下这个项目的代码? Re: WS2812 interface With LPC5514JBD64E 嗨@Kishore02 1. WS2812 协议需要一个精确定时的单线数字输出信号。因此,DIN 信号最好由定时器/PWM 外设生成,而不是通过软件位操作生成。 对于 LPC551x 设备,一个实用的解决方案是使用 SCTimer 输出。 具体引脚取决于您的硬件设计和引脚复用配置。任何可以配置为 SCTimer 输出的引脚都可以使用。 例如,LPC55S16 SDK 提供了 sctimer_pwm_with_dutycycle_change 示例,该示例使用了: SCT0_OUT2 (J12-12 on LPCXpresso55S16 board) 2. 由于 LPC5514 工作在 3.3 V 逻辑电平,而 WS2812 通常由 5 V 供电,因此建议进行电平转换以提高信号完整性并确保可靠运行。 3. 是的。 74AHCT125 是连接 3.3 V MCU 和 5 V WS2812 设备的常用推荐解决方案。 4. 对于 LPC551x 设备,首选方法是: SCTimer(推荐) 生成一个 800 kHz 的波形。 动态更新每个传输比特的PWM占空比。 与 SDK 示例类似: sctimer_pwm_with_dutycycle_change 5.目前,我还没有发现专门针对 LPC5514 的 WS2812 或 NeoPixel LED 的官方 MCUXpresso SDK 示例。 不过,SDK 提供了几个 SCTimer PWM 示例,可以作为起点。 尤其: sctimer_pwm sctimer_pwm_with_dutycycle_change 虽然我没有找到适用于 LPC5514 SDK 的 WS2812 专用示例,但我之前使用 SCTimer + eDMA 方案在 FRDM-MCXN947 板上实现了可靠的 WS2812 控制。 6.我建议从以下方面开始: lpcxpresso55s16_sctimer_pwm_with_dutycycle_change 7. 推荐的开发环境是: MCUXpresso IDE MCUXpresso SDK LPC-Link2 或 MCU-Link 调试器 板载 CMSIS-DAP 调试器(如果评估板上有) 希望这对您有所帮助。 BR 哈里
View full article
How to enable the external U.FL antenna on FRDM-RW612 EVK Hi NXP Team, I'm using the FRDM-RW612 EVK with the wifi_cli example from the SDK. The Wi-Fi firmware loaded is rw61x_sb_wifi_a2.bin. I have connected a Molex 1461539050 external antenna to the UFL connector (J11) on the EVK. However, I do not observe any improvement in the RSSI compared to the onboard PCB antenna. In some cases, the RSSI is even slightly lower. Prathyush_27_0-1783428299975.png From the FRDM-RW612 schematics and user guide, I understand that the RF switch (U16 - RTC7608U) selects between the onboard PCB antenna and the external UFL connector and that RF_CNTL_3 is the control signal for this switch: RF_CNTL_3 = 0 -> PCB antenna (default) RF_CNTL_3 = 1 -> External UFL antenna How to control RF_CNTL_3 ? Is RF_CNTL_3 driven automatically by the Wi-Fi firmware ? If yes what is its default value ? How to modify that value ? Is any hardware or firmware configuration required to enable the external antenna on the EVK? Any guidance or example code would be greatly helpful. Thank you. Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi, Let me check this. Regards, Daniel. Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi @DanielRuvalcaba , were you able to check this, please let me know if you have any updates regarding this. Thanks & Regards, Prathyush Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi, I've sent you a private message. Regards, Daniel. Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi @DanielRuvalcaba I also would like to switch antenna to UFL connector (J11) on FRDM-RW612. Could you please share information how to do it? Are we switching antenna through Front-end module (FEM) settings? Regards Marcin Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi, I reached you via private message. Regards, Daniel. Re: How to enable the external U.FL antenna on FRDM-RW612 EVK Hi @Tusisima , To enable the u.FL antenna require a special calibration file, as antenna selection is controlled through this calibration data. You should reach NXP's support person to get the calibration file. Re: How to enable the external U.FL antenna on FRDM-RW612 EVK How did you fixed this? 
View full article
In standby mode, the pins of the S32K328 cannot output a high level I followed the configuration steps in the operation manual to configure some GPIO pins of the S32K328 to maintain a high level in standby mode, but it failed. Below is my configuration process. I did not perform the fourth step recommended in the manual. Does this have an impact? I have performed similar configurations on the S32K312 before without any errors. My understanding is that, since I did not disable the pin keep function after reset, even if I configure the GPIO pins to output a low level after wake‑up, the output pin level should still maintain the high level that was set before entering standby mode. Currently, in actual measurements, the several GPIO pins configured in both standby mode and run mode have remained at a low level. 6ABE3FCC-00F4-4165-B025-E31BB4B1BEBC.png de7ee9ab18af4cbe9fe5a0f4dbd21427.png Re: In standby mode, the pins of the S32K328 cannot output a high level Hi @hhggll23, I did not perform the fourth step recommended in the manual. Does this have an impact? Yes, it does. If you enable Pad Keeping before going to standby mode (write DCM_GPR->DCMRWF1[STANDBY_IO_CONFIG] = 0. Which is default register value no matter PKE of SIUL2 is set or not), but you did not disable it after wakeup, the SIUL2 module cannot be initialized again. If you don’t need the Pad Keeping function while the MCU needs to go to standby mode and wakeup, you need to write 1 to this bit anywhere and leave it alone. This is done through the Power_Ip_Init() API: Julin_AragnM_3-1786127814879.png Now, I/O pins retain their last set states in run mode during standby mode, regardless of Pad Keeping configuration. Since S32K3 will always perform a reset sequence after waking up, and since SIUL2 module resets the GPIO pads to its default state on a functional reset, pad keeping ensures that the pin can retain its state from wakeup until user unlock it. Julin_AragnM_0-1786126733106.png Julin_AragnM_4-1786128871517.png Are you trying to set all of the pins shown in the image to HIGH on Standby? Are all of them going LOW upon entering Standby? Or when exiting?  Best regards, Julián Re: In standby mode, the pins of the S32K328 cannot output a high level Thank you very much for your reply. I rechecked the program and found that after pulling the pins high before standby, an unintended routine ran that re‑initialized all GPIO pins, which caused the pins to remain at a low level during standby. After the modification, the GPIO pin levels have been successfully pulled high in standby mode. Now a new issue has arisen: after the GPIO pins are pulled high in standby mode, the standby current seems to have increased. Currently, under standby conditions, the quiescent current of the controller is about 3 mA with a 24 V supply. After troubleshooting other circuits, I suspect that the S32K328 consumes most of this current. At 24 V, 3 mA corresponds to about 14.4 mA when converted to the controller's 5 V supply. I have pulled high 8 GPIO pins in standby mode. Is this standby current normal? To address this issue, can I configure the GPIO pins of the S32K328 as high‑impedance in standby mode, so that an external pull‑up resistor can maintain the high level on the pins during standby?
View full article
eIQ Toolkit v1.17 PTQ silently skipped, output tflite remains full float32 without error message Environment: - Host: Windows11, eIQ Toolkit v1.17 - Target SOC: NXP i.MX95 19X19 board - Model: pruned MNIST CNN, input shape [1,1,28,28] - ONNX opset: 12, pure FP32, no pre‑inserted QDQ nodes. Problem description: I try to run PTQ quantization via eiq‑converter‑onnx2tflite plugin. Both CLI and GUI Model Tool finish conversion without any error / warning log. But the output tflite model is still full float32. All weights, biases and activation tensors have scale=0, zero_point=0. It means PTQ calibration never actually ran. What I have tried: As a prerequisite, I have got an .onnx file from python which opset is 12. Then I want to quantization via eIQ. After quantization, to do the neutron-converter via eIQ. there are 3 ways to do this, I think. and after quantization, we can check the quantization is done or not via to see the dtype ,scale and zp.  I do this via GUI. Step Tool Output Folder output   Step1 01_train_mnist_cnn.py 01_train_mnist_cnn_out mnist_cnn.pth   Step2 02_prune_test.py 02_prune_test_out prune_after.pth   Step3 03_export_onnx.py 03_export_onnx_out handwrite_cnn_pruned.onnx   Step4 GUI ONNX 04_eIQ_quantization handwrite_cnn_pruned_quantizationed.onnx   Step5 GUI ONNX2TFLITE 05_eIQ_quqntizedonnx2tflite eIQ_quqntizedonnx2tflite.tflite there is a question about this output,all scale and zp is 0, that is to say  , there is no quantization. I donot know why. Step6 GUI converter neutron 06_eIQ_neutron eIQ_quqntizedonnx2tflite_converted.tflite      I do this via command line by qty+2tflite in one step. eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --precision int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs --quantize-input true eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --precision int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs  --preprocessing "div:255.0" I have tried this 2 command, both of them can be [success],but  all scale and zp is 0, that is to say  , there is no quantization. I donot know why. lzm_0-1786693994048.png I do this via command line by quan+2tflite in two step. python -m onnx2quant -c "input;D:\01_Work\AI_Project\mnist_new_demo\09_mnist_calib_npy4d" -o D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx --dest D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\mnist_int8_final.tflite --input-shape "1,1,28,28" I have tried them, then I got a .tflite which's scale and zp is not all 0.  Then I use this  mnist_int8_final.tflite to the GUI eiq-converter-neutron.  Then I have got a .tflite file smoothly. But when I run it on the iMax95, lzm_1-1786694055535.png we can see that it did not run on the NPU. I think the question is my .tflite file. So I tried to use the command line to get the the right .tflite file, there is still ERROR: Internal error!   lzm_3-1786694149754.png lzm_2-1786694119859.png Summary of observations:   1. Using eiq‑converter‑onnx2tflite (GUI or CLI) for native PTQ finishes without errors, but produces full float32 models. Quantization appears to be silently skipped. 2. When I use third‑party tool `onnx2quant` to generate QDQ‑inserted ONNX first, I can get a TFLite with non‑zero scale and zero‑point. However this externally‑quantized model cannot be fully processed by neutron‑converter, it throws `ERROR: Internal error!` during graph optimization, and fails to generate a working NPU‑compatible model.   I am still learning this toolchain. It may be that I have misused parameters or followed an incorrect workflow.   Could anyone who has successfully run a quantized MNIST‑like CNN on i.MX95  share the verified workflow? I would really appreciate any hints on how to correctly perform PTQ and produce a valid TFLite model that can be compiled and executed on the NPU.   Thank you very much. EIQ-TOOLKIT     
View full article
FRDM-RW612 EVKで外部U.FLアンテナを有効にする方法 こんにちは、NXP チームの皆様、 私はFRDM-RW612 EVKをSDKのwifi_cli例で使っています。ロードされたWi-Fiファームウェアはrw61x_sb_wifi_a2.binです。 EVKのUFLコネクタ(J11)にMolex 1461539050外部アンテナを接続しました。しかし、オンボードPCBアンテナと比較して、RSSIの改善は見られませんでした。場合によってはRSSIがさらにわずかに低いこともあります。 Prathyush_27_0-1783428299975.png FRDM-RW612の回路図とユーザーガイドから、RFスイッチ(U16 - RTC7608U)はオンボードPCBアンテナと外部UFLコネクタのどちらかを選択し、RF_CNTL_3がこのスイッチの制御信号であることを理解しています: RF_CNTL_3 = 0 -> PCBアンテナ(デフォルト) RF_CNTL_3 = 1 -> 外部UFLアンテナ RF_CNTL_3を制御する方法は? RF_CNTL_3はWi-Fiファームウェアによって自動的に駆動されますか?はいの場合、そのデフォルト値は何ですか?その値を変更するにはどうすればよいですか? EVKの外部アンテナを有効にするには、ハードウェアまたはファームウェアの設定が必要ですか? 何かご指導やサンプルコードがあれば大変助かります。 よろしくお願いします。 Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは、 確認させてください。 よろしくお願いいたします。 ダニエル。 Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは、 @DanielRuvalcaba さん。この件について確認していただけましたでしょうか?何か進展がありましたらお知らせください。 よろしくお願いいたします。 プラティシュ Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは、 プライベートメッセージを送りました。 よろしくお願いいたします。 ダニエル。 Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは @DanielRuvalcaba また、FRDM-RW612のUFLコネクタ(J11)にアンテナを交換したいとも思っています。 どうやってやるのか、教えていただけますか? フロントエンドモジュール(FEM)の設定でアンテナを切り替えているのでしょうか? よろしくお願いいたします マルチン Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは、 プライベートメッセージでご連絡いたしました。 よろしくお願いいたします。 ダニエル。 Re: How to enable the external U.FL antenna on FRDM-RW612 EVK どうやって直したのですか? Re: How to enable the external U.FL antenna on FRDM-RW612 EVK こんにちは、 @Tusisima さん。u.FLアンテナを有効にするには、特別なキャリブレーションファイルが必要です。アンテナの選択はこのキャリブレーションデータによって制御されるためです。キャリブレーションファイルを取得するにはNXPのサポート担当者に連絡してください。
View full article
rt1189 启动流程 1.如图所示,“图像认证”过程是否会在 安全散列算法(SHA)-512 哈希阶段验证哈希值? yanyanwang_0-1786097643048.png 2. 如果我设置了哈希值,BootROM 会验证镜像完整性吗?如果 BootROM 验证失败,它会进入恢复模式吗? Re: rt1189 Boot Flow yanyanwang_0-1786444750281.png yanyanwang_1-1786444764361.png 如上图所示,如果我只对镜像进行签名而不进行加密,它是否能够通过 bootrom 验证流程?此外,启用 oem_close 后,它是否还能进入 bootrom 验证流程?     Re: rt1189 Boot Flow 以下是您两个问题的答案: 1. 仅签名(未加密)的镜像能否通过 BootROM 验证流程?是的。在 RT1180 AHAB 中,签名(认证)是安全启动的必要部分,可确保映像的真实性和完整性,而加密(OTFAD/IEE)是一个独立的、可选的防克隆功能,并非验证的先决条件。因此,仅签名的图像将正常地经过完整的 AHAB 签名验证流程,这也是 NXP 官方 SPSDK rt118x_secure_boot 示例中的标准方法。 2. 启用 oem_close (OEM_CLOSED) 后,是否仍会进入验证流程?是的,验证将成为强制性要求。 建议:在执行 oem_close 之前,请先将签名映像编程到 OEM_OPEN 状态,并确认其启动成功且无 ELE 事件,然后再关闭设备(SRKH 一旦熔丝就不可逆),以避免损坏设备。 (请参阅:i.MX RT1180 网络安全参考手册。)通过公司账户签署保密协议后,请向在线技术销售代表提交申请。) Re: rt1189 Boot Flow 1. 是否只有在启用签名认证功能时才启用哈希验证?如何独立启用哈希验证?如何将设备过渡到 OEM_CLOSED 生命周期状态? 2. 我将启用恢复启动熔丝。 3. 我的目标是使用未加密的图像。启动ROM应计算并验证镜像哈希值。如果哈希验证失败,启动 ROM 应进入恢复启动流程,并从 LPSPI NOR Flash 启动恢复映像。 Re: rt1189 Boot Flow 嗨@yanyanwang , A1:是的。RT1180 使用 AHAB 协议,并采用两层认证: 签名层:ECDSA(安全散列算法(SHA)-256 / 安全散列算法(SHA)-384)验证容器头和图像数组条目(存储每个图像的哈希值)。 哈希层:ROM 重新计算已加载图像主体的摘要,并将其与存储在图像数组条目中的哈希值进行比较。 图中所示的 安全散列算法(SHA) 哈希阶段正是这种强制性的完整性检查,它确实会验证哈希值。 A2: ROM始终会计算并比较哈希值,但是否强制执行错误取决于设备的生命周期:出厂默认配置为 Open,此时会运行身份验证,但所有身份验证错误都会被忽略,镜像仍然可以执行。只有在设备切换到 OEM_CLOSED 状态后,哈希值不匹配才会真正阻止启动。 是否进入恢复模式取决于恢复启动熔丝。如果启用,主启动身份验证失败将触发从恢复设备重新加载和重新身份验证;如果未启用,则流程将进入串行下载器/致命模式/RESET循环。 此致, 加文 Re: rt1189 Boot Flow 使用 multicore_trigger 和 cm7_helloworld 这两个演示程序时,我没有为 CM7 ITCM 启用 ECC。我使用 SPT 工具将 CM33 镜像和 CM7 镜像(旨在从内存运行)合并成一个镜像,然后通过 UART 将合并后的镜像编程到或非 Flash 中。然而,启动过程失败了。根据手册,一个容器最多可以包含 8 个 OEM 图像条目。在我的测试中,我只包含了两张图片:一张 CM33 图片和一张 CM7 图片。CM7 ITCM ECC 未启用。 CM33 和 CM7 镜像均未启动。但是,当我检查容器头时,发现其中只有 CM33 镜像。CM33 镜像本身单独使用时可以正常启动,不会出现任何问题。 我想了解为什么 CM7 镜像没有被包含或按预期处理,以及缺少 CM7 ITCM ECC 配置是否会影响 Boot ROM 处理 CM7 镜像的方式。 问题2: 如果我将 8 个 CM7 镜像和 1 个 CM33 镜像合并到一个容器中,启动过程中 Boot ROM 会执行什么操作? 由于只有一个 CM7 内核,启动 ROM 如何确定应该启动哪个 CM7 镜像?如果所有 8 个图像条目都是 CM7 图像,启动 ROM 会加载所有 8 个图像、只选择一个图像,还是将选择权交给 CM33 应用程序? Boot ROM 如何识别和处理同一容器中的多个 CM7 映像条目?是否存在优先级、映像索引、核心 ID、加载地址、入口点或其他机制来确定执行哪个 CM7 映像? 我还想了解启用 CM7 ITCM ECC 和未启用 CM7 ITCM ECC 时启动 ROM 的确切行为。 启用 CM7 ITCM ECC 时,启动 ROM 是否会初始化 CM7 ITCM ECC 存储器,将 CM7 映像从 NOR Flash 复制到 CM7 ITCM,然后释放 CM7 的 RESET 状态?或者说,Boot ROM 只负责加载 CM7 镜像,而 CM33 应用程序负责解除 CM7 的 RESET 状态并启动它? 当 CM7 ITCM ECC 未启用时,启动 ROM 在遇到加载地址位于 CM7 ITCM 中的 CM7 映像时会做什么?启动 ROM 是否会跳过 CM7 镜像、无法加载、使 CM7 保持重置状态,或者导致整个容器启动过程失败? 我尤其想确认一下是否支持以下容器: 图片 0:CM33 图1:CM7 图2:CM7 图3:CM7 图4:CM7 图5:CM7 图6:CM7 图7:CM7 图8:CM7 如果支持,那么在启动 ROM 时,这 8 个 CM7 镜像究竟会发生什么?哪个元器件负责选择实际执行的 CM7 镜像? 最后,我想澄清一下,最多 8 个 OEM 镜像条目是指容器可以简单地存储 8 个不同的镜像,还是 Boot ROM 也提供了一种机制,可以为给定的核心选择和启动特定的镜像。
View full article
参考文档请求:在 S32DS 中将 AI 工具与 Cody Chat 集成 尊敬的NXP社区团队: 我目前正在使用 S32 Design Studio,并使用 IDE 中提供的 Cody Chat 功能。 我想知道是否可以将OpenAI ChatGPT 和 Anthropic Claude等外部 AI 模型集成到 S32 Design Studio 的 Cody Chat 部分中。 我的需求是在 S32DS 内部直接使用 AI 助手来执行以下操作: C/C++ 代码生成及说明 嵌入式 C 开发 调试编译器和链接器错误 CAN、SPI、I2C、UART 和 ADC 开发 S32K3/S32K344 开发 了解并参与当前的S32DS项目项目。 我发现 Sourcegraph Cody 的官方文档描述了对 OpenAI 和 Anthropic 模型的支持,包括模型配置和自带密钥 (BYOK) 选项。 请问您能否澄清一下: S32 Design Studio 中使用的 Cody 集成是否能够连接到 ChatGPT/OpenAI 和 Claude 等外部 AI 提供商? 我们能否在 Cody Chat 部分为这些 AI 提供商配置我们自己的 API 密钥? 是否有任何 NXP 官方文档、S32DS 文档、Cody 文档或示例项目说明如何在 S32DS 中配置或将外部 AI 模型与 Cody 集成? 如果当前 S32DS 版本不直接支持此功能,是否有官方方法可以扩展 Cody/Eclipse 插件以支持外部 AI 提供商? 与标准的 Sourcegraph Cody 实现相比,S32DS 实现的 Cody 是否存在任何限制? 作为参考,我找到了以下关于支持的LLM和模型配置的Sourcegraph文档: 支持的LLM 科迪模型配置 Cody 模型配置示例 请问能否提供NXP的相关参考文档或推荐的S32DS实施流程? 感谢您的支持。 此致, 阿拉文德·托加拉利
View full article
rt1189 ブートフロー 1.図に示すように、「画像の認証」プロセスは、SHA-512ハッシュ化の段階でハッシュ値を検証するのでしょうか? yanyanwang_0-1786097643048.png 2. ハッシュ値を設定した場合、BootROMはイメージの整合性を検証しますか?BootROMの検証に失敗した場合、リカバリーモードに入るのでしょうか? Re: rt1189 Boot Flow yanyanwang_0-1786444750281.png yanyanwang_1-1786444764361.png 上の図に示すように、イメージに署名するだけで暗号化しない場合、ブートROMの検証フローを通過できるでしょうか?さらに、oem_closeが有効になっている場合でも、ブートROM検証フローに入ることは可能でしょうか?     Re: rt1189 Boot Flow 1. 署名認証機能が有効である場合にのみハッシュ検証が有効ですか?ハッシュ検証はどのように独立して有効化できるのでしょうか?デバイスはどのようにしてOEM_CLOSEDライフサイクル状態に移行できますか? 2. リカバリーブートヒューズを有効にする。 3. 私の目標は暗号化されていない画像を使うことです。ブートROMはイメージハッシュを計算し、検証する必要があります。ハッシュ検証が失敗した場合、ブートROMはリカバリブートフローに入り、LPSPI NORフラッシュからリカバリイメージを起動する必要があります。 Re: rt1189 Boot Flow 下記に、お客様からの2つのご質問に対する回答を記載いたします。 1. 署名のみ(暗号化されていない)イメージがBootROM検証フローを通過できますか?はい。RT1180 AHABでは、署名(認証)がセキュアブートの必須部分であり、画像の真正性と整合性を確保しています。一方、暗号化(OTFAD/IEE)は独立した任意のアンチクローン機能であり、検証の前提条件ではありません。したがって、署名のみのイメージは通常どおり完全な AHAB 署名検証フローを通過します。これは、NXP の公式 SPSDK rt118x_secure_boot サンプルにおける標準的なアプローチでもあります。 2. oem_close (OEM_CLOSED) が有効になっている場合でも、検証フローは実行されますか?はい、そして本人確認が必須となります。 おすすめ: oem_closeを実行する前に、署名済みイメージをOEM_OPEN状態でプログラムし、ELEイベントなしで正常に起動することを確認すると、デバイスを閉じてください(SRKHはフュージョンされると不可逆的です)。部品のブリックを防ぐためです。 (参照:i.MX RT1180セキュリティリファレンスマニュアル。会社のアカウントを通じてNDAに署名した後、オンラインの営業担当者にリクエストを提出してください。) Re: rt1189 Boot Flow こんにちは@yanyanwangさん A1:はい。RT1180はAHABを2つの認証層で使用しています: 署名レイヤー:ECDSA(SHA-256 / SHA-384)は、コンテナヘッダーとイメージ配列エントリ(各イメージのハッシュを格納する)を検証します。 ハッシュ層:ROMはロードされたイメージ本体のダイジェストを再計算し、イメージ配列エントリに格納されているハッシュと比較します。 図中のSHAハッシュ段階はまさにこの必須の整合性チェックであり、ハッシュ値を検証するものです。 A2: ROMは常にハッシュを計算・比較しますが、失敗が強制されるかどうかはデバイスのライフサイクルによって異なります。アウトオブファブのデフォルトはOpen構成で、認証は実行されますが、すべての認証エラーは無視され、画像は実行されます。デバイスをOEM_CLOSEDに移動して初めて 、ハッシュの不一致が起動をブロックします。 リカバリーモードに入るかどうかは、リカバリーブートヒューズの状態によって決まります。有効化されると、プライマリブート認証の失敗がリカバリーデバイスから再ロードおよび再認証が引き起こされます。有効化されていない場合、フローはシリアルダウンローダー/フェイタルモード/リセットループに移行します。 よろしくお願いします、 ギャビン Re: rt1189 Boot Flow multicore_triggerとcm7_helloworldという2つのデモを使用した際、CM7 ITCMのECCは有効にしませんでした。私はSPTツールを使用して、メモリから実行することを目的としたCM33イメージとCM7イメージを1つのイメージに統合し、その後、統合したイメージをUART経由でNORフラッシュに書き込みました。しかし、起動プロセスが失敗しました。マニュアルによると、コンテナには最大8つのOEM画像エントリーを含めることができます。今回のテストでは、CM33画像とCM7画像の2枚のみを使用しました。CM7 ITCM ECCは有効になっていませんでした。 CM33イメージもCM7イメージも起動しなかった。しかし、コンテナヘッダーを確認したところ、CM33イメージしか存在しないことがわかりました。CM33イメージ自体は単独で使っても問題なく正常に起動できます。 CM7イメージが想定どおりに含まれなかった、あるいは処理されなかった理由、そしてCM7 ITCM ECC構成の欠如がブートROMによるCM7イメージの処理方法に影響を与えるかどうかを理解したいと考えています。 質問2: 8つのCM7イメージと1つのCM33イメージを1つのコンテナに統合した場合、ブートROMは起動プロセス中にどのような動作をしますか? CM7コアは1つしかないのに、ブートROMはどのCM7イメージを起動するかをどのように判断するのでしょうか?もし8枚の画像エントリすべてがCM7の画像なら、Boot ROMは8枚すべての画像を読み込むのか、1枚だけを選択するのか、それとも選択はCM33アプリケーションに任せるのか? Boot ROMは、同じコンテナ内の複数のCM7イメージエントリをどのように識別し、処理するのですか?どのCM7イメージを実行するかを決定するために使用される優先順位、イメージインデックス、コアID、ロードアドレス、エントリポイント、またはその他のメカニズムはありますか? また、CM7 ITCM ECCが有効になっている場合と無効になっている場合における、ブートROMの正確な動作についても理解しておきたい。 CM7 ITCM ECCが有効になっている場合、ブートROMはCM7 ITCM ECCメモリを初期化し、NORフラッシュからCM7イメージをCM7 ITCMにコピーし、その後CM7をリセット状態から解放するのでしょうか?それとも、Boot ROMはCM7イメージだけを読み込み、CM33アプリケーションはCM7のリセット解除と起動を担当しているのでしょうか? CM7 ITCM ECCが有効になっていない場合、ブートROMは、ロードアドレスがCM7 ITCM内にあるCM7イメージを検出したときにどのような動作をしますか?Boot ROMはCM7イメージをスキップしたり、ロードに失敗したり、CM7をリセット状態にしたり、コンテナのブートプロセス全体を失敗させたりしますか? 特に、以下のコンテナがサポートされているかどうかを確認したいです。 画像0:CM33 画像1:CM7 画像2:CM7 画像3:CM7 画像4:CM7 画像5:CM7 画像6:CM7 画像7:CM7 画像8:CM7 もしサポートされている場合、ブートROM起動時にこれら8つのCM7イメージは具体的にどのように処理されるのでしょうか?また、実際に実行されるCM7イメージを選択する役割を担うコンポーネントはどれでしょうか? 最後に、最大8つのOEMイメージエントリがコンテナに8つの異なるイメージを保存できるのか、それともBoot ROMが特定のコアに対して特定のイメージを選択して起動する仕組みを提供しているのかを明確にしたいと思います。
View full article
eIQ Toolkit v1.17 PTQ 静默跳过,输出 tflite 仍保持全 float32 格式,且无错误信息。 环境: - 主机:Windows 11,eIQ Toolkit v1.17 - 目标 SoC:NXP i.MX95 19X19 板 - 模型:剪枝后的 MNIST CNN,输入形状 [1,1,28,28] - ONNX opset:12,纯 FP32,无预插入 QDQ 节点。 问题描述: 我尝试通过 eiq‑converter‑onnx2tflite 插件运行 PTQ 量化。 CLI 和 GUI 模型工具均顺利完成转换,未记录任何错误/警告日志。 但是输出的 tflite 模型仍然是全 float32 格式。 所有权重、偏置和激活张量的尺度均为 0,零点均为 0。这意味着PTQ校准实际上从未运行过。 我尝试过的方法: 作为前提条件,我已获得一个 .onnx 域名。来自 Python 的文件,其 opset 为 12。 然后我想通过eIQ进行量化。量子化后,通过 eIQ 进行中子变流器。 我认为有三种方法可以做到这一点。 量化之后,我们可以通过查看 dtype、scale 和 zp 来检查量化是否完成。 我通过图形用户界面完成这项操作。 步骤 工具 输出文件夹 输出   Step1 01_train_mnist_cnn.py 01_train_mnist_cnn_out mnist_cnn.pth   步骤2 02_prune_test.py 02_prune_test_out prune_after.pth   步骤 3 03_export_onnx.py 03_export_onnx_out handwrite_cnn_pruned.onnx   步骤 4 GUI ONNX 04_eIQ_量化 handwrite_cnn_pruned_quantizationed.onnx   步骤 5 图形用户界面 ONNX2TFLITE 05_eIQ_quqntizedonnx2tflite eIQ_quqntizedonnx2tflite.tflite 关于此输出存在一个问题,所有缩放和 zp 均为 0,也就是说,没有量化。我不知道为什么。 步骤6 GUI变流器中子 06_eIQ_中子 eIQ_quqntizedonnx2tflite_converted.tflite   我通过命令行一步完成此操作,命令为 qty+2tflite。 eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --precision int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs --quantize-input true eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --precision int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs --preprocessing "div:255.0" 我尝试了这两个命令,它们都能[成功],但是所有的 scale 和 zp 都是 0,也就是说,没有量化。我不知道为什么。 lzm_0-1786693994048.png 我通过命令行使用 quan+2tflite 分两步完成此操作。 python -m onnx2quant -c "input;D:\01_Work\AI_Project\mnist_new_demo\09_mnist_calib_npy4d" -o D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx --dest D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\mnist_int8_final.tflite --input-shape "1,1,28,28" 我试过了,然后我得到了一个 .tflite 文件。它的尺度和zp值并非全部为0。 然后我将这个 mnist_int8_final.tflite 文件导入到图形用户界面 eiq-converter-neutron 中。然后我得到了一个 .tflite 文件。文件处理流畅。 但是当我在 iMax95 上运行它时, lzm_1-1786694055535.png 我们可以看到它并没有在NPU上运行。 我认为问题出在我的 .tflite 文件上。文件。 所以我尝试使用命令行来获取正确的 .tflite 文件。文件仍然存在错误:内部错误!   lzm_3-1786694149754.png lzm_2-1786694119859.png 观察结果总结:   1. 使用 eiq‑converter‑onnx2tflite(GUI 或 CLI)进行原生 PTQ 转换不会出错,但会生成完整的 float32 模型。量化过程似乎被悄悄跳过了。 2. 当我使用第三方工具 `onnx2quant` 先生成插入 QDQ 的 ONNX 时,我可以得到一个具有非零刻度和零点的 TFLite。 然而,这种外部量子化的模型无法被中子转换器完全处理,在图优化过程中会抛出“错误:内部错误!”,并且无法生成可工作的 NPU 兼容模型。   我还在学习这套工具链。可能是我误用了参数或者遵循了错误的工作流程。   有没有人成功地在 i.MX95 上运行过量化的 MNIST 类 CNN,能否分享一下经过验证的工作流程? 我非常希望得到一些关于如何正确执行 PTQ 并生成可在 NPU 上编译和执行的有效 TFLite 模型的提示。   非常感谢。 EIQ 工具包    
View full article
在待机模式下,S32K328 的引脚无法输出高电平。 我按照操作手册中的配置步骤,将 S32K328 的一些 GPIO 引脚配置为在待机模式下保持高电平,但失败了。以下是我的配置过程。我没有按照手册中的建议执行第四步。这会产生影响吗?我之前在 S32K312 上进行过类似的配置,没有出现任何错误。我的理解是,由于我没有在RESET后禁用引脚保持功能,即使我将 GPIO 引脚配置为在唤醒后输出低电平,输出引脚电平仍应保持进入待机模式之前设置的高电平。目前,在实际测量中,配置为待机模式和运行模式的几个 GPIO 引脚均保持低电平。 6ABE3FCC-00F4-4165-B025-E31BB4B1BEBC.png de7ee9ab18af4cbe9fe5a0f4dbd21427.png Re: In standby mode, the pins of the S32K328 cannot output a high level 你好@hhggll23 , 我没有按照手册中的建议执行第四步。这会产生影响吗? 是的,确实如此。如果在进入待机模式之前启用了焊盘保持(写入 DCM_GPR->DCMRWF1[STANDBY_IO_CONFIG] = 0,无论 SIUL2 的 PKE 是否设置,这都是默认寄存器值),但在唤醒后没有禁用它,则 SIUL2 模块将无法再次初始化。如果 MCU 需要进入待机模式和唤醒时不需要 Pad Keeping 功能,则需要将 1 写入该位(任意位置)并保持不动。 这是通过 Power_Ip_Init() API 实现的: Julin_AragnM_3-1786127814879.png 现在,无论焊盘保持配置如何,I/O 引脚在待机模式下都会保持其在运行模式下的最后设置状态。 由于 S32K3 在唤醒后总是会执行复位序列,并且 SIUL2 模块在功能复位时会将 GPIO 焊盘复位到其默认状态,因此焊盘保持功能可确保引脚从唤醒到用户解锁期间保持其状态。 Julin_AragnM_0-1786126733106.png Julin_AragnM_4-1786128871517.png 您是想将图中所示的所有引脚在待机状态下都设置为高电平吗?它们进入待机状态时都会变成低电压吗?或者在离开时? 此致, 朱利安 Re: In standby mode, the pins of the S32K328 cannot output a high level 非常感谢您的回复。我重新检查了程序,发现待机前将引脚拉高后,运行了一个意外的例程,重新初始化了所有 GPIO 引脚,导致引脚在待机期间保持低电平。修改后,待机模式下 GPIO 引脚电平已成功上拉。现在出现了一个新问题:在待机模式下将 GPIO 引脚拉高后,待机电流似乎增加了。目前,在待机状态下,控制器的静态电流在 24V 电源供电下约为 3mA。在排查了其他电路之后,我怀疑 S32K328 消耗了大部分电流。在 24V 电压下,3mA 电流相当于控制器 5V 电源下的约 14.4mA 电流。我已将 8 个 GPIO 引脚拉高至待机模式。这个待机电流正常吗?为了解决这个问题,我能否将 S32K328 的 GPIO 引脚配置为待机模式下的高阻抗,以便外部上拉电阻可以在待机期间保持引脚上的高电平?
View full article
eIQ Toolkit v1.17 PTQ はサイレントにスキップされ、出力 tflite はエラー メッセージなしで完全な float32 のままです 環境: - ホスト:Windows11、eIQ Toolkit v1.17 - ターゲットSOC:NXP i.MX95 19X19ボード - モデル:剪定されたMNIST CNN、入力形状[1,1,28,28] - ONNXオペセット:12、純粋なFP32、事前挿入されたQDQノードなし。 問題の説明: eiq-converter-onnx2tfliteプラグインを使用してPTQ量子化を実行しようとしています。 CLIとGUI Model Toolの両方がエラーや警告ログなしで変換を完了します。 しかし出力のtfliteモデルは依然としてフルフロート32です。 すべての重み、バイアス、および活性化テンソルは、スケール=0、ゼロ点=0です。つまり、PTQキャリブレーションは実際には実行されなかったということです。 私が試したこと: 前提条件として、.onnxファイルを用意しています。opsetが12のPythonファイル。 次に、eIQによる量子化を行いたい。量子化後、eIQによるNeutronコンバータを行います。 これには3つの方法があると思います。 量子化後、量子化が完了しているかどうかをdtype、scale、zpで確認できます。 私はこれをGUI経由で行います。 ステップ ツール 出力フォルダ 出力   STEP1 01_train_mnist_cnn.py 01_train_mnist_cnn_out mnist_cnn.pth   ステップ2 02_prune_test.py 02_prune_test_out prune_after.pth   ステップ3 03_export_onnx.py 03_export_onnx_out handwrite_cnn_pruned.onnx   ステップ4 GUI ONNX 04_eIQ_量子化 handwrite_cnn_pruned_quantizationed.onnx   ステップ5 GUI ONNX2TFLITE 05_eIQ_quqntizedonnx2tflite eIQ_quqntizedonnx2tflite.tflite この出力について疑問があります。すべてのスケールとzpは0です。つまり、量子化はありません。理由は分かりません。 ステップ6 GUIコンバータNeutron 06_eIQ_ニュートロン eIQ_quqntizedonnx2tflite_converted.tflite   私はこれをコマンドラインで qty+2tflite を使って一度に行います。 eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --精度 int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs --quantize-input true eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx --dest D:\01_Work\AI_Project\07_CMD_OUTPUT\mnist_int8.tflite --input-shape "1,1,28,28" --精度int8_ptq --calibration-dataset D:\01_Work\AI_Project\mnist_calib_imgs --preprocessing "div:255.0" この2コマンドを試しましたが、どちらも[成功]にはなりますが、すべてのスケールとzpが0、つまりクオンタイズがありません。理由は分かりません。 lzm_0-1786693994048.png 私はこれをコマンドラインで quan+2tflite を使って 2 段階で行います。 python -m onnx2quant -c "input;D:\01_Work\AI_Project\mnist_new_demo\09_mnist_calib_npy4d" -o D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx D:\01_Work\AI_Project\mnist_new_demo\03_export_onnx_out\handwrite_cnn_pruned.onnx eiq-converter.exe --plugin eiq-converter-onnx2tflite --source D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\model_qdq.onnx --dest D:\01_Work\AI_Project\09_cmd_onnx_qunitiation\mnist_int8_final.tflite --input-shape "1,1,28,28" 試してみたら、.tflite ファイルが手に入りました。これはスケールであり、zpはすべて0ではない。 そしてこのmnist_int8_final.tfliteを使ってGUIのeiq-convert-neutronに接続しています。それから、.tfliteファイルを入手しました。スムーズにファイルできます。 しかし、iMax95で実行すると、 lzm_1-1786694055535.png NPUでは動作していなかったことがわかります。 問題は私の.tfliteファイルにあると思います。ファイル。 そこでコマンドラインを使って正しい.tfliteを取得しようとしましたファイルには、まだエラー: 内部エラーがあります。   lzm_3-1786694149754.png lzm_2-1786694119859.png 観察結果の概要:   1. eiq-converter-onnx2tflite(GUIまたはCLI)を用いてネイティブPTQ仕上げをエラーなしで取得し、完全なfloat32モデルを生成する。量子化処理は暗黙のうちに省略されているようだ。 2. サードパーティのツール「onnx2quant」を使ってまずQDQ挿入ONNXを生成すると、0でないスケールとゼロポイントのTFLiteが得られます。 しかし、この外部量子化モデルは中性子変換器で完全に処理できず、グラフ最適化中に「ERROR: Internal Error!」を発生し、動作するNPU互換モデルを生成できません。   私はまだこのツールチェーンを習得中です。パラメータの使い方が間違っていたり、手順が間違っていたりするのかもしれません。   i.MX95で量子化されたMNISTのようなCNNを成功裏に実行したことがある方で、検証済みのワークフローを共有していただけませんか? PTQを正しく実行し、NPU上でコンパイル・実行可能な有効なTFLiteモデルを作成する方法について、何かヒントがあれば本当にありがたいです。   ご返信よろしくお願いします。 EIQツールキット    
View full article
リファレンス ドキュメントの請求:S32DSにおけるCody ChatとのAIツール統合 親愛なるNXPコミュニティチームの皆様、 現在はS32 Design Studioを使っていて、IDEにあるCody Chat機能を使っています。 OpenAI、ChatGPT、Anthropic Claude のような外部AIモデルを S32 Design StudioのCody Chatセクションに 統合することが可能かどうか知りたい です。 私の要件は、S32DS内でAIアシスタントを直接使用して、次のような作業を行うことです。 C/C++コードの生成と解説 組み込みC言語開発 コンパイラとリンカーのエラーのデバッグ CAN、SPI、I2C、UART、ADCの開発 S32K3/S32K344の開発 現在のS32DSプロジェクトの状況を理解し、それに基づいて作業を行う 公式のSourcegraph Codyドキュメントでは、OpenAIとAnthropicの両方のモデルをサポートし、モデル設定やBring Your Own Key(BYOK)オプションが含まれていることがわかりました。 もう少し詳しく教えていただけますか: S32 Design Studioで使われているCody統合は、ChatGPT/OpenAIやClaudeなどの外部AIプロバイダーと接続可能でしょうか? Cody Chatのセクションで、これらのAIプロバイダ向けに独自のAPIキーを設定CANできますか? 公式のNXPドキュメント、S32DSのドキュメント、Codyのドキュメント、またはS32DSで外部AIモデルをCodyで構成・統合する方法を説明する例プロジェクトはありますか? もしこの機能が現在のS32DSバージョンで直接サポートされていない場合、Cody/Eclipseプラグインを外部のAIプロバイダーに拡張する公式な方法はありますか? S32DS版Codyの実装には、標準のSourcegraph版Codyの実装と比較して、何か制限事項はありますか? 参考までに、サポートされているLLMとモデル構成に関する以下のSourcegraphドキュメントを見つけました: 支援対象のLLM(法学修士)課程 コーディモデル構成 コーディモデルの構成例 これをS32DSで実装するための適切なNXP参照ドキュメントや推奨手順を教えていただけますか? 再開まで今しばらくお待ちください。 よろしくお願いします、 アラヴィンド・トガラリ
View full article
S32DS 3.6.2 I have a question about S32DS 3.6.2.I'm having an IDE configuration issue. I'm using a demo program generated by RTD 6.0.0, and I'm encountering the problem shown in the image below when configuring CT. What could be causing IVT and other tools to be disabled? I'm a bit confused. 屏幕截图 2026-08-14 155022.png Re: S32DS 3.6.2 Hello @sunshine88 , IVT/DCD support in Configuration Tools depends on the selected device and on the scope implemented in the installed tool package. The fact that the IVT editor is disabled does not mean that the RTD example project is invalid.   For the selected S32K358 configuration, the graphical IVT/DCD editors are not available in Configuration Tools. These tools are related to BootROM/boot-image configuration and are not required for the standard projects.   Therefore, if Update Code and the project build complete successfully, the project can still be used normally for the supported configuration areas such as Pins, Clocks and Peripherals. Best regards, Pavel
View full article
Request for Reference Documentation: Integrating Ai tools with Cody Chat in S32DS Dear NXP Community Team, I am currently working with S32 Design Studio and using the Cody Chat feature available in the IDE. I would like to know whether it is possible to integrate external AI models such as OpenAI ChatGPT and Anthropic Claude into the Cody Chat section of S32 Design Studio. My requirement is to use an AI assistant directly inside S32DS for activities such as: C/C++ code generation and explanation Embedded C development Debugging compiler and linker errors CAN, SPI, I2C, UART and ADC development S32K3/S32K344 development Understanding and working with the current S32DS project context I found that the official Sourcegraph Cody documentation describes support for both OpenAI and Anthropic models, including model configuration and Bring Your Own Key (BYOK) options. Could you please clarify: Is the Cody integration used in S32 Design Studio capable of connecting to external AI providers such as ChatGPT/OpenAI and Claude? Can we configure our own API key for these AI providers in the Cody Chat section? Is there any official NXP documentation, S32DS documentation, Cody documentation, or example project explaining how to configure or integrate external AI models with Cody in S32DS? If this functionality is not directly supported in the current S32DS version, is there an official method to extend the Cody/Eclipse plugin to support external AI providers? Are there any restrictions in the S32DS implementation of Cody compared with the standard Sourcegraph Cody implementation? For reference, I found the following Sourcegraph documentation regarding supported LLMs and model configuration: Supported LLMs Cody Model Configuration Cody Model Configuration Examples Could you please provide the appropriate NXP reference documentation or recommended procedure for implementing this in S32DS? Thank you for your support. Best regards, Aravind Togaralli
View full article
スタンバイモードでは、S32K328のピンは高レベルを出力できません 操作マニュアルに記載されている設定手順に従って、S32K328のいくつかのGPIOピンをスタンバイモードでハイレベルに維持するように設定しましたが、失敗しました。以下は私の設定手順です。私はマニュアルに記載されている4番目の手順を実行しませんでした。これは影響がありますか?以前にもS32K312で同様の設定を行ったことがありますが、エラーは発生しませんでした。私の理解では、リセット後にピン保持機能を無効にしなかった場合、ウェイクアップ後にGPIOピンを低レベル出力するように設定しても、出力ピンレベルはスタンバイモードに入る前に設定された高レベルを維持するはずです。現在、実際の測定では、スタンバイモードと実行モードの両方で設定されている複数のGPIOピンは、低いレベルに留まっています。 6ABE3FCC-00F4-4165-B025-E31BB4B1BEBC.png de7ee9ab18af4cbe9fe5a0f4dbd21427.png Re: In standby mode, the pins of the S32K328 cannot output a high level こんにちは、@hhggll23 さん。 私はマニュアルに記載されている4番目の手順を実行しませんでした。これは影響がありますか? はい、そうです。スタンバイモードに入る前にパッドキーピングを有効にした場合(DCM_GPR->DCMRWF1[STANDBY_IO_CONFIG] = 0と書いてください。これはSIUL2のPKEが設定されていなくてもデフォルトのレジスタ値ですが、ウェイクアップ後に無効化していなければ、SIUL2モジュールは再度初期化できません。MCUがスタンバイモードに入ってウェイクアップする必要がある間にパッドキーピング機能が必要ないなら、このビットに1をどこかに書き込んでそのままにしておく必要があります。 これはPower_Ip_Init() APIを通じて行われます。 Julin_AragnM_3-1786127814879.png これで、I/Oピンは、パッド保持設定に関係なく、スタンバイモード中も実行モードで最後に設定された状態を保持します。 S32K3は起動後に必ずリセットシーケンスを行い、SIUL2モジュールは機能リセット時にGPIOパッドをデフォルト状態にリセットするため、パッドキーピングによりピンの状態はウェイクアップからユーザーが解除されるまで保持されます。 Julin_AragnM_0-1786126733106.png Julin_AragnM_4-1786128871517.png 画像に示されているすべてのピンをスタンバイ時にHIGHに設定しようとしていますか?スタンバイモードに入ると、すべてLOW状態になるのでしょうか?それとも、終了時でしょうか? よろしくお願いします、 ジュリアン Re: In standby mode, the pins of the S32K328 cannot output a high level ご返信いただき、誠にありがとうございます。プログラムを再確認したところ、スタンバイ前にピンをハイレベルにした後、意図しないルーチンが実行され、すべてのGPIOピンが再初期化されてしまい、スタンバイ中にピンがローレベルのままになってしまうことがわかりました。変更後、スタンバイモードにおいてGPIOピンのレベルが正常にハイレベルに引き上げられるようになりました。新たな問題が発生しました。スタンバイモードでGPIOピンをハイレベルにプルアップした後、スタンバイ電流が増加したようです。現在、スタンバイ条件下では、コントローラーの静止電流は約3 mAで、24V電源で供給されています。他の回路のトラブルシューティングを行った結果、S32K328がこの電流の大部分を消費しているのではないかと推測しています。24 Vの場合、3 mAはコントローラの5V電源に換算すると約14.4 mAに相当します。スタンバイモードで8つのGPIOピンをハイレベルにしました。この待機電流は正常ですか?この問題に対処するために、S32K328のGPIOピンをスタンバイモードで高インピーダンスに設定し、外部プルアップ抵抗がスタンバイ中にピンの高レベルを維持できるようにしますか?
View full article
Zephyr SDKをVS Codeにインポートする際にエラーが発生しました。 こんにちは、NXPさん。 画像に示すように、Zephyr SDKのインポートが繰り返し失敗します。原因は何でしょうか?また、どのようにトラブルシューティングすればよいでしょうか? 魔法を解くテストもしてみましたが、結果は同じでした。 hayden178_1-1786677974386.png hayden178_0-1786677660968.png MCXA Re: VS Code 导入Zephyr SDK出现error こんにちは、 @hadden178さん MCUXpresso上でVS Codeを使ってテストしてみました。 正常にインポートできたので、GitHubリポジトリには問題がないようです。 ログに基づいて remote: Enumerating objects: 3105, done. remote: Counting objects: 100% (1405/1405) remote: Compressing objects: 100% (433/433) error: RPC failed; curl 56 Recv failure: Connection was reset おそらくネットワーク接続の問題だと思います。 リポジトリを手動で更新するには、`nxp\frdm_mcxa156`フォルダで`west update`コマンドを実行してみてください。 Harry_Zhang_0-1786693966782.png BR ハリー
View full article
VS Code 导入Zephyr SDK出现error Hi NXP, 如图导入Zephyr SDK时,一直失败,请问是什么原因,如何排除? 另外测试过打开魔法,也是一样的结果。 hayden178_1-1786677974386.png hayden178_0-1786677660968.png MCXA Re: VS Code 导入Zephyr SDK出现error Hi @hayden178  我刚刚在我的MCUXpresso for vscode测试了一下。 我这边可以成功导入。说明git hub仓库是没有问题的。 根据您的log remote: Enumerating objects: 3105, done. remote: Counting objects: 100% (1405/1405) remote: Compressing objects: 100% (433/433) error: RPC failed; curl 56 Recv failure: Connection was reset 我认为大概率是网络连接问题。 您可以尝试在您的nxp\frdm_mcxa156文件夹下运行west update手动更新仓库。 Harry_Zhang_0-1786693966782.png BR Harry
View full article
i.MX8M Plus HiFi4 DSP(Zephyr):SDMAのサイクリックTXコールバックが一度だけ発生し、その後停止します Zephyrを動かすi.MX8MP HiFi4 DSPでは、Zephyr nxp、dai-sai(SAI3)、nxp、sdma(SDMA3)ドライバーをサイクリックモードでハードウェアエンドポイント再生パスを起動しています。再生開始時には、SDMAチャネル完了コールバックが正確に一度だけ発生し、その後はSDMA割り込みが発生しません。周期的なSDMA転送が定期的な割り込みを生成し続けない理由を特定するのにご協力をお願いします。   ハードウェア/起動 - ボード:i.MX8MP EVK、DTS: IMX8MP-EVK-DSP.DTS  - DSPコア:HiFi4(Cadence Xtensa)、ボードターゲットはimx8mp_evk/mimx8ml8/adsp - コーデック:WM8960 - ペリフェラル:SAI3、SDMA3 建築および建設の詳細: - アーキテクチャ概要: https://audioreach.github.io/platform/nxp.html#architecture-overview - ビルドの詳細: - ヨクト: https://audioreach.github.io/platform/nxp.html#step-1-create-a-yocto-image      - Linux(コントロール/ホスト):Yocto(scarthgap)、linux-imx。      - 回収マニフェスト:imx-6.6.52-2.2.0.xml - ゼファーDSP画像: https://audioreach.github.io/platform/nxp.html#step-2-create-a-zephyr-image - Zephyr(v4.2.0)、HiFi4上で動作する AudioReach Engine信号処理フレームワーク。   私が作っているもの DSPイメージ内のカスタムハードウェアエンドポイント(シンク)モジュールで、以下のようなものを用いています。 1.Zephyr DAI APIを通じてSAI3を設定できます。 2.DRAMリングからSAI TX FIFOへの周期的なSDMA転送(2つのバッファ記述子、MEMORY_TO_PERIPHERAL)を設定します。 3.SDMAの完了コールバックを使って信号プロセッシングフレームワークにリングの再充填を指示します。   オーディオ format   - 48 kHz, 16-bit, mono stream; SAI wire = 16-bit × 2 slots (stereo I2S frame for WM8960), BCLK = 1.536 MHz。 - DMA周期 = 192バイト (48フレーム × 2バイト × 2スロット)、2ディスクリプタ、384バイトリング   関連するKconfig(DSPイメージ)有効化 CONFIG_DAI=y CONFIG_DMA=y CONFIG_DAI_NXP_SAI=y CONFIG_DMA_NXP_SDMA=y CONFIG_SAI_HAS_MCLK_CONFIG_OPTION=y CONFIG_CLOCK_CONTROL_FIXED_RATE_CLOCK=y   デバイスツリーオーバーレイ(DSPアプリ): リンク:app/boards/imx8mp_evk_mimx8ml8_adsp.overlay  mclk1: mclk { ステータス = "正常"; }; &sdma3 { ステータス = "正常"; }; &sai3 { rx-fifo-watermark = <65>; tx-fifo-watermark = <65>; fifo-depth = <128>; rx-sync-mode = <1>; ステータス = "正常"; }; &micfil { ステータス = "正常"; };   使用されたDAI / DMA設定(DSP) - dai_config:type=DAI_IMX_SAI、 dai_index=3、format=DAI_PROTO_I2S(SAIスレーブ)、レート=48000、チャネル=2、word_size=16。  - SAI 特注: mclk_rate=12288000、fsync_rate=48000、bclk_rate=1536000、tdm_slots=2、tx_slots=rx_slots=0x3、tdm_slot_width=16。 - DMA (struct dma_config): channel_direction=MEMORY_TO_PERIPHERAL、source_data_size=4、dest_data_size=4、source_burst_length=4、cyclic=1、block_count=2、dma_slot は SAI ハンドシェイクから取得、dma_callback が設定されています。2 つの dma_block_config BD が dma_src_addr[0/192] を指しています ソースコード参照: endpoint/capi/src/capi_nxp_device_utils.c 申請処理担当者: - DTS: imx8mp-evk-dsp.dts https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm64/boot/dts/freescale/imx8mp-evk-dsp.dts - ダミーDAIおよびダミープラットフォームを備えたwm8960コーデックのPCMデバイスを列挙。 添付資料: - DSPログ(SDMA、SAI) - 修正されたimx8mp-evk-dsp.dts その他の詳細情報も喜んでご提供いたします。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano マルチメディア Re: i.MX8M Plus HiFi4 DSP (Zephyr): SDMA cyclic TX callback fires once then stops NXPのサポートがこの件を確認するまでは、ひとつ指摘しておきたいことがあります: > 再生開始時に、SDMAチャネル完了コールバックはちょうど一度だけ発生します この割り込みはSDMAスクリプトがチャネル0(ファイアワースロードに使われる)を実行し終えた後に発生し、実際の転送は行われていません。まずはSAIの設定とクロックを確認することから始めます。SDMAリクエストがないようです。
View full article
i.MX8M Plus HiFi4 DSP (Zephyr): SDMA cyclic TX callback fires once then stops On the i.MX8MP HiFi4 DSP running Zephyr, I'm bringing up a hardware-endpoint playback path using the Zephyr nxp,dai-sai (SAI3) and nxp,sdma (SDMA3) drivers in cyclic mode. On start playback, the SDMA channel completion callback fires exactly once, then no further SDMA interrupts occur. I'd like help identifying why the cyclic SDMA transfer does not keep generating periodic interrupts.   Hardware / boot   - Board: i.MX8MP EVK, DTS: imx8mp-evk-dsp.dts   - DSP core: HiFi4 (Cadence Xtensa), board target imx8mp_evk/mimx8ml8/adsp   - Codec: WM8960   - Peripherals: SAI3, SDMA3   Architecture and Build details:   - Architecture Overview: https://audioreach.github.io/platform/nxp.html#architecture-overview    - Build Details:     - Yocto: https://audioreach.github.io/platform/nxp.html#step-1-create-a-yocto-image       - Linux (control/host): Yocto (scarthgap), linux-imx.       - Repo manifest: imx-6.6.52-2.2.0.xml     - Zephyr DSP Image: https://audioreach.github.io/platform/nxp.html#step-2-create-a-zephyr-image       - Zephyr (v4.2.0), AudioReach Engine signal processing framework running on the HiFi4.   What I'm building   A custom hardware-endpoint (sink) module in the DSP image that:   1. Configures SAI3 via the Zephyr DAI API.   2. Sets up a cyclic SDMA transfer (2 buffer descriptors, MEMORY_TO_PERIPHERAL) from a DRAM ring into the SAI TX FIFO.   3. Uses the SDMA completion callback to signal the Signal Processing Framework to refill the ring.   Audio format   - 48 kHz, 16-bit, mono stream; SAI wire = 16-bit × 2 slots (stereo I2S frame for WM8960), BCLK = 1.536 MHz.   - DMA period = 192 bytes (48 frames × 2 bytes × 2 slots), 2 descriptors, 384-byte ring   Relevant Kconfig (DSP image) enabled   CONFIG_DAI=y   CONFIG_DMA=y   CONFIG_DAI_NXP_SAI=y   CONFIG_DMA_NXP_SDMA=y   CONFIG_SAI_HAS_MCLK_CONFIG_OPTION=y   CONFIG_CLOCK_CONTROL_FIXED_RATE_CLOCK=y   Device tree overlay (DSP app):   Link: app/boards/imx8mp_evk_mimx8ml8_adsp.overlay   mclk1: mclk {     status = "okay";   };   &sdma3 {     status = "okay";   };   &sai3 {     rx-fifo-watermark = <65>;     tx-fifo-watermark = <65>;     fifo-depth = <128>;     rx-sync-mode = <1>;     status = "okay";   };   &micfil {     status = "okay";   };   DAI / DMA config used (DSP)   - dai_config: type=DAI_IMX_SAI, dai_index=3, format= DAI_PROTO_I2S (SAI slave), rate=48000, channels=2, word_size=16.   - SAI bespoke: mclk_rate=12288000, fsync_rate=48000, bclk_rate=1536000, tdm_slots=2, tx_slots=rx_slots=0x3, tdm_slot_width=16.   - DMA (struct dma_config): channel_direction=MEMORY_TO_PERIPHERAL, source_data_size=4, dest_data_size=4, source_burst_length=4, cyclic=1, block_count=2, dma_slot from SAI handshake, dma_callback set. Two dma_block_config BDs point at dma_src_addr[0/192] Source code reference: endpoint/capi/src/capi_nxp_device_utils.c Application Processror:   - DTS: imx8mp-evk-dsp.dts https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/arch/arm64/boot/dts/freescale/imx8mp-evk-dsp.dts   - Enumerate PCM device with wm8960 codec with dummy dai and dummy platform. Attachments: - DSP logs (sdma, sai) - Modified imx8mp-evk-dsp.dts  Happy to provide any other details. i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Multimedia Re: i.MX8M Plus HiFi4 DSP (Zephyr): SDMA cyclic TX callback fires once then stops Until NXP support gets a chance to look at this I just want to point out that: > On start playback, the SDMA channel completion callback fires exactly once This interrupt comes after SDMA scripts finish running channel 0 (used for loading the FW) so there is no actual transfer happening. I woul start checking SAI configuration and clocks. Looks like there is no SDMA request.
View full article
过压和欠压情况下的电压注入测试及相关行为 大家好, SBC FS4503在我们的一个项目中被使用,并按如下方式配置以适应 OV / UV 条件。 VCCA、VCORE 和 VAUX 配置为仅在 OV 条件下对 FS0B产生影响,在 UV 条件下对 RSTB 和 FS0B 均产生影响。 电压注入测试是通过使用第二个电源向 VCORE、VAUX 和 VCCA 引脚注入电压来进行的,同时第一个电源向 SBC 提供 12V 输入。 测试结果如下: 1. VAUX OV - 断言 FS0B, 2. VAUX UV 触发信号RESET 3. VCORE OV- 断言 FS0B,但 VCORE 被切断,如数据表中所述。 4. VCORE UV 触发器 RESET 5. VCCA OV - 断言 FS0B,但 VCORE 短暂下拉,因此 RESET 6. VCCA UV 触发器 RESET。 VPRE-OV-数据手册提到稳压器已关闭,但我们观察到 RESET。 以下是查询内容: 1. 台式测试程序有效吗?其中,在OV条件下,在相应的引脚上注入约5.5V电压,在紫外线条件下,在相应的引脚上注入约3.5V的电压。 2. VCCA OV病症的观察是否可接受? 3. 当VPRE发生OV状态时,数据手册提到稳压器被关闭,这是否也会切断VCORE电源? 谢谢! 阿迪亚 Re: Voltage injection tests for OV and UV scenarios and associated behavior 1. 台架测试程序是否有效?其中,对于 OV 条件,在相应的引脚上注入约 5.5V 电压;对于 UV 条件,在引脚上注入约 3.5V 电压。 [gw]OV 应使用高于 5.5V 的电压,UV 测试应低于 3V。 同时还需要满足过滤时间和反应时间的要求。 2. VCCA OV 条件下的观察结果是否可以接受? [gw]第二个电源(OV电压)是否会通过VCCA引脚反向供电,从而导致VPRE/VCORE回路出现干扰? 在本次VCCA OV测试中,您是否监测了VPRE? 3. 当 VPRE 出现过压情况时,数据手册提到稳压器会关闭,这是否也会切断 VCORE 电源? [gw]是的,VCORE 由 VPRE 提供。 Re: Voltage injection tests for OV and UV scenarios and associated behavior 你好@guoweisun , 谢谢你的回复。这很有帮助。 以下是我的问题: [gw]第二个电源(OV电压)是否会通过VCCA引脚反向供电,从而导致VPRE/VCORE回路出现干扰? 在本次VCCA OV测试中,您是否监测了VPRE? [ab]:未对 VPRE 进行监测。我将通过新的测试来监测它。请问您能否帮我理解一下通过VCCA引脚反向供电是什么意思? [gw]OV 应使用高于 5.5V 的电压,UV 测试应低于 3V。 “还需要满足过滤时间和反应时间的要求。” [ab]:由于我是手动执行此操作,因此对于OV情况,过滤时间100-200微秒和反应时间314微秒均满足要求。 以下是一些其他问题: 1. 如何检测OV/UV?SBC使用的采样率是多少? 2. 过滤时间和反应时间有何意义? 2. 在检测到任何引脚上的过压/过压故障之前,允许有多少个不合格样品? 谢谢! 阿迪亚 Re: Voltage injection tests for OV and UV scenarios and associated behavior 你好, Aditya 问:VPRE 没有被监测。我将通过新的测试来监测它。请问您能否帮我理解一下通过VCCA引脚反向供电是什么意思? [gw]如果 VCCA 正常工作且内部 FET 导通,则下游侧的高电压会反向馈入 VPRE 引脚。  以下是一些其他问题: 如何检测OV/UV?SBC使用的采样率是多少? [gw]没有这种规格,而是使用滤波时间。 过滤时间和反应时间的意义是什么?[gw]您可以在数据表表6中看到这些规格。 在检测到任何引脚上的过压/过压故障之前,允许出现多少个不合格样品?[gw]一旦检测到紫外线/紫外线病害,就应将其视为警告信号。
View full article