新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2013-12-21
- 在线时间
- 3 小时
|
如题,我用的是STM32F405RGT6,之前的产品是SWD模式仿真,一切都很正常,这次新的产品的的硬件接口使用的是JTAG模式,但是没法仿真,感觉是没找到芯片,有如下现象:
1.开始仿真程序时,出现j-flash arm v4.66对话框,显示unexpected core ID
2.将JTAG的硬件引脚的SWDIO,SWDCLK,VCC,GND,RESET,直接接在JTAG上面,在MDK中使用SWD模式,仿真调试都正常。
3.在options for target "stm32f405"->debug->settings->jtag device chain一栏中没有发现芯片显示
4.怀疑是不是jitag的复用功能配置有误,之前使用SWD模式调试正常时的代码如下:
GPIOA->AFR[1] = (GPIO_AF_USART1 << 4) | (GPIO_AF_USART1 << 8) | (GPIO_AF_SWJ << 20) | (GPIO_AF_SWJ << 24) | (GPIO_AF_SWJ << 28);
// USART JTMS JTCK JTDI
GPIOB->AFR[0] = (GPIO_AF_SWJ << 12) | (GPIO_AF_SWJ << 16);
//PB3: JTDO, PB4:JTRST
但是这次仿真程序是下载到新的芯片中的,应该没有以前程序的影响吧,这个原因感觉有点不通
5.因为STM32F405RGT6和STM32F103RCT6的引脚是兼容的,所以替换单片机为STM32F103,使用JTAG模式进行调试仿真也很正常。
这个问题已经纠结好几天了,没有解决,麻烦正点原子大哥帮我分析一下,谢谢
|
|