STM32
直播中

surround

12年用户 553经验值
私信 关注
[问答]

分享一个不错的stm32f103串口BootLoader工程

分享一个不错的STM32f103串口BootLoader工程

回帖(1)

张玉

2021-12-14 09:56:34
因为在论坛和官网都没搜到完全合适的BootLoader,所以自己移植完成了一个BootLoader工程。另外附APP文件工程,可做实验。用良心保证,看完后可以做一个成功的实验。
上位机选用SecureCrt,单片机用的stm32f103vet6。





首先搞清楚BootLoader过程步骤,代码可以再根据自己需要修改:
步骤一:初始化IO口,初始化uart串口,初始化定时器等等
步骤二:进入BootLoader选择界面,如果选择1是烧写程序,然后用上位机发送ymodem格式的bin文件。(bin文件就是应用程序的编译后的二进制代码),发送完成后,单片机已经把它存进flash中一块区域,并跳转运行此区域。
步骤二:进入BootLoader选择界面,如果选择2是直接跳转到应用程序区。
步骤二:进入BootLoader选择界面,如果不选择,不做任何操作,3秒后直接跳转到应用程序区。
实际SecureCRT效果图:





补充:bootloader占用整个flash的前0x000-0x3000空间,从flash的第0x3000空间开始存的是应用程序。
BootLoader和app分别建立两个工程,那么在app工程中需要修改中断向量起始地址为0x3000,和keil的target的IROM1,然后编译得到bin,怎么在keil得到bin?在user中fromelf.exe --bin -o "$L@L.bin" "#L"













我是这样做的暂时没有发现问题,编了几个简单的APP程序(流水灯,外部中断等)测试没有问题。也请有兴趣的朋友提出补充和纠正。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分