Ldy

STM32 USB升级

首先移植USB官方库,移植方法详见另一篇文章USB OTG官方库移植

建议移植DFU模式,或者MSC模式。DFU模式作为PC端连接数据线下载到目标板,MSC模式可用U盘连接升级。

按键 屏幕显示驱动什么的不提了。主要提一下要修改的地方。

     /* Jump to user application */
     JumpAddress = *(__IO uint32_t*) (APP_DEFAULT_ADD + 4);
     Jump_To_Application = (pFunction) JumpAddress;
     /* Initialize user application's Stack Pointer */
     __set_MSP(*(__IO uint32_t*) APP_DEFAULT_ADD); 
     Jump_To_Application();

官方库中,程序跳转有如上代码,需要修改APP_DEFAULT_ADD的地址,将地址修改为你所需要下载的APP的地址。__set_MSP();可将栈的指针也指向APP的栈,因此此地址也需要设置。

DFU中,基本不需要修改什么。MSC模式中,要做升级先要做U盘读取,读取完成后升级就很简单了。相当于直接把bin文件读取出来,写入到片内FLASH中的APP起始地址部分。

APP中,需要在project->option->link->edit设置中断向量地址,程序起始地址。这两个地址可以设为一起,因为程序起始的开头就是中断向量。此外,还需要在system_stm32f2xx.c等文件中 ,将VECT_TAB_OFFSET 偏移改掉,如程序起始地址为0x800c000就改为0xc000。

然后就可以愉快的下载运行了。将app生成的bin文件放在u盘指定目录下 开机检测到U盘 读取文件 写入FLASH,最后写入完成,跳入指定目标地址,运行APP程序。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liu236141068/article/details/49889947
文章标签: stm32 升级 usb
个人分类: STM32
上一篇STM32 USB OTG官方库移植
下一篇STM32F103RC,FATFS,w25x16移植笔记
想对作者说点什么? 我来说一句

stm32 bootloader U盘更新APP程序

2015年09月29日 11.29MB 下载

通过U盘升级STM32F103程序

2015年11月02日 15.45MB 下载

STM32 USB接口升级

2011年09月23日 9.81MB 下载

没有更多推荐了,返回首页

关闭
关闭