DSP56362的雙引導(dǎo)裝載方法研究與實現(xiàn)_第1頁
DSP56362的雙引導(dǎo)裝載方法研究與實現(xiàn)_第2頁
DSP56362的雙引導(dǎo)裝載方法研究與實現(xiàn)_第3頁
DSP56362的雙引導(dǎo)裝載方法研究與實現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、DSP56362的雙引導(dǎo)裝載方法研究與實現(xiàn)摘要:簡要介紹了MOTOROLA公司的24位定點數(shù)字信號處理器DSP56362的并行引導(dǎo)過程和特點。并結(jié)合實際,提出了一種雙引導(dǎo)模式,給出了具體的實現(xiàn)方法。通過這種雙引導(dǎo)模式,巧妙地達到了系統(tǒng)的要求。另外,介紹了采用DSP軟件編程來實現(xiàn)FLASH擦除和讀寫方法。     關(guān)鍵詞:DSP56362;Bootstrap;雙引導(dǎo)模式;命令字序列引言在脫機運行的系統(tǒng)中,用戶代碼往往都需要在上電后自動裝載運行。目前,大多數(shù)的內(nèi)部都有固化的引導(dǎo)裝載()程序,它能在系統(tǒng)加電時,自動將一段存儲在外部非易失性存儲器中的程序代碼移植到內(nèi)部的高

2、速存儲器單元中去執(zhí)行。采用這種方式,既可利用外部的存儲單元來擴展本身有限的資源,又充分發(fā)揮了內(nèi)部資源的效能。    因為用戶代碼在一段時間內(nèi)是相對固定的,所以可以將其固化在非易失性存貯器中。而如果將代碼掩膜到內(nèi)部中去一方面要受到容量以及價格的限制,另一方面,系統(tǒng)代碼升級也不是很靈活方便。是一種高密度、非易失性的電可擦寫存儲器,其單位存儲比特的價格比傳統(tǒng)的要低,十分適合低功耗、小尺寸和高性能的脫機系統(tǒng)。此外,除了可以采用專用的硬件編程器把程序代碼燒入中之外,也可以直接利用通過軟件編程來實現(xiàn)。本文論述的正是如何通過軟件編程來實現(xiàn)對的讀寫操作,同時介紹了系統(tǒng)雙引導(dǎo)裝載方

3、案的實現(xiàn)方法。系統(tǒng)描述本系統(tǒng)是基于公司芯片構(gòu)建的數(shù)字音效處理系統(tǒng)中的一部分,整個數(shù)字音效處理系統(tǒng)的系統(tǒng)框圖如圖所示。是一款位通用定點數(shù)字信號處理器。它采用高性能單時鐘指令周期的內(nèi)核和 的音頻處理性能相結(jié)合的方法來實現(xiàn)具有運算速度快()精度高(),外設(shè)接口豐富(具有增強型串行音頻接口、并行主機接口、串行主機接口、數(shù)字音頻接口等),價格低廉等諸多優(yōu)點,特別適用于音頻處理。其位的處理精度配合位的()和位的使得整個系統(tǒng)具有很高的動態(tài)范圍(以上)。它高達的運算速度保證了算法處理的實時性。其增強型串行音頻接口可以很方便地與音頻、直接通過協(xié)議進行連接。通過的并行主機接口可以方便地與負責(zé)鍵盤控制和顯示的單片機

4、進行通信。選用公司的其存儲容量為×,采用供電,讀寫周期為,支持塊擦除與字節(jié)編程,是一款高性價比存儲芯片。與外部的連接示意圖如圖所示。圖中,的腳和的片選信號腳相連。的個地址屬性寄存器是位讀寫寄存器,它們的值可用于控制芯片的引腳的狀態(tài),當(dāng)某個寄存器中的基址與外部訪問指令存取范圍相匹配時,由這個定義的相應(yīng)地址空間(數(shù)據(jù)、數(shù)據(jù)或程序)將被相應(yīng)的線選通。在本系統(tǒng)中,正是把的作為的片選線。腳相應(yīng)的寄存器的值設(shè)為,當(dāng)訪問地址的高位為時,外部被選通。    通過設(shè)置的總線控制寄存器,可以設(shè)置訪問外部存儲器時插入的等待狀態(tài)的個數(shù)。在本系統(tǒng)中,的存取周期為,為了保證的正確讀

5、寫,一般要插入個等待狀態(tài)。的引導(dǎo)過程在內(nèi)部的地址范圍內(nèi)有定制的位字的 。該內(nèi)的引導(dǎo)程序可以通過用戶設(shè)置的引導(dǎo)模式信號線,將用戶程序從外部的位、 接口或者接口引導(dǎo)到內(nèi)部的高速中全速運行。當(dāng)硬件復(fù)位后,它將首先采樣外部的、和信號線,并將它們的狀態(tài)寫入工作模式寄存器 -的、和位,然后使程序指針指向去執(zhí)行引導(dǎo)程序,引導(dǎo)程序通過對的、和位進行判斷來決定選擇哪種引導(dǎo)模式。主要的引導(dǎo)模式如表所列。表1 DSP56362 Bootstrap的引導(dǎo)模式MODDMODCMODBMODA描     述0001從字節(jié)存儲器引導(dǎo)0010跳轉(zhuǎn)到程序ROM起始地址0101從串行主機接

