我們在製作bootloader時,經常會遇到應用比較複雜,導致bin檔案過大,無法下載到LDROM(4K)上。要如何將一個bin檔案拆分成兩個或多個bin檔案呢?可以參考以下步驟。
第一步,製作 .sct 加載檔案。
如你希望拆分 LOROM 的檔案,起始地址是 0x100000。如果是 APROM 檔案,起始地址是 0x000000。
這裡解釋一下,程式解析後以 .o 文件為主,將 main.o 和 startup.o 文件打包生成 bin1,然後將其他所有的 .o 文件放到 bin2,最後從 bin1 開始執行。
第二步,生成 bin 文件。添加指令 fromelf --bin ".\obj\@L.axf" --output ".\bin"
第三步,載入sct檔案,並且透過設計misc controls將兩個bin檔案連結起來。
--map --datacompressor=off --info=inline --entry Reset_Handler
第四步,燒錄。確定啟動方式,可以選擇APROM-IAP或者LDROM-IAP。我這邊使用的是LDROM 0x100000地址啟動,那就是勾選LDROM-IAP。
載入LDROM_Boot1.bin到LDROM的0x100000地址,LDROM_Boot2.bin到APROM的0x8000地址。
如果你需要製作APROM bin拆分,選擇APROM-IAP模式啟動,再燒錄時採用APROM多文件模式,將0地址和8000地址的兩個bin文件同時燒錄即可。
參考來源