本文主要是介绍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下载交流经验。感谢~!
这篇关于STM32CbueMX之 USB下载更新固件Download Firmware Update(DFU)之二APP编写及烧录升级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!