基于DM642的FLASH分頁二級引導程序設計
3 二級引導程序
3.1 引導過程
二級引導裝載程序被放置在FLASH的起始地址處,一旦DSP上電復位,二級引導程序就會通過DM642的自動加載機制加載到RAM的地址0處,且此時CPU復位,開始執行二級引導程序。二級引導程序的引導過程為:首先對EMIF寄存器進行配置,包括全局控制寄存器、CEx空間控制寄存器、SDRAM控制寄存器、時序控制寄存器以及擴展控制寄存器等。然后,獲取程序入口地址,接著按照數據塊的格式獲取每個塊的字節數和目標地址,開始拷貝代碼。當獲取的字節數為0時,引導結束,CPU跳轉到C_int00處,建立C語言運行環境,從main()處開始執行。引導過程如圖2所示。本文引用地址:http://www.104case.com/article/202586.htm
3.2 二級引導程序設計
根據二級引導程序的引導過程編寫二級引導程序的實現代碼,二級引導程序用匯編語言編寫。下面是各部分的具體實現。
(1)配置EMIF寄存器。定義EMIF寄存器基地址EMIF BASE=0x01800000,定義各個寄存器的配置值為:
(2)拷貝應用程序代碼。定義引導表的地址為COPY_TABLE=0x90000400,實現代碼如下:
評論