最近移植论坛大神 @
Badu_Space 的usb转串口用在自己大项目上,我只是原来工程的基础上把LCD显示部分删除,编辑后通过串口调试软件监控到usb串口通信成功了。调试期间MDK下用仿真和flashdownload都没问题,但后来不知道为什么boot0接GND的情况下只能下载一次程序,如果同一芯片不更改boot0再次下载就显示“* JLink Info: Found SWD-DP with ID 0x1BA01477 **JLink Warning: CPU core not found.***JLink Error: Wrong AHB ID (15:3). Expected 0x04770001 (Mask 0x0FFFFFCF), Found 0xF0000001”
只有把boot0 上拉到VCC下载玩程序在下拉到GND运行,boot0 接地时仿真下载都无法运行了。这个是什么原因呢?因为不是在开发板上运行,boot0很难改设置,要飞线。
你检查这两个IO,有没有被其他外设使用,就知道了.
---------------------------------
我自己没有使用或者定义PA13 14
我发现原工程注销LCD_Init() 就会导致只能下载一次程序,但LCD_Init()里面 LCD_RST_BL_Init()只涉及到GPIOB,另外一个是STM32_FSMC_Init(); 好像也没涉及到GPIOA,我注销掉LCD_Init() ,自己写初始化函数:
SystemInit();
RCC_GetClocksFreq(&RCC_ClockFreq);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB , ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
设置GPIO还是只能下载一次程序。
---------------------------------
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
你这句话就把JTAG和SWD都枪毙了.
---------------------------------
这个不是 JTAG-DP 禁用 + SW-DP 使能吗?我一直这么设置都没事?全毙的是GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);?
---------------------------------
不是吧,你试试去掉这句吧。
一周热门 更多>