一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何實現(xiàn)簡單的bootloader功能

我快閉嘴 ? 來源:瑞薩MCU小百科 ? 作者:瑞薩MCU小百科 ? 2022-09-06 13:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

考慮到瑞薩MCUBoot的ROM占用和某些客戶的需求,本篇主要講述在不使用瑞薩MCUboot驅(qū)動下,如何實現(xiàn)簡單的bootloader功能。

主要內(nèi)容

在寫代碼之前,首先必須規(guī)劃Boot和App的存放位置,如下圖。我使用的是R7FA2L1AB2DFM,有256K的ROM。我把Boot從0x00開始存儲,預(yù)計存儲7K左右;App從0x4000開始存儲。為了在仿真時區(qū)分Boot和App,這里選擇了點亮LED的方式來區(qū)分,當(dāng)只亮一個LED時表示當(dāng)前是Boot在運行,當(dāng)兩個LED交替閃爍時代表App在運行。

d27088ec-2d99-11ed-ba43-dac502259ad0.png

BOOT工程:

1創(chuàng)建一個boot工程,添加UART和Flash驅(qū)動,F(xiàn)lash驅(qū)動只選Code Flash Programming,選擇只亮一個LED燈來區(qū)別BOOT和APP。

d285edf4-2d99-11ed-ba43-dac502259ad0.png

d2ab7a56-2d99-11ed-ba43-dac502259ad0.png

2編寫代碼,實現(xiàn)串口接收串口助手發(fā)來的APP.bin

d2ca8d42-2d99-11ed-ba43-dac502259ad0.png

3當(dāng)串口接收完后,用Flash驅(qū)動把接收到的數(shù)據(jù)寫到APP存儲的rom地址。這里我選擇把APP存在0x4000

d2e13a60-2d99-11ed-ba43-dac502259ad0.png

4調(diào)用下圖函數(shù),實現(xiàn)APP跳轉(zhuǎn)。注意,跳轉(zhuǎn)前先把所有運行的驅(qū)動關(guān)閉。

d2f7c884-2d99-11ed-ba43-dac502259ad0.png

d314f468-2d99-11ed-ba43-dac502259ad0.png

5編譯,可對比得出,精簡版bootloader只是用了7K左右的rom,比使用了MCUboot后的ROM占用少5K。

d3236d9a-2d99-11ed-ba43-dac502259ad0.png

d33bd696-2d99-11ed-ba43-dac502259ad0.png

APP工程:

1實現(xiàn)APP的功能邏輯代碼,這里我選擇是使用GPT定時器,讓開發(fā)板的兩個LED燈交替閃爍。

d358b3c4-2d99-11ed-ba43-dac502259ad0.png

2通過文本打開fsp.ld文件,添加紅框位置的語句,地址與BOOT工程的跳轉(zhuǎn)地址對應(yīng)。這個步驟的目的是為了讓APP工程以0x4000這個地址作為起始地址,它的向量表也會以這個地址作為基準(zhǔn)來存儲。

d36e3730-2d99-11ed-ba43-dac502259ad0.png

3編譯并生成bin文件。

d39d6924-2d99-11ed-ba43-dac502259ad0.png

仿真調(diào)試:

仿真BOOT工程,在PC端用串口助手燒錄APP.bin,可以看到開發(fā)板從一開始只亮一個LED到兩個LED交替閃爍。

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367071
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    578

    瀏覽量

    87366
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    239

    瀏覽量

    46702

