STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之二APP编写及烧录升级

STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之一BootLoader程序编写https://blog.csdn.net/sudaroot/article/details/102549606
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之二APP编写及烧录升级https://blog.csdn.net/sudaroot/article/details/102743141
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之三Leave DFU mode会卡死https://blog.csdn.net/sudaroot/article/details/102746505
STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之四FreeRTOS跳转运行失败https://blog.csdn.net/sudaroot/article/details/102800541

写一个最简单LED闪烁的程序。

进入设置,把代码的起始地址 0x8000000 改成0x8010000(上一节有解释); 空间大小0x0100000改成0xFFFFF

打开system_stm32f4xx.c文件修改中断向量表的偏移地址。我们APP相对flash起始地址偏移了64KB即0x10000.

#define VECT_TAB_OFFSET  0x10000

main.c

#include <stdio.h>

int fputc(int ch, FILE* FILE)
{
    HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);
    return ch;
}



int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_USART1_UART_Init();

  while (1)
  {
      HAL_GPIO_TogglePin(RUN_LED_GPIO_Port, RUN_LED_Pin);
      HAL_Delay(1000);
  }
}


 

编译。

生成固件:

找到hex文件,打开Dfu file manager是把bin文件或者hex文件生成  .dfu后缀的文件,  .dfu后缀的文件就是我们的固件。

升级烧录:打开DfuSeDemo软件,板子usb连接电脑

断电重启或者点击Leave DFU mode直接运行APP。

  全篇完。

本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解,记录成长笔记。
笔记是以最简单的方式,只展示最核心的原理。
若有与 大神大大 见解有歧义,我绝对坚信 大神大大 见解是对的,我的是错的。
若无积分等无法下载源码,可加入QQ群657407920下载交流经验。感谢~!

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值