一、使用場景
客戶在使用N2L做多協(xié)議產(chǎn)品時,在不同的產(chǎn)品上,需要同時將幾種協(xié)議的程序燒錄進(jìn)flash中,然后通過不同的撥碼或功能碼配置來選擇加載不同協(xié)議,此種情況下,就需要使用bootloader做程序的引導(dǎo)選擇功能。此時則需要將產(chǎn)品代碼分成2個工程,即一個Bootloader工程,一個Application工程,Bootloader工程里做不同協(xié)議的選擇,加載功能,根據(jù)需求加載不同協(xié)議運(yùn)行。
由于RZ工程正常啟動時,代碼分成LDR部分和user部分,所以Bootloader可以分別對Application以上2部分進(jìn)行加載,在Bootloader工程里里復(fù)制application的LDR部分到BTCM里運(yùn)行,由于LDR程序里有根據(jù)user代碼、數(shù)據(jù)的起始地址和長度定義,從flash區(qū)拷貝到RAM區(qū)運(yùn)行的代碼,所以只要LDR程序運(yùn)行起來,代碼則可以自動完成user程序的加載運(yùn)行。
二、加了bootloader后的啟動流程
步驟解析:
1
芯片內(nèi)部boot根據(jù)loader Parameters加載bootloader的LDR代碼到BTCM的0x102000地址區(qū)。
2
bootloader的LDR程序運(yùn)行后,會根據(jù)icf文件的配置從flash區(qū)加載bootloader的user代碼(包括data段、prg段、rodata段等)到ATCM運(yùn)行。
3
Bootloader的user里需要添加代碼來搬移application的LDR到BTCM運(yùn)行。
4
Application的LDR運(yùn)行后,會根據(jù)application的icf文件配置加載application的user代碼,并運(yùn)行整個程序。
注
1. Bootloader程序和application是2個獨(dú)立的工程
2. loader Parameters只配置bootloader工程的就可以,application是通過bootloader加載的,所以不需要更改此參數(shù)
3.bootloader和application的LDR部分復(fù)用BTCM的0x102000地址空間
4.由于本來是一次啟動加載的過程,現(xiàn)在是啟了2次,在startup文件開頭的特權(quán)模式下的操作不能重復(fù)進(jìn)行,否則會報錯,所以在application工程中要屏蔽掉此部分代碼
三、bootloader工程修改過程
1
確定要加載的幾個不同程序的FLASH地址
2
使用FSP工具配置一個工程
3
增加copy application的代碼和跳轉(zhuǎn)代碼
四、App修改點(diǎn)
1
icf在原有獨(dú)立工程基礎(chǔ)上按設(shè)置的FLASH地址做偏移,所有flash的配置都要加對應(yīng)的偏移,圖示以EIP為例
2
Startup.c里system_init中屏蔽掉對特權(quán)模式的操作
3
調(diào)試時要注意bootloader和application里幾個MPU_REGION的設(shè)置保持一致
審核編輯:黃飛
-
FlaSh
+關(guān)注
關(guān)注
10文章
1672瀏覽量
151266 -
bootloader
+關(guān)注
關(guān)注
2文章
238瀏覽量
46526 -
LDR
+關(guān)注
關(guān)注
0文章
100瀏覽量
7851
原文標(biāo)題:RZ Loader APP工程修改方法
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
實(shí)現(xiàn)IAP功能,使用cubeide生成APP程序的bin文件寫入Flash之后,無法跳轉(zhuǎn)到APP程序中,為什么?
使用cubeide生成APP程序的bin文件寫入Flash之后,無法跳轉(zhuǎn)到APP程序中,怎么解決?
新品發(fā)布丨瑞薩電子推出RZ/A3M,面向經(jīng)濟(jì)型高性能HMI解決方案擴(kuò)展RZ/A MPU產(chǎn)品線

具有3D圖形和視頻編解碼器的通用 MPU RZ/G2L 數(shù)據(jù)手冊

stm32cubeide-boot loader跳轉(zhuǎn)APP后不能執(zhí)行怎么解決?
瑞薩面向RZ/T和RZ/N系列微處理器推出經(jīng)認(rèn)證的PROFINET-IRT和PROFIdrive軟件協(xié)議棧

如何快速創(chuàng)建用戶自定義Board和App工程

瑞薩電子RZ MPU家族精品RZ/N2L產(chǎn)品介紹

瑞薩RZ/T2H新產(chǎn)品量產(chǎn)上市

瑞薩RZ/T系列MPU的中斷重入實(shí)現(xiàn)

如何修改buildroot和debian文件系統(tǒng)

TC397的Bootloader燒錄APP工程后可以跳轉(zhuǎn)執(zhí)行,但是APP工程里面的以太網(wǎng)功能會出現(xiàn)異常,為什么?
變頻器功率修改方法

評論