原文標(biāo)題:RA2L1精簡版Bootloader的使用

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何去實現(xiàn)基于STM32L0的簡單Bootloader

    如何去實現(xiàn)基于STM32L0的簡單Bootloader呢?怎么實現(xiàn)呢?
    發(fā)表于 10-28 06:07

    如何在STM32F103C8上實現(xiàn)一個簡單bootloader?

    如何在STM32F103C8上實現(xiàn)一個簡單bootloader?
    發(fā)表于 11-29 07:56

    如何在STM32F103C8上實現(xiàn)一個簡單bootloader

    在STM32F103C8上實現(xiàn)一個簡單bootloader最近在琢磨單片機(jī)在線更新程序的事情,查資料查到在STM32上實現(xiàn)一個bootloader
    發(fā)表于 12-03 06:28

    研究下stm32基于BootLoader的IAP功能

    近期想研究下stm32基于BootLoader的IAP功能,要想實現(xiàn)這個,必須先搞明白程序跳轉(zhuǎn),在真正開搞前折騰了半晚上,完成了程序跳轉(zhuǎn)的簡單測試。stm32代碼下載到0x800000
    發(fā)表于 12-21 06:44

    4510 bootloader實現(xiàn)與分析

    4510 bootloader實現(xiàn)與分析 好東西哦。網(wǎng)上搜集,希望對你有用。
    發(fā)表于 03-25 14:55 ?20次下載

    Stellaris BootLoader分析

    Stellaris BootLoader分析 介紹BootLoader實現(xiàn)原理
    發(fā)表于 04-07 16:58 ?32次下載

    BootLoader_BootLoader是什么

    ARM實現(xiàn)手指靜脈識別系統(tǒng)_本文將從 BootLoader的概念、BootLoader 的框架結(jié)構(gòu)與安裝等四個方面來討論。
    發(fā)表于 11-30 10:32 ?3282次閱讀

    ARM Bootloader實現(xiàn)C 和 ASM 混合編程

    ARM Bootloader實現(xiàn)C 和 ASM 混合編程
    發(fā)表于 10-30 09:28 ?15次下載
    ARM <b class='flag-5'>Bootloader</b> 的<b class='flag-5'>實現(xiàn)</b>C 和 ASM 混合編程

    STM32系統(tǒng)bootloader的應(yīng)用有哪些

    嵌入式開發(fā)中,經(jīng)常需要bootloader進(jìn)行程序固件升級和系統(tǒng)維護(hù),所以bootloader是必不可少的功能。STM32系統(tǒng)自帶的系統(tǒng)bootloader很方便使用。大量減少了工程師
    的頭像 發(fā)表于 10-22 12:19 ?5999次閱讀
    STM32系統(tǒng)<b class='flag-5'>bootloader</b>的應(yīng)用有哪些

    【MCU】BootLoader簡單介紹

    執(zhí)行的第一段代碼。BootLoader時基于特定硬件平臺來實現(xiàn)的,因此不同的處理器架構(gòu)有不同的BoottLoa
    發(fā)表于 10-27 19:21 ?48次下載
    【MCU】<b class='flag-5'>BootLoader</b>的<b class='flag-5'>簡單</b>介紹

    幾種MCU bootLoader實現(xiàn)方案

    幾種MCU bootLoader實現(xiàn)方案 mcu bootLoader boot的方式可以是uart、spi、i2c、ethernet等,方式可以是多樣性,這里只介紹boot的架構(gòu)方式,以下是常用的boot分類: 1、bo
    發(fā)表于 10-28 10:36 ?18次下載
    幾種MCU <b class='flag-5'>bootLoader</b>的<b class='flag-5'>實現(xiàn)</b>方案

    PIC單片機(jī)的BootLoader實現(xiàn)

    PIC單片機(jī)的BootLoader實現(xiàn)
    發(fā)表于 11-16 11:06 ?15次下載
    PIC單片機(jī)的<b class='flag-5'>BootLoader</b><b class='flag-5'>實現(xiàn)</b>

    在STM32F103C8上實現(xiàn)一個簡單bootloader

    在STM32F103C8上實現(xiàn)一個簡單bootloader最近在琢磨單片機(jī)在線更新程序的事情,查資料查到在STM32上實現(xiàn)一個bootloader
    發(fā)表于 11-23 17:51 ?20次下載
    在STM32F103C8上<b class='flag-5'>實現(xiàn)</b>一個<b class='flag-5'>簡單</b>的<b class='flag-5'>bootloader</b>

    STM32H7實現(xiàn)BootLoader內(nèi)SDRAM的初始化注意事項

    Function Implementation:在 ArtPi 的環(huán)境下,實現(xiàn)一個簡單BootLoader,該 BootLoader 實現(xiàn)
    的頭像 發(fā)表于 06-07 15:51 ?4570次閱讀
    STM32H7<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>BootLoader</b>內(nèi)SDRAM的初始化注意事項

    mm32-2nd-bootloader技術(shù)進(jìn)階設(shè)計:實現(xiàn)Ymodem更新代碼

    前文中實現(xiàn)了一款簡單的 2nd Bootloader,能夠跳轉(zhuǎn)執(zhí)行存儲在 QSPI Flash 中的應(yīng)用程序,但 2nd Bootloader 如果僅僅只是用于跳轉(zhuǎn)執(zhí)行程序的話,豈不是
    的頭像 發(fā)表于 06-09 09:28 ?3139次閱讀
    mm32-2nd-<b class='flag-5'>bootloader</b>技術(shù)進(jìn)階設(shè)計:<b class='flag-5'>實現(xiàn)</b>Ymodem更新代碼