花两天时间写的stm32f103串口BootLoader(有keil工程)

因为在论坛和官网都没搜到完全合适的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程序(流水灯,外部中断等)测试没有问题。也请有兴趣的朋友提出补充和纠正。需要keil工程压缩包,留下邮箱

或者前往下载:https://download.csdn.net/download/m0_37738150/10277909

没有更多推荐了,返回首页