芯片是cortex-R5架构,9.30版本的IAR,debugger选cmsis-dap,刚买了个dap,卖家说软件版本很新且支持R5。连接上去报错,如图:

此外还用了一个比较老的dap,报错也是一模一样,无法读取IDCODE。有会dap调试的吗,帮忙解答一下谢谢!
(板子之前一直用J-link调试,然后IAR官方说多核SMP只支持dap和i-jet)
芯片是cortex-R5架构,9.30版本的IAR,debugger选cmsis-dap,刚买了个dap,卖家说软件版本很新且支持R5。连接上去报错,如图:

此外还用了一个比较老的dap,报错也是一模一样,无法读取IDCODE。有会dap调试的吗,帮忙解答一下谢谢!
(板子之前一直用J-link调试,然后IAR官方说多核SMP只支持dap和i-jet)
下午好🌅🌅🌅
本答案参考通义千问
你遇到的问题是关于 IAR 9.30 版本 使用 CMSIS-DAP 调试器 调试 Cortex-R5 架构的芯片 时,出现 无法读取 IDCODE 的错误。以下是详细分析和解决方案:
CMSIS-DAP 调试器不兼容 Cortex-R5 架构
IAR 官方指出,多核 SMP(对称多处理) 模式仅支持 DAP 和 I-Jet 调试器,而 CMSIS-DAP 不支持 R5 架构。
调试器固件或驱动不兼容
即使卖家声称“软件版本很新且支持 R5”,也可能存在 固件版本过低 或 驱动配置错误。
目标板硬件配置问题
比如 JTAG 接口引脚连接错误、电源不稳定、复位电路异常 等。
IAR 配置错误
例如在 IAR 中选择了错误的 Debugger Type(应为 CMSIS-DAP 或 DAP),或者未正确设置 Core ID、Debug Interface 等。
⚠️ 重点提示:CMSIS-DAP 不适用于 Cortex-R5 的多核 SMP 模式。
更新 DAP 固件:
安装最新驱动:
检查 JTAG 引脚是否正确连接:
检查电源和地线:
打开项目设置 > Debugger > Settings:
CMSIS-DAP 或 DAP。R5-0、R5-1 等)。JTAG 或 SWD)。示例配置(IAR 9.30):
Debugger: CMSIS-DAP
Debug Interface: JTAG
Core ID: R5-0
如果你的代码中涉及调试接口初始化,可以参考如下伪代码:
// 初始化 JTAG/SWD 接口
void Init_Debug_Interface(void) {
// 配置 JTAG 引脚
// 例如:GPIO_InitTypeDef GPIO_InitStruct;
// GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | ...;
// HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
// 启用调试器
void Enable_Debugger(void) {
// 启用 CMSIS-DAP 或 DAP 调试功能
// 可能需要调用特定库函数或寄存器配置
}
| 问题点 | 解决方案 | |--------|----------| | CMSIS-DAP 不支持 Cortex-R5 SMP | 更换为 I-Jet 或 DAP 调试器 | | 调试器固件不兼容 | 更新 DAP 固件并安装最新驱动 | | JTAG 接口连接错误 | 检查 JTAG 引脚和电源 | | IAR 配置错误 | 修改 Debugger 类型和 Core ID |
如果你的芯片是 Cortex-R5 多核架构,强烈建议使用以下方案:
如有更多具体错误信息或截图,欢迎补充,我可以进一步帮助你定位问题!