0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取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汽車級的芯片,發(fā)現(xiàn)官網(wǎng)也提供了基于KEA的bootloader,目前只支持UART和SPI,因為SPI要轉接板,所以還是UART方便一些,經常被選用。

官方提供的KEA的bootloader基本上分為三個層面

bootloader 層,通信層和驅動層

bootloader的代碼放在flash的頭4k字節(jié),以KEA128Z為例可以劃分為

中斷向量表就要相應偏置到0x0000_1000 處,因為應用程序入口點在這里。bootloader 的流程在應用筆記里也有提供,可以很好的幫助開發(fā)者熟悉整個過程。默認支持UART接口,如果需要支持其他接口,需要再源碼里使能,也可以同時支持幾個接口,但UART優(yōu)先級高,同時為了節(jié)省代碼空間,一般都選擇一種接口而禁止其他接口。

NXP的bootloader通信層都是基于SREC文件,這是一種摩托羅拉最早于二十世界,七十年代中葉發(fā)明的,它的格式如下

關于這種文件個詳細描述,可以參考維基

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

例如可以通過一個例子很好的理解這種文件格式

按照這個結構,可以定義一個結構體來描述他

整個通信的流程為

如果手上有KEA的開發(fā)板就可以上手試試這個bootloader。

官方提供的壓縮包里也有簡單的上位機接口,

bootloader一定要理解系統(tǒng)內存的分布,可以參考官方提供的源碼,修改使用于自己的項目,也可以自己開發(fā),使用于自己的項目,總之bootloader還是很重要的,如果設計不好,會在后期給你帶來很多坑。祝愿每一個工程師都能夠設計出自己的友好的bootloader。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    5926

    瀏覽量

    135712
  • uart
    +關注

    關注

    22

    文章

    1216

    瀏覽量

    101005
  • bootloader
    +關注

    關注

    2

    文章

    233

    瀏覽量

    45467

原文標題:Bootloader需要你的精心設計

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    設計四PCB電路板時,疊一般怎樣設計呢?

    設計四PCB電路板時,疊一般怎樣設計呢?理論上來,可以有三個方案。方案一,1電源,1
    的頭像 發(fā)表于 04-13 08:55 ?2.7w次閱讀
    設計四<b class='flag-5'>層</b>PCB電路板時,疊<b class='flag-5'>層</b>一般怎樣設計呢?

    如何分割FPGA三個電源?

    FPGA三個電源,一般怎么分割?來自: 微社區(qū)
    發(fā)表于 09-12 04:36

    AD如何把三個用線繪成的邊框在三個上重合

    以上是三個用線畫出來的邊框,形狀尺寸相同,只是在三個layer上。現(xiàn)在我想把三個邊框在各自上合并的一起,請問怎么做可以把位置對齊呢?
    發(fā)表于 06-13 17:06

    AUTOSAR基礎軟件是由哪些部分組成的

    AUTOSAR基礎軟件即BSW(Basic Software),與應用、運行環(huán)境共同搭建了AUTOSAR的軟件體系。三個
    發(fā)表于 02-17 08:00

    、三層、四交換機之間的區(qū)別

    、三層、四交換機之間的區(qū)別
    發(fā)表于 01-13 22:01 ?21次下載

    三層架構的原理及作用_三層架構怎么用

    在軟件系統(tǒng)設計中,分層式結構是常見的,也是重要的一種結構。三層架構就是將整個業(yè)務應用劃分為:界面層、業(yè)務邏輯、數(shù)據(jù)訪問。每一都職責明確。
    發(fā)表于 12-27 16:19 ?1.7w次閱讀
    <b class='flag-5'>三層</b>架構的原理及作用_<b class='flag-5'>三層</b>架構怎么用

    pcb板的各個是什么作用

    電路板包括許多類型的工作層面,如信號、防護、絲印、內部等。
    的頭像 發(fā)表于 10-30 17:17 ?2w次閱讀

    三層交換技術的原理_三層交換技術的基本原理_三層交換技術的工作原理

    三層交換工作在OSI七網(wǎng)絡模型中的第三層即網(wǎng)絡,是利用第三層協(xié)議中的IP包的包頭信息來對后續(xù)數(shù)據(jù)業(yè)務流進行標記,具有同一標記的業(yè)務流的
    發(fā)表于 08-20 15:19 ?1.2w次閱讀
    <b class='flag-5'>三層</b>交換技術的原理_<b class='flag-5'>三層</b>交換技術的基本原理_<b class='flag-5'>三層</b>交換技術的工作原理

    局域網(wǎng)通信原理傳輸和應用

    局域網(wǎng)通信原理傳輸和應用(烽火通信網(wǎng)絡機頂盒hg680-j刷機)-該文檔為局域網(wǎng)通信原理傳輸
    發(fā)表于 07-30 08:29 ?15次下載
    局域網(wǎng)<b class='flag-5'>通信</b>原理傳輸<b class='flag-5'>層</b>和應用<b class='flag-5'>層</b>

    【理論】通信的硬件協(xié)議和軟件協(xié)議

    眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)膮f(xié)議規(guī)范,從軟硬件層面可以分為硬件通信協(xié)議和軟件通信協(xié)議,
    發(fā)表于 12-05 15:51 ?9次下載
    【理論】<b class='flag-5'>通信</b>的硬件<b class='flag-5'>層</b>協(xié)議和軟件<b class='flag-5'>層</b>協(xié)議

    AUTOSAR 基礎軟件

    AUTOSAR基礎軟件即BSW(Basic Software),與應用、運行環(huán)境共同搭建了AUTOSAR的軟件體系。三個
    發(fā)表于 12-22 19:03 ?26次下載
    AUTOSAR 基礎軟件<b class='flag-5'>層</b>

    如何快速理解通信的硬件協(xié)議與軟件協(xié)議?

    為了更加形象的理解軟硬件層面通信協(xié)議,我們將通信比作交通,通信的硬件協(xié)議比作各國的公路標準,各國的公路標準類似于不同的硬件
    的頭像 發(fā)表于 03-28 09:41 ?2407次閱讀

    三層、 四交換機的區(qū)別

    OSI參考模型的第三層叫做網(wǎng)絡,第三層交換機可以看成是路由器和二交換機的結合,它比第二交換機更加高檔,功能更強。
    發(fā)表于 02-22 12:03 ?3546次閱讀

    javaweb三層架構和mvc架構

    JavaWeb三層架構和MVC架構是當前Web開發(fā)領域中常用的兩種架構模式。 一、JavaWeb三層架構 JavaWeb三層架構是將一Web應用程序分為展示
    的頭像 發(fā)表于 11-22 16:41 ?1452次閱讀

    springboot三層架構mapper

    Boot 三層架構中的 Mapper。 首先,我們需要了解什么是三層架構。三層架構是一種常用的軟件設計方法,將應用程序劃分為三個層次:表示
    的頭像 發(fā)表于 12-03 15:01 ?1389次閱讀