6KX 16bit的外部存儲空間映射在C54x系列處理器中的Page4、5、6、7、8、9、&、13的高321(地址空間。這些地址空間映射關系不受任何寄存器位的影響(不受PMST的OVLY/ROM等位的影響)。程序代碼和數據分塊放在這些地址空間中。
[0022]如圖4所示,本實施例中的boot程序較小,約12Kbit大小,將boot程序和應用程序的一塊碼本數據合并放入應用程序存儲頁的某一頁,本實施例選擇第八頁PageS的高32K地址空間,boot程序放入0x8f800~8ffff地址空間。將程序空間啟動頁PageO和第八頁PageS空間進行頁共享。
[0023]為了將存儲應用程序的程序存儲頁即Page4、5、6、7、8、9、a、b內的高32K地址空間映射在8塊外部存儲器上,8頁程序空間共需要占用20根地址線即A0-A19。本實施例選擇5根地址線即A15-A19與地址譯碼器相連,其他地址線即A0-A14分別與外部存儲器的地址線連接。A15-A19進行譯碼處理,確定選擇哪一塊外部存儲器,其他15根地址線即A0-A14
用于讀寫數據。
[0024]所述地址譯碼器將啟動頁PageO和第八頁Page8的地址空間映射在同一塊的固態存儲器上,執行OxffSO即是執行OxSffSO地址開始的程序。這樣做有效的節省了存儲器存儲空間。
[0025]如圖2所示,本發明的boot的啟動過程如下:
1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=U DR0M=0,上電或復位數字信號處理器,程序從0xff80指向的外部存儲器空間開始執行,此時PC=0xff80,XPC=0。做了地址映射后,OxffSO執行的代碼,即為空間OxSffSO內的boot程序,boot程序第一條指令執行跳轉,跳轉到OxSfSO地址執行數字信號處理器。
[0026]2)、初始化數字信號處理器和相關外圍設備,即初始化芯片時鐘,外部總線頻率等功能。
[0027]3 )、設置PMST=OxO Ia8,MP/MC=0,重新映射數字信號處理器的內存空間,為應用程序準備RAM空間。
[0028]4)、啟動DMA,將外部存儲器上的代碼和數據分別搬移到相應的內部存儲器上。
[0029]5)、設置堆棧,C54x系列處理器片上有雙訪問DARAM,讀寫速度快,常用作棧空間和存放常用數據,設計使用0x3800大小的DARAM空間為棧空間,使用0x400大小的DARAM空間為堆空間。
[0030]6)、跳轉到應用程序所在的內存空間的入口地址,啟動應用程序運行,本實施例中,應用程序的C入口地址為0x200 (XPC=O, PC=0x200)o
[0031]在上述的第4)步中,由于C54x系列處理器程序空間和數據空間相互獨立,因此在代碼搬移時,處理器內部的處理器含有對程序到程序空間,程序到數據空間,數據到程序空間的數據搬移指令,但操作起來非常復雜。而處理器片內含6通道DMA,支持數據、1/0、程序空間的數據搬移,且搬移操作不受與地址映射有關的MP/MC、DROM、OVLY寄存器位的影響。因此采用DMA來進行代碼和數據的搬移,既簡單又速度又快。
[0032]基于以上實施例的方法,還可以將Page9和Pagel、Page A和Page2、Page B和Page3分別映射在同一塊片外存儲器上,實現頁共享存儲。
[0033]以上述依據本發明的理想實施例為啟示,通過上述的說明內容,相關工作人員完全可以在不偏離本項發明技術思想的范圍內,進行多樣的變更以及修改。本項發明的技術性范圍并不局限于說明書上的內容,必須要根據權利要求范圍來確定其技術性范圍。
【主權項】
1.一種數字信號處理器的boot啟動方法,其特征是:boot程序存儲在數字信號處理器的應用程序存儲頁內,啟動頁與存儲boot程序的應用程序存儲頁頁共享,通過地址譯碼器,啟動頁與存儲boot程序的應用程序存儲頁的地址空間映射在同一塊外部存儲器上,所述boot啟動方法包括如下步驟: 1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=U DROM=O,上電或復位數字信號處理器,根據與數字信號處理器連接的外部存儲器的指令,執行啟動頁程序,根據頁共享機制,跳轉到存儲boot程序的應用程序存儲頁執行boot程序; 2)、初始化數字信號處理器和相關外圍設備; 3)、重新映射數字信號處理器的內存空間,為應用程序準備RAM空間; 4)、啟動DMA,將外部存儲器上的代碼和數據分別搬移到相應的內部存儲器上; 5)、設置堆棧; 6)、跳轉到應用程序所在的內存空間的入口地址,啟動應用程序運行。
2.根據權利要求1所述的數字信號處理器的boot啟動方法,其特征是:步驟2)中對數字信號處理器的時鐘和外部總線頻率功能進行初始化。
3.根據權利要求1所述的數字信號處理器的boot啟動方法,其特征是:步驟3)中設置 PMST=OxOIa8,MP/MC=0。
4.一種boot程序的啟動裝置,其特征是,包括:具有分頁存儲功能數字信號處理器、地址譯碼器和多個外部存儲器,所述數字信號處理器的地址線分為兩部分,一部分地址線直接外部存儲器的地址線連接,用于讀寫數據;另一部分地址線與地址譯碼器連接,地址譯碼器分別與外部存儲器連接,地址譯碼器進行譯碼處理,選擇外部存儲器。
【專利摘要】本發明涉及一種數字信號處理器的boot啟動方法及其啟動裝置。一種數字信號處理器的boot啟動方法,boot程序存儲在應用程序存儲頁內,啟動頁與存儲boot程序的應用程序存儲頁頁共享,通過地址譯碼器,啟動頁與存儲boot程序的應用程序存儲頁的地址空間映射在同一塊外部存儲器上。所述boot啟動方法具有如下步驟:MP/MC=1、OVLY=1、DROM=0,上電或復位數字信號處理器,根據與數字信號處理器連接的外部存儲器的指令,執行啟動頁程序,根據頁共享機制,跳轉到存儲boot程序的應用程序存儲頁執行boot程序。有效節約了存儲器的容量空間,提高了信號處理速度,實現了實時處理的效果。
【IPC分類】G06F9-445
【公開號】CN104866357
【申請號】CN201510290867
【發明人】張梅娟, 石喬林, 俞光耀, 張鉚, 包小鈺
【申請人】中國電子科技集團公司第五十八研究所
【公開日】2015年8月26日
【申請日】2015年5月29日