STM32 USB升级

原创 2015年11月17日 17:09:50

首先移植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程序。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

官方DFU固件更新软件实现对STM32的USB方式代码升级简易说明

软件下载: stsw-stm32080.zip (12400 K) 下载次数:7843  (特别说明,此软件含有官方的VS平台的源码文件) 开发平台:STM32-V5开发板 前几天在论坛发布了使用串...
  • zhjmyx
  • zhjmyx
  • 2016-11-06 20:08
  • 2224

基于stm32的usb iap程序升级步骤

usb自动更新程序IAP(in application programming)DFU(develepment firemeware upgrate).整个芯片有512k的片内flash,用户程序下载...

STM32F10X USB升级

  • 2016-12-25 22:24
  • 86KB
  • 下载

STM32通过USB方式烧录程序DFU详解

DFU的全称是Device Firmware Upgrade,即设备固件升级。 ===========================================================...

STM32 USB设计原理

首先,我们来看看usb的工作过程:     当usb设备接入到主机时,主机开始枚举usb设备,并向usb设备发出指令要求获取usb设备的相关描述信息,其中包括设备描述(device descri...

STM 32的USB时钟的配置

1.首先要配置好系统的时钟如下: RCC_DeInit();//将外设RCC寄存器重设为缺省值   /* Enable HSE */   RCC_HSEConfig(RCC_HSE_ON);//设置...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)