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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KEA的bootloade的三個層面:bootloader 層,通信層和驅(qū)動層

h1654155971.7688 ? 來源:未知 ? 作者:李倩 ? 2018-06-06 08:44 ? 次閱讀

嵌入式產(chǎn)品,我們一般都需要一個bootloader來更新固件和修復(fù)bug,一般常用的接口有,UART, CAN, USB, Ethernet,有的還有無線接口,像藍(lán)牙,WiFi,等等,最基礎(chǔ)常用的就是UART,熟悉NXP微控制器的猿友都知道,官方提供了基于UART和SPI, I2C,CAN等接口的bootloader,只要稍加修改就可以集成到自己的項目,最近在使用KEA汽車級的芯片,發(fā)現(xiàn)官網(wǎng)也提供了基于KEA的bootloader,目前只支持UART和SPI,因為SPI要轉(zhuǎn)接板,所以還是UART方便一些,經(jīng)常被選用。

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

bootloader 層,通信層和驅(qū)動層

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

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

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

關(guān)于這種文件個詳細(xì)描述,可以參考維基

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

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

按照這個結(jié)構(gòu),可以定義一個結(jié)構(gòu)體來描述他

整個通信的流程為

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

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

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

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

    關(guān)注

    18

    文章

    6046

    瀏覽量

    136206
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1242

    瀏覽量

    101532
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    235

    瀏覽量

    45660

原文標(biāo)題:Bootloader需要你的精心設(shè)計

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    如何分割FPGA三個電源?

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

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

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

    AUTOSAR基礎(chǔ)軟件是由哪些部分組成的

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

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

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

    三層架構(gòu)的原理及作用_三層架構(gòu)怎么用

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

    pcb板的各個是什么作用

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

    三層交換技術(shù)的原理_三層交換技術(shù)的基本原理_三層交換技術(shù)的工作原理

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

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

    局域網(wǎng)通信原理傳輸和應(yīng)用(烽火通信網(wǎng)絡(luò)機頂盒hg680-j刷機)-該文檔為局域網(wǎng)通信原理傳輸
    發(fā)表于 07-30 08:29 ?15次下載
    局域網(wǎng)<b class='flag-5'>通信</b>原理傳輸<b class='flag-5'>層</b>和應(yīng)用<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 基礎(chǔ)軟件

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

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

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

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

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

    javaweb三層架構(gòu)和mvc架構(gòu)

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

    springboot三層架構(gòu)mapper

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