0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KEA的bootloade的三个层面:bootloader 层,通信层和驱动层

h1654155971.7688 来源:未知 作者:李倩 2018-06-06 08:44 次阅读

嵌入式产品,我们一般都需要一个bootloader来更新固件和修复bug,一般常用的接口有,UART, CAN, USB, Ethernet,有的还有无线接口,像蓝牙,WiFi,等等,最基础常用的就是UART,熟悉NXP微控制器的猿友都知道,官方提供了基于UART和SPI, I2C,CAN等接口的bootloader,只要稍加修改就可以集成到自己的项目,最近在使用KEA汽车级的芯片,发现官网也提供了基于KEA的bootloader,目前只支持UART和SPI,因为SPI要转接板,所以还是UART方便一些,经常被选用。

官方提供的KEA的bootloader基本上分为三个层面

bootloader 层,通信层和驱动层

bootloader的代码放在flash的头4k字节,以KEA128Z为例可以划分为

中断向量表就要相应偏置到0x0000_1000 处,因为应用程序入口点在这里。bootloader 的流程在应用笔记里也有提供,可以很好的帮助开发者熟悉整个过程。默认支持UART接口,如果需要支持其他接口,需要再源码里使能,也可以同时支持几个接口,但UART优先级高,同时为了节省代码空间,一般都选择一种接口而禁止其他接口。

NXP的bootloader通信层都是基于SREC文件,这是一种摩托罗拉最早于二十世界,七十年代中叶发明的,它的格式如下

关于这种文件个详细描述,可以参考维基

https://en.wikipedia.org/wiki/SREC_(file_format)

例如可以通过一个例子很好的理解这种文件格式

按照这个结构,可以定义一个结构体来描述他

整个通信的流程为

如果手上有KEA的开发板就可以上手试试这个bootloader。

官方提供的压缩包里也有简单的上位机接口,

bootloader一定要理解系统内存的分布,可以参考官方提供的源码,修改使用于自己的项目,也可以自己开发,使用于自己的项目,总之bootloader还是很重要的,如果设计不好,会在后期给你带来很多坑。祝愿每一个工程师都能够设计出自己的友好的bootloader。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    5970

    浏览量

    135854
  • uart
    +关注

    关注

    22

    文章

    1227

    浏览量

    101172
  • bootloader
    +关注

    关注

    2

    文章

    234

    浏览量

    45546

原文标题:Bootloader需要你的精心设计

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    设计四PCB电路板时,叠一般怎样设计呢?

    设计四PCB电路板时,叠一般怎样设计呢?理论上来,可以有三个方案。方案一,1电源,1
    的头像 发表于 04-13 08:55 2.7w次阅读
    设计四<b class='flag-5'>层</b>PCB电路板时,叠<b class='flag-5'>层</b>一般怎样设计呢?

    如何分割FPGA三个电源

    FPGA三个电源,一般怎么分割?来自: 微社区
    发表于 09-12 04:36

    AD如何把三个用线绘成的边框在三个上重合

    以上是三个用线画出来的边框,形状尺寸相同,只是在三个layer上。现在我想把三个边框在各自上合并的一起,请问怎么做可以把位置对齐呢?
    发表于 06-13 17:06

    AUTOSAR基础软件是由哪些部分组成的

    AUTOSAR基础软件即BSW(Basic Software),与应用、运行环境共同搭建了AUTOSAR的软件体系。三个
    发表于 02-17 08:00

    三层、四交换机之间的区别

    三层、四交换机之间的区别
    发表于 01-13 22:01 21次下载

    三层架构的原理及作用_三层架构怎么用

    在软件系统设计中,分层式结构是常见的,也是重要的一种结构。三层架构就是将整个业务应用划分为:界面层、业务逻辑、数据访问。每一都职责明确。
    发表于 12-27 16:19 1.7w次阅读
    <b class='flag-5'>三层</b>架构的原理及作用_<b class='flag-5'>三层</b>架构怎么用

    pcb板的各个是什么作用

    电路板包括许多类型的工作层面,如信号、防护、丝印、内部等。
    的头像 发表于 10-30 17:17 2w次阅读

    三层交换技术的原理_三层交换技术的基本原理_三层交换技术的工作原理

    三层交换工作在OSI七网络模型中的第三层即网络,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的
    发表于 08-20 15:19 1.2w次阅读
    <b class='flag-5'>三层</b>交换技术的原理_<b class='flag-5'>三层</b>交换技术的基本原理_<b class='flag-5'>三层</b>交换技术的工作原理

    局域网通信原理传输和应用

    局域网通信原理传输和应用(烽火通信网络机顶盒hg680-j刷机)-该文档为局域网通信原理传输
    发表于 07-30 08:29 15次下载
    局域网<b class='flag-5'>通信</b>原理传输<b class='flag-5'>层</b>和应用<b class='flag-5'>层</b>

    【理论】通信的硬件协议和软件协议

    众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件通信协议和软件通信协议,
    发表于 12-05 15:51 9次下载
    【理论】<b class='flag-5'>通信</b>的硬件<b class='flag-5'>层</b>协议和软件<b class='flag-5'>层</b>协议

    AUTOSAR 基础软件

    AUTOSAR基础软件即BSW(Basic Software),与应用、运行环境共同搭建了AUTOSAR的软件体系。三个
    发表于 12-22 19:03 26次下载
    AUTOSAR 基础软件<b class='flag-5'>层</b>

    如何快速理解通信的硬件协议与软件协议?

    为了更加形象的理解软硬件层面通信协议,我们将通信比作交通,通信的硬件协议比作各国的公路标准,各国的公路标准类似于不同的硬件
    的头像 发表于 03-28 09:41 2435次阅读

    三层、 四交换机的区别

    OSI参考模型的第三层叫做网络,第三层交换机可以看成是路由器和二交换机的结合,它比第二交换机更加高档,功能更强。
    发表于 02-22 12:03 3723次阅读

    javaweb三层架构和mvc架构

    JavaWeb三层架构和MVC架构是当前Web开发领域中常用的两种架构模式。 一、JavaWeb三层架构 JavaWeb三层架构是将一Web应用程序分为展示
    的头像 发表于 11-22 16:41 1613次阅读

    springboot三层架构mapper

    Boot 三层架构中的 Mapper。 首先,我们需要了解什么是三层架构。三层架构是一种常用的软件设计方法,将应用程序划分为三个层次:表示
    的头像 发表于 12-03 15:01 1522次阅读