STM32 USB升级

本文介绍了如何在STM32上进行USB升级,推荐使用DFU或MSC模式。DFU模式适用于通过PC连接数据线升级,而MSC模式则允许通过U盘进行。在移植USB官方库后,对于DFU模式基本无需额外修改,而在MSC模式下需读取U盘文件并写入FLASH。在APP配置中,需设定中断向量和程序起始地址,并调整VECT_TAB_OFFSET。完成这些步骤后,即可通过U盘进行固件更新并运行新程序。
摘要由CSDN通过智能技术生成

首先移植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的栈,因此此地址也需要设置。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值