我目前正在使用 S32K3X8EVB-Q289 评估板,并基于 S32K358 MCU 开发了定制硬件设计。
请问您能否澄清一下:
感谢您的支持。
问候,
亚什·古普塔
你好@Yash2530 ,
1. 是的,支持使用 S32K3X8EVB-Q289 板载调试器对外部 S32K358 目标进行编程/调试。实际上,EVB 板载 OpenSDA 调试器使用的是 P&E Micro 开发的引导加载程序/调试应用程序 - https://community.nxp.com/t5/S32-Design-Studio/Which-debugging-interface-is-better/mp/1715877
2. 对于此使用情况,EVB 上不需要焊接返工或跳线设置。
3. J55 USB 主机连接器。
4. 实际上,对于外部 S32K358 目标的标准烧录和源代码级调试,EVB 的板载调试器应该足够了。由于我不知道您最看重哪些功能,请您自行比较各项功能:
https://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320180&productTab=5045
5. 是的, https://www.nxp.com/webapp/Download? colCode=S32K3X8EVB-Q289HWUM
顺祝商祺!
帕维尔
@PavelL ,
尝试对外部控制器进行编程时出现此错误。
CMD>VC
正在验证目标文件 CRC-16 校验值是否与设备范围匹配……
区块 00400000-0042F4B7 ...
计算出的 CRC-16 值与数据块不匹配。(文件 = $A9EE,设备 = $EDEF)
验证设备闪存时出错
Flash编程过程中发生错误。
信息:DAP IDCODE = 0x6BA02477
信息:DAP 已成功启动。DP CTRL/STAT = 0xF0000000
启动 RESET 脚本 (C:\NXP\S32DS.3.6.7\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.1.8.202603121731\supportFiles_ARM\NXP\S32K3xx\S32K358.mac)...
REM 启用 MC_ME 模块中选定内核的时钟
延迟200毫秒……
完毕。
REM 初始化 RAM 和 DMA:
REM 初始化 DMA TCD:
REM 将有效的可执行代码复制到每个要使用的核心的 RAM 中。
REM 启用 MC_ME 中所需的内核:
延迟20毫秒……
完毕。
延迟20毫秒……
完毕。
重置脚本 (C:\NXP\S32DS.3.6.7\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_6.1.8.202603121731\supportFiles_ARM\NXP\S32K3xx\S32K358.mac)完全的。
PEmicro GDB 启动失败:闪存编程期间出错。调试会话结束。
PE错误:下载到设备时出错。调试会话结束。
通过 127.0.0.1 与“127.0.0.1”断开连接。通过端口“53100”与6224断开连接
PE-ERROR:错误:尝试发送响应,但连接已关闭。
通过 127.0.0.1 与“127.0.0.1”断开连接。通过端口“53104”与7224断开连接
信息:DAP IDCODE = 0x6BA02477
目标设备已断开连接。
Yash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpegYash2530_0-1789183717483.jpeg
请帮我解决这些问题。
问候,
亚什·古普塔
你好@Yash2530 ,
我使用 S32K3X8EVB-Q289 和通过 J55 连接的板载 PEmicro 调试器进行了参考测试。
在我的测试中,第一次 CRC 验证也报告了不匹配,因为现有的 flash 内容与正在下载的应用程序不同。然而,编程顺序随后继续进行,包括闪存擦除和编程。因此,初始 CRC 不匹配不一定是根本原因,也不能单独确认安全调试已启用。
重要的区别在于,在你提供的日志中,调试会话在第一个 VC 命令之后立即终止。我没有看到后续用于擦除和编程闪存的 EM 和 PM 命令。
请检查 PEmicro 调试启动配置,特别是是否启用了可执行文件下载和闪存编程。请同时提供从会话开始到结束的完整 PEmicro 日志。日志开头应显示 CM 命令和选定的 .arp 文件。闪存算法。
作为参考,我成功的测试使用了以下针对 HSE 禁用设备的算法:
PavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.pngPavelL_0-1789370094591.png
顺便说一下,下次请另开新帖——我们只会在最后一条回复发布7天后才开始追踪社区帖子。我只接收更新订阅邮件,偶尔会错过一些。
顺祝商祺!
帕维尔
你好@PavelL ,
我已经对设备进行了编程,问题出在 JTAG 的 RESET 引脚与板载 MCU 和目标板 MCU 的冲突上。所以我将复位引脚与 JTAG RESET 引脚隔离,编程就可以正常工作了。现在唯一的问题是我需要手动重置MCU。
您是否也使用了自定义目标以及 EVK 板 jtag(J50 和 J55(usb))连接器?
此致,
亚什·古普塔
你好@Yash2530 ,
是的,我使用过外部 PEmicro 调试器和 Lauterbach TRACE32。
根据我的笔记,EVB 上的所有跳线都保持在默认位置,只有 J685 和 J23 被设置为位置 2-3。
供您参考,跳线配置如下:
在这种配置下,我的设备中编程、调试和自动RESET功能都能正常工作。请将这些跳线设置与您当前的EVB配置进行比较。
顺祝商祺!
帕维尔
你好@Yash2530 ,
“提供 i2c 和 spi 示例代码”是一个新话题。为了保持讨论主题的清晰性,请创建一个新的专门讨论主题。
感谢您的理解。
顺祝商祺!
帕维尔
@PavelL ,
感谢您的回复,这真的很有帮助。您能否也分享一下 I2C 和 SPI 的示例代码?因为 RTD 的示例代码包含环回示例。我尝试通过保持外设的主控状态,使用 SPI 和 I2C 初始化外设,但是我在 SPI 和 I2C 上都没有收到时钟信号,MOSI 和 MISO 也没有响应。如果你能分享一个,那就太好了。
谢谢!
亚什·古普塔