车载产品Bootloader功能的应用与实现

应用

       Bootloader,即在线程序烧写。很多汽车电子产品,都需要具备在线固件更新功能。这主要是因为产品在装车后,往往不方便单独拆卸,如果要对其进行软件更新,就只能通过通用外部接口ODBII上的CAN线来进行烧写升级。

 

基本原理

       要实现在线程序烧写,那么就需要把单片机的存储空间分成两个部分,分别用来存放自举程序和应用程序。

 

 

 

       自举程序,我们一般称为boot程序,它主要有两个功能:用于引导应用程序执行;实现应用程序的更新刷写。应用程序,我们一般称为app程序,也就是我们不带boot功能的源程序。这有点像我们的PC,PC开机并不是直接进windows操作系统,而是先进bios主板引导程序。这里的boot就相当于PC的bios,app就相当于windows,实际上是一个道理。

       

地址分配

        由于在一个单片机内同时存在两个独立的程序,boot和app。这两个程序独立运行,但有一定先后顺序。单片机上电之初,应该默认执行boot程序,因此boot程序一般分配在flash的起始位置。将app整个程序放在boot程序之后,boot和app之间预留一段空间,使得两个程序在空间上完全隔离开来,保证各自的独立性。

 

地址空间

        目前,单片机按位数来分,主要分为8位、16位和32位。32位的单片机地址空间比较简单,按128k的flash来算,地址就是从0x00000000到0x00020000,32位连续地址;8位和16位就稍微复杂点,由于地址位比较短,地址空间有限,地址一般都需要分页管理。像这种情况,一段完整的程序,往往要分成好几块,分别放在不同的页面里。那么,程序在刷写的时候需要特别注意,需要分段刷写。

       

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天上人间555

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值