不会写Bootloader?看这里,现成的

前段时间要写一个BootLoader程序,想起来好像在STM32的HAL库里面看到过相关的Demo,打算参考一下。打开相关的目录看了一下,确实是有相关文件:

a313b476c0633f7f4518afacea0cc553.png

但是没找到工程文件。没办法,那就自己百度吧,关键词OpenBootloader一搜索,发现这不是ST原创的,是一个开源的项目。简称OpenBLT,是一种开源引导加载程序,可以在任何微控制器上运行,并使用支持Usart、Can、USB、SD卡等多种类型的通信接口来执行软件更新。

官网地址:

https://www.feaser.com/openblt/doku.php?id=homepage

下载地址:

https://sourceforge.net/projects/openblt/files/

百度网盘:

链接:https://pan.baidu.com/s/1ZZV7AxGna5cwH_EkIDjftA?pwd=cdq1

提取码:cdq1

下载下来后发现,里面有很多种单片机的Demo程序,还有不同的IDE。

1dad4c737756d10646c9333ed7a585e0.png

正好手上有个STM32G0的开发板,拿来试一下。打开G071的Keil目录,里面有Boot程序和用户程序Prog两个工程。

bc689f58d1aedbfecc90508ce1f4cd92.png

首先将Boot 程序用仿真器下载到开发板中,打开配套的上位机软件MicroBoot v2.05,这里使用的是串口升级,设置好串口号和波特率。

73c00f5e24bd3224a24ac5559d24463f.png

9629fa7e4deda23dbfa5c840f1069d1c.png

点击Browse选择编译好的用户程序,这里是.srec格式的文件,点击选择后会直接下载程序。如下:

cc7319f4e7f35c7d444295c4f26a3488.gif

由于用户程序不大,下载过程还是挺快的。而且Boot程序编译后只有7KB左右,也不大。该单片机没有CAN、USB等接口,对于其它一些单片机,可以配置为通过其它接口方式升级程序。例程里几乎有STM32全系列的Demo,用起来很方便。想移植到其它单片机的可能需要自己研究一下了,主要是接口和flash擦写部分程序。

这里说明一下,.srec格式的文件的生成方式跟bin文件类似,在Keil中设置如下:537836ca45aadc651892e7ec2190fe43.png

 

另外,用户程序的Flash起始地址是通过.sct文件配置的:

cfbef2ecbbab63d58fef25bbfa69ebf2.png

也可以在IDE里配置,两种方式都可以。

f991c06c0ece54902f8f7e9a9fd7de29.png

   欢迎关注公众号"嵌入式技术开发",大家可以后台给我留言沟通交流。如果觉得该公众号对你有所帮助,也欢迎推荐分享给其他人。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值