6、口SHI引導(dǎo)(SPI從模式)0110從串行主機接口SHI引導(dǎo)(I2C從模式,時鐘靜止使能)0111從串行主機接口SHI引導(dǎo)(I2C從模式,時鐘靜止關(guān)閉)1001內(nèi)部測試保留1100從并行主機接口HDI08引導(dǎo)(ISA模式)1101從并行主機接口HDI08引導(dǎo)(HC11非復(fù)用模式)1110從并行主機接口HDI08引導(dǎo)(8051復(fù)用總線模式)1111從并行主機接口HDI08引導(dǎo)(68302總線模式)在本系統(tǒng)中,由于程序保存在外部的里,所以采用的引導(dǎo)模式為第一種即從字節(jié)存儲器引導(dǎo)。在這種模式下程序?qū)牡刂诽庨_始加載外部數(shù)據(jù),并采用以下數(shù)據(jù)格式從外部接口下載用戶的系統(tǒng)程序:() 最開始的個字節(jié)用于定義

7、系統(tǒng)程序的總字數(shù)(位)。() 接著的個字節(jié)用于定義系統(tǒng)程序下載到程序存儲器的目的地址。() 其余是用戶的系統(tǒng)程序(每個位的字由三個字節(jié)組成),這些程序?qū)⒋鎯υ诔绦虼鎯ζ鲀?nèi)連續(xù)的地址空間里。引導(dǎo)程序要求系統(tǒng)程序在外部中以地位字節(jié)()在前的順序排列每個位字的個字節(jié)。的引導(dǎo)程序一旦完成數(shù)據(jù)的下載,將馬上跳轉(zhuǎn)到內(nèi)部程序存儲器的起始目的地址開始運行用戶的系統(tǒng)程序。雙引導(dǎo)裝載方法 的片內(nèi)內(nèi)存分配采用增強型哈佛結(jié)構(gòu),片內(nèi)空間可分為程序空間、數(shù)據(jù)空間、數(shù)據(jù)空間,每個空間都有一套獨立的位地址總線和數(shù)據(jù)總線。在缺省情況下,片內(nèi)的分配情況為:程序、 數(shù)據(jù)和 數(shù)據(jù)。通過設(shè)置內(nèi)存切換模式()可以將的數(shù)據(jù)映射到程序中,此

8、時的片內(nèi)分配為:程序、 數(shù)據(jù)和 數(shù)據(jù)??紤]到本系統(tǒng)對程序空間的需求量較大,而數(shù)據(jù)相對較多,且系統(tǒng)對內(nèi)部數(shù)據(jù)的需求并不是很大,因此,將設(shè)置成內(nèi)存切換模式比較好。在內(nèi)存切換模式下()的內(nèi)存映像圖如圖所示。 直接使用引導(dǎo)程序的問題的內(nèi)存切換模式需要通過軟件指令對寄存器進行設(shè)置來實現(xiàn)。由于只有在該指令執(zhí)行后才能生效,這樣就產(chǎn)生了一個矛盾。因為若在系統(tǒng)程序開始時將設(shè)置為內(nèi)存切換模式,那么,往往希望能裝載的程序指令,但是,的引導(dǎo)程序是在系統(tǒng)復(fù)位后立即執(zhí)行的,此時處于缺省()狀態(tài),程序只有,如果此時外部的指令代碼的大小超過了這個限制,引導(dǎo)程序就不能把它們加載進去,而當(dāng)這條設(shè)置指令生效時,雖然的程序空間又增加

9、了,但是引導(dǎo)程序已經(jīng)結(jié)束,因而這的程序空間實際上沒有被利用。另外,從的程序流程可以看出,這個引導(dǎo)程序只能將系統(tǒng)的程序代碼數(shù)據(jù)加載到內(nèi)部的程序,而不能將數(shù)據(jù)加載到內(nèi)部的數(shù)據(jù)、數(shù)據(jù),這樣,那些需要在數(shù)據(jù)區(qū)內(nèi)定義常數(shù)的程序?qū)o法正常運行。 雙引導(dǎo)模式為了解決以上問題,本文提出了一種雙引導(dǎo)模式。具體思路是:在系統(tǒng)程序的開始處,設(shè)計一個用戶自己的引導(dǎo)模塊,用這個模塊先對內(nèi)部的寄存器進行相應(yīng)的內(nèi)存切換設(shè)置,以使內(nèi)部的程序擴大為。然后參照的-引導(dǎo)程序分別對系統(tǒng)的、及區(qū)的數(shù)據(jù)進行加載。同時在將程序燒錄到時采用地址隔離的方式將引導(dǎo)模塊與系統(tǒng)程序分開存放,引導(dǎo)模塊作為一段獨立的程序放在首地址為的存儲區(qū)。于是,對于

10、的引導(dǎo)程序來說,它需要引導(dǎo)的不是整個系統(tǒng)程序,而僅僅是這個引導(dǎo)模塊,另外加載完這個模塊后就立即跳轉(zhuǎn)到內(nèi)部程序中執(zhí)行,此時引導(dǎo)模塊已獲得控制權(quán),它在完成內(nèi)存切換后將繼續(xù)引導(dǎo)系統(tǒng)程序的其他部分。采用這種兩次引導(dǎo)的方法,不但使、區(qū)的數(shù)據(jù)可以按照程序的要求進行初始化,而且的程序指令空間可以預(yù)先設(shè)置成,從而非常巧妙地達到了系統(tǒng)的要求。該雙引導(dǎo)模式的引導(dǎo)模塊程序流程如圖所示。的擦除和讀寫為了使系統(tǒng)能夠脫機運行,應(yīng)當(dāng)把系統(tǒng)程序燒錄到外部中去。除了可以用專用的編程器把代碼燒入中外,還可以用軟件編程的方法由來實現(xiàn)同樣的功能。本系統(tǒng)正是采用這種軟件編程的方法實現(xiàn)對的擦除和讀寫。 地址映射利用擦除和讀寫必然會牽涉到

11、中的地址在中的映射方式。的內(nèi)存映像圖已在圖中給出。本系統(tǒng)采用的是的,其地址范圍為:。假設(shè)的起始地址和的起始地址重合,那么中只有對應(yīng)于外部空間的那部分地址空間才是可見的。為了使能夠訪問全部的外部空間,設(shè)計時必須進行地址重映射。本系統(tǒng)實際用到的的存儲容量不足,也就是說,當(dāng)訪問外部時,真正起作用的地址線是,而高位地址線可以為任意值。因此,可以考慮給訪問地址加一個偏移量,以將的地址空間映射到內(nèi)部數(shù)據(jù)中,映射后的地址范圍是:。重映射后的地址空間落在數(shù)據(jù)的外部保留區(qū)內(nèi),這在中是可見的。 擦除和讀寫過程在將數(shù)據(jù)寫入之前,先要刪除數(shù)據(jù)所在塊,然后才能重新寫入。在擦除和寫操作之前都要執(zhí)行相應(yīng)的命令字序列,即在指

12、定的地址處寫入指定的指令代碼,而讀操作則可以直接進行。的擦除和寫入流程圖分別如圖、圖所示。在本系統(tǒng)中,由于采用了雙引導(dǎo)模式,所以首先要將引導(dǎo)程序?qū)懭耄缓笤俜謩e將用戶程序的區(qū)數(shù)據(jù)、區(qū)數(shù)據(jù)、區(qū)數(shù)據(jù)寫入。在利用軟件編程進行燒錄時,可以從目標(biāo)文件中提取出將要寫入的數(shù)據(jù),然后將這些數(shù)據(jù)打包成一個文件,再在燒錄程序中將這個文件包含進來。接著對燒錄程序進行編譯、鏈接,以產(chǎn)生一個目標(biāo)文件。最后,通過口將目標(biāo)文件下載到中運行,這樣,就會通過其外部數(shù)據(jù)線將打包好的文件中的數(shù)據(jù)寫入。在本系統(tǒng)中,引導(dǎo)程序和用戶程序?qū)⒎执螣霝榇艘謩e將引導(dǎo)程序、用戶程序區(qū)數(shù)據(jù)、用戶程序區(qū)數(shù)據(jù)、用戶程序區(qū)數(shù)據(jù)打包成文件。打包一個文件的具體步驟如下:()調(diào)用公司提供的和程序?qū)υ次募M行編譯、鏈接,以產(chǎn)生一個格式的目標(biāo)文件。()調(diào)用公司提供的程序?qū)⒏袷降哪繕?biāo)文件轉(zhuǎn)換成公司的文件格式,可將目標(biāo)文件中的區(qū)數(shù)據(jù)、區(qū)數(shù)據(jù)、區(qū)數(shù)據(jù)提取出來并生成個文件,其后綴分別為、。()調(diào)用程序?qū)⒏袷降奈募D(zhuǎn)換成格式的文件。()調(diào)用程序?qū)⒏袷降奈募D(zhuǎn)換成文件。這個文件由一系列的數(shù)據(jù)定義指令組成,定義的數(shù)據(jù)依次為系統(tǒng)程序總字節(jié)數(shù)、系統(tǒng)程序起始地址、系統(tǒng)程序?qū)?yīng)的十六進制操作碼,其數(shù)據(jù)結(jié)構(gòu)如圖所示。為了驗證上面方法是否能將引導(dǎo)程序和用戶程序的各部分代碼成功寫入到中,筆者編寫了一個測試程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論