超级终端配置正确,能进入IAP选择菜单,按1,在点传送文件,选择YModem协议发送,传送2个数据包后退出,显示Verification failed校验错误,芯片是F103RBT6,还有就是出错后如果不断开连接直接复位重新进入IAP则电脑蓝屏并重启,用的是笔记本,串口为USB转串口线。请问可能是哪方面的原因?看了一下Flash烧写不应该有问题呀!
问题找到了
我把PLATFORM_CONFIG.H的 USE_STM3210E_EVAL改成了 USE_STM3210B_EVAL,但是在options for Target中C/C++页面,Preprocessor Symbols 中还要改,没看到这里还有,所以flash 页面结构不一样。
还有点问题
为什么IAP跳转到App中会死在下面这个函数里?香主有空帮我看看吗?
void Delay(u32 nCount)
{
TimingDelay = nCount;
/* Enable the SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Enable);
while(TimingDelay != 0)
{
}
/* Disable the SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Disable);
/* Clear the SysTick Counter */
SysTick_CounterCmd(SysTick_Counter_Clear);
}
你看一下你的systick的中断函数
while(TimingDelay != 0)
{
}
什么时候这个能跳出去
原来是中断向量表的问题
在stm32f10x_nvic.h中,找到#define NVIC_VectTab_FLASH ((u32)0x08000000) 这一行,改为#define NVIC_VectTab_FLASH ((u32)0x08002000) IAP下载和APP应用程序运行正常,IAP终于成功了,没成功的兄弟看看是不是和我一样的问题。