一、使用場景
客戶在使用N2L做多協議產品時,在不同的產品上,需要同時將幾種協議的程序燒錄進flash中,然后通過不同的撥碼或功能碼配置來選擇加載不同協議,此種情況下,就需要使用bootloader做程序的引導選擇功能。此時則需要將產品代碼分成2個工程,即一個Bootloader工程,一個Application工程,Bootloader工程里做不同協議的選擇,加載功能,根據需求加載不同協議運行。
由于RZ工程正常啟動時,代碼分成LDR部分和user部分,所以Bootloader可以分別對Application以上2部分進行加載,在Bootloader工程里里復制application的LDR部分到BTCM里運行,由于LDR程序里有根據user代碼、數據的起始地址和長度定義,從flash區拷貝到RAM區運行的代碼,所以只要LDR程序運行起來,代碼則可以自動完成user程序的加載運行。
二、加了bootloader后的啟動流程
步驟解析:
1
芯片內部boot根據loader Parameters加載bootloader的LDR代碼到BTCM的0x102000地址區。
2
bootloader的LDR程序運行后,會根據icf文件的配置從flash區加載bootloader的user代碼(包括data段、prg段、rodata段等)到ATCM運行。
3
Bootloader的user里需要添加代碼來搬移application的LDR到BTCM運行。
4
Application的LDR運行后,會根據application的icf文件配置加載application的user代碼,并運行整個程序。
注
1. Bootloader程序和application是2個獨立的工程
2. loader Parameters只配置bootloader工程的就可以,application是通過bootloader加載的,所以不需要更改此參數
3.bootloader和application的LDR部分復用BTCM的0x102000地址空間
4.由于本來是一次啟動加載的過程,現在是啟了2次,在startup文件開頭的特權模式下的操作不能重復進行,否則會報錯,所以在application工程中要屏蔽掉此部分代碼
三、bootloader工程修改過程
1
確定要加載的幾個不同程序的FLASH地址
2
使用FSP工具配置一個工程
3
增加copy application的代碼和跳轉代碼
四、App修改點
1
icf在原有獨立工程基礎上按設置的FLASH地址做偏移,所有flash的配置都要加對應的偏移,圖示以EIP為例
2
Startup.c里system_init中屏蔽掉對特權模式的操作
3
調試時要注意bootloader和application里幾個MPU_REGION的設置保持一致
審核編輯:黃飛
-
FlaSh
+關注
關注
10文章
1642瀏覽量
148683 -
bootloader
+關注
關注
2文章
235瀏覽量
45737 -
LDR
+關注
關注
0文章
99瀏覽量
7641
原文標題:RZ Loader APP工程修改方法
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
瑞薩電子RZ MPU家族精品RZ/N2L產品介紹
![瑞薩電子<b class='flag-5'>RZ</b> MPU家族精品<b class='flag-5'>RZ</b>/N2L產品介紹](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
瑞薩RZ/T系列MPU的中斷重入實現
![瑞薩<b class='flag-5'>RZ</b>/T系列MPU的中斷重入實現](https://file1.elecfans.com/web2/M00/FE/C6/wKgaomafUpWAU-WvAAAaqnAfQWU469.png)
TC397的Bootloader燒錄APP工程后可以跳轉執行,但是APP工程里面的以太網功能會出現異常,為什么?
變頻器功率修改方法
![變頻器功率<b class='flag-5'>修改</b><b class='flag-5'>方法</b>](https://file1.elecfans.com/web2/M00/FD/9B/wKgZomaczRqABJDsAAA2SGnXM-w679.png)
ESP32-S3如何在blufi工程代碼里去修改設備的藍牙名稱?
vscode flash不燒錄app.bin文件怎么解決?
STM32F103C8T6在bootloader使用了USB中斷后,app區再使用usb中斷,直接不會跳轉到app區,怎么解決?
RZ/T2M, RZ/T2L, RZ/N2L電機解決方案套件數據手冊
![<b class='flag-5'>RZ</b>/T2M, <b class='flag-5'>RZ</b>/T2L, <b class='flag-5'>RZ</b>/N2L電機解決方案套件數據手冊](https://file1.elecfans.com/web2/M00/E5/F5/wKgaomZB5jaAYNw9AAYpUr-PkAI027.png)
數據點修改后未生效的解決方案
![數據點<b class='flag-5'>修改</b>后未生效的解決方案](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
RZ/G2L Demo調試經驗流程分享(1)
![<b class='flag-5'>RZ</b>/G2L Demo調試經驗流程分享(1)](https://file1.elecfans.com/web2/M00/E1/6A/wKgaomY4eEqAWBOeAAAxOi0H_9o441.png)
易靈思Jtag_bridge_loader生成-v2
![易靈思Jtag_bridge_<b class='flag-5'>loader</b>生成-v2](https://file1.elecfans.com/web2/M00/C8/90/wKgZomYc5leAeyCgAACYzx8vAAA739.png)
瑞薩RZ/V2L預訓練的人工智能模型
![瑞薩<b class='flag-5'>RZ</b>/V2L預訓練的人工智能模型](https://file1.elecfans.com/web2/M00/C6/2A/wKgaomX7y-CAI1mTAAA-r6pQXIs896.png)
評論