原子哥求助啊——关于 IAP 转跳错误的问题

2019-07-20 11:47发布

我使用 STM32_USB-Host-Device_Lib_V2.1.0 的官方历程,裁剪了一个usb的虚拟串口,没有问题良好运行。
然后 在此基础上写了个bootloader,数据传输无误。就是最后 每次运行到 jump2app();  就死掉。。
为了验证我的FLASH 写错没有,我直接用JLINK 在0x8010000的地方烧了个历程,然后不初始化USB_VCP ,就直接转跳APP 没有问题 直接运行。。。。
然后发现是 虚拟串口 初始化 与  if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000) {  jump2app=(iapfun)*(vu32*)(appxaddr+4);  MSR_MSP(*(vu32*)appxaddr);      jump2app();     } 冲突。
最后 发现 把USB_OTG_WRITE_REG32 (&pdev->regs.GREGS->GCCFG, gccfg.d32); 这句话 注销掉,就可以 转跳APP并运行APP。但是 虚拟串口不可识别。
原子哥 怎么办啊?怎么解决这个问题啊?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。