第7章TMS320C54 DSP最小硬件系統(tǒng)設計(上課用)_第1頁
第7章TMS320C54 DSP最小硬件系統(tǒng)設計(上課用)_第2頁
第7章TMS320C54 DSP最小硬件系統(tǒng)設計(上課用)_第3頁
第7章TMS320C54 DSP最小硬件系統(tǒng)設計(上課用)_第4頁
第7章TMS320C54 DSP最小硬件系統(tǒng)設計(上課用)_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第7章章 TMS320C54x DSP最小硬件系統(tǒng)設計最小硬件系統(tǒng)設計 n7.1 TMS320C54x DSP系統(tǒng)的基本硬件設計系統(tǒng)的基本硬件設計 n7.2 存儲器接口設計存儲器接口設計 n7.3 Flash擦寫擦寫 n7.4 Bootloader設計設計 返回首頁 7.1.1 復位電路復位電路 7.1.2 時鐘電路時鐘電路 7.1.3 電源電路電源電路 7.1.1 復位電路復位電路 1. 上電復位 上電復位電路是利用上電復位電路是利用RCRC電路的延遲特性來產(chǎn)生復位所需電路的延遲特性來產(chǎn)生復位所需 要的低電平時間。要的低電平時間。由由RCRC電路和施密特觸發(fā)器組成電路和施密特觸發(fā)器組成。

2、-t/ CC =V(1-e C V 時間常數(shù): = RC 復位時間:t=-RC ln1-VC/VCC 設VC=1.5V為閾值電壓, 選擇R = 100k,C = 4.7F,電源電壓 VCC = 5V,可得復位時間t = 167ms, 滿足系統(tǒng)的晶體振蕩器一般需要100- 200ms的穩(wěn)定期。 簡單方便,但有時不能可靠復位。 5首都師范大學信息工程學院 TMS320C54xTMS320C54x RSRS 1 11 1 C C R R V VCC CC 7474HC14HC14 1ln CC C V V RCt TMS320C54xTMS320C54x RSRS C C R R V VCC CC

3、R R1 1 MAX706TMAX706T MR WDOMR WDO VCC RESET VCC RESET GND WDIGND WDI PFI PFOPFI PFO 1 1 2 2 3 3 4 45 5 6 6 7 7 8 8 RSRS V VCC CC 3.3V 3.3V 至至DSPDSP的復位端的復位端 CLKCLK來自來自DSPDSP的輸出端的輸出端 MR:人工復位輸入。當輸入電壓低于0.6V時,復位比較器輸出有效的復位信號. Vcc:電源端當Vcc低于復位門限電壓時,輸出有效的復位信號,并且當Vcc上 升至復位門限電壓后,復位脈沖維持200ms PFI:門限檢測器輸入端。當PFI端

4、的輸入電壓低于1.25V時,PFO端輸出低電平。 PFI端不用時可與GND端相連。 PFO:門限檢測器輸出端。當PFI端電壓低于比較器門限電壓1.25V時,PFO為低 電平,否則為高電平。 WDI:看門狗輸入當WDI端信號維持高電平或低電平的時間超1.6s時,看門狗定 時器溢出,WDO端輸出低電平。WDI端的任何一個跳變都使定時器清零。 RESET:低電平復位輸出受MR端和Vcc端控制, 當MR端電壓低于0.6V或Vcc端電壓低于復位 門限電壓時,RESET輸出低電平復位脈沖。 WDO:看門狗輸出當電源低于復位門限 或看門狗定時器溢出時,WDO端 輸出低電平,否則為高電平 7.1.2 時鐘電路

5、時鐘電路 采用封裝好的晶體振蕩器,將外部時鐘信號直接加到采用封裝好的晶體振蕩器,將外部時鐘信號直接加到 TMS320C54x DSPTMS320C54x DSP芯片的芯片的X2/CLKINX2/CLKIN引腳,而引腳,而X1X1引腳懸空。引腳懸空。 電路簡單、體積小、頻率范圍寬電路簡單、體積小、頻率范圍寬(1Hz400MHz)(1Hz400MHz)、驅(qū)動、驅(qū)動 能力強、可為多個器件使用。價格便宜,因而得到廣泛應能力強、可為多個器件使用。價格便宜,因而得到廣泛應 用。由于使用了電源,也有人稱其為用。由于使用了電源,也有人稱其為有源晶振電路有源晶振電路。 16首都師范大學信息工程學院 在芯片的在芯

6、片的X1X1和和X2/CLKINX2/CLKIN引腳之間接入一個晶體引腳之間接入一個晶體, ,用于啟動用于啟動 內(nèi)部振蕩器。內(nèi)部振蕩器。 這種電路結(jié)構(gòu)價格便宜、體積小、能滿足時鐘信號電平這種電路結(jié)構(gòu)價格便宜、體積小、能滿足時鐘信號電平 要求,但驅(qū)動能力差,不可提供多個器件使用,頻率范要求,但驅(qū)動能力差,不可提供多個器件使用,頻率范 圍小圍小(20KHz60MHz)(20KHz60MHz),由于其不需要使用外部電源,也叫,由于其不需要使用外部電源,也叫 無源晶振電路無源晶振電路。 17首都師范大學信息工程學院 (1) 硬件配置硬件配置PLL n用于用于C541、C542、C543、C545和和C

7、546芯片。芯片。 n所謂所謂硬件配置硬件配置PLL,就是通過就是通過C54x的的3個引腳個引腳CLKMD1、 CLKMD2和和CLKMD3的狀態(tài),選定時鐘方式的狀態(tài),選定時鐘方式。上電復位時,。上電復位時, TMS320C54x DSP根據(jù)這三個引腳的電平?jīng)Q定根據(jù)這三個引腳的電平?jīng)Q定PLL的工作的工作 狀態(tài),并啟動狀態(tài),并啟動PLL工作,其工作,其PLL的配置方式如表的配置方式如表7.1所示。所示。 由表由表7.1可見,不用可見,不用PLL時,時,CPU的時鐘頻率等于晶體振蕩的時鐘頻率等于晶體振蕩 器頻率或外部時鐘頻率的一半;若用器頻率或外部時鐘頻率的一半;若用PLL,CPU的時鐘頻的時鐘頻

8、 率等于晶體振蕩器頻率或外部時鐘頻率乘以系數(shù)率等于晶體振蕩器頻率或外部時鐘頻率乘以系數(shù)N (PLLN),),使用使用PLL可以使用比可以使用比CPU時鐘低的外部時鐘時鐘低的外部時鐘 信號,以減少高速開關時鐘所造成的高頻噪聲。從而降低信號,以減少高速開關時鐘所造成的高頻噪聲。從而降低 干擾的影響。干擾的影響。 表7.1 硬件PLL的配置方式 引腳狀態(tài)引腳狀態(tài) 時時 鐘鐘 方方 式式* CLKMD1 CLKMD2 CLKMD3 選擇方案 1選擇方案 2 000 用外部時鐘源, PLL3用外部時鐘源, PLL5 110 用外部時鐘源, PLL2用外部時鐘源, PLL4 100 用內(nèi)部振蕩器, PLL

9、3用內(nèi)部振蕩器, PLL5 010 用外部時鐘源, PLL1.5 用外部時鐘源, PLL4.5 001 用外部時鐘源,頻率除以 2用外部時鐘源,頻率除以 2 111 用內(nèi)部振蕩器,頻率除以 2用內(nèi)部振蕩器,頻率除以 2 101 用外部時鐘源, PLL 1用外部時鐘源, PLL 1 011 停止方式*停止方式* *根據(jù)不同器件,選擇方案 1 或者方案 2。 *停止方式:其功能等效于 IDLE3省電方式;但是,要省電還是推薦用 IDLE3指令 而不用停止方式,因為 IDLE3使 PLL 停止工作,復位或非屏蔽中斷到來時可以 恢復工作。 缺點:進行硬件配置時,其工作頻率是固定的,不能靈活改變。 (2

10、) 軟件可編程軟件可編程PLL n軟件可編程軟件可編程PLL具具有高度的靈活性,其時鐘定標器提供各種有高度的靈活性,其時鐘定標器提供各種 時鐘乘法器系數(shù),并能直接接通和關斷時鐘乘法器系數(shù),并能直接接通和關斷PLL。PLL的鎖定定的鎖定定 時器可以用于延遲轉(zhuǎn)換時器可以用于延遲轉(zhuǎn)換PLL的時鐘方式,直到鎖定為止的時鐘方式,直到鎖定為止。通。通 過軟件編程,可以使過軟件編程,可以使軟件軟件PLL實現(xiàn)實現(xiàn)兩種工作方式兩種工作方式(如表(如表7.2 7.4、圖、圖7-3所示)。所示)。 nPLL方式方式,即倍頻方式。,即倍頻方式。 芯片的工作頻率芯片的工作頻率= =輸入時鐘輸入時鐘CLKIN CLKIN

11、 PLL PLL的乘系數(shù)的乘系數(shù)(N).(N).共共 有有3131個乘系數(shù),取值范圍為個乘系數(shù),取值范圍為0.25150.2515。 這是靠這是靠PLLPLL電路來完電路來完 成的。成的。 nDIV方式方式,即分頻方式。,即分頻方式。 對輸入時鐘對輸入時鐘CLKINCLKIN進行進行2 2分頻或分頻或4 4分頻。當采用分頻。當采用DIVDIV方式時,方式時, 所有的模擬電路,包括所有的模擬電路,包括PLLPLL電路都關斷,以使功耗最小。電路都關斷,以使功耗最小。 n上述兩種工作方式通過讀上述兩種工作方式通過讀/ /寫時鐘方式寄存器寫時鐘方式寄存器(CLKMD)(CLKMD)(地址:(地址: 0

12、058H0058H)來完成。)來完成。 表7.2 復位時的時鐘方式(C5402) CLKMD 1 CLKMD 2 CLKMD 3 CLKMD寄存 器 時鐘方式 000E007H乘15,內(nèi)部振蕩器工作,PLL工作 0019007H 乘10,內(nèi)部振蕩器工作,PLL工作 0104007H乘5,內(nèi)部振蕩器工作,PLL工作 1001007H乘2,內(nèi)部振蕩器工作,PLL工作 110F007H乘1,內(nèi)部振蕩器工作,PLL工作 1110000H 乘1/2,內(nèi)部振蕩器工作,PLL不工 作 101F000H 乘1/4,內(nèi)部振蕩器工作,PLL不工 作 011保留 時鐘方式寄存器(CLKMD)各位的定義 151211

13、103210 PLLMULPLLDIVPLLCOUNT PLLON/OFFPLLNDIVPLLSTATUS R/WR/WR/WR/WR/WR 表7.3 時鐘方式寄存器CLKMD各位域功能 位 位 名名 稱 稱 功功 能 能 1512PLLMULPLL 乘數(shù)。讀/寫位。與 PLLDIV以及 PLLNDIV 一起決定頻率的乘數(shù) 11PLLDIVPLL 除數(shù)。讀/寫位。與PLLMUL以及 PLLNDIV一道定義頻率的乘數(shù) 103PLLCOUNT PLL 減法計數(shù)器。讀/寫位。每16個輸入時鐘CLKIN 到來后減 1。 對 PLL 開始工作之后到 PLL 成為處理器時鐘 之前的一段時 間進行計數(shù)定時。

14、PLL 計數(shù)器能夠確保在 PLL 鎖定 之后以正確的時鐘信號加到處理器 2PLLON/OFF PLL通/斷位。讀/寫位。與 PLLDIV 位一道決定時鐘發(fā)生器的PLL 部件的通/斷: PLLON/OFFPLLDIVPLL狀態(tài) 00 斷開 01 工作 10 工作 11 工作 1PLLNDIV PLL時鐘發(fā)生器選擇位。讀/寫位。決定時鐘發(fā)生器的工作方式: PLLNDIV=0采用分頻器(DIV)方式, PLLNDIV=1采用 PLL方式。 與 PLLMUL以及 PLLDIV一道定義頻率的乘數(shù) 0PLLSTATUSPLL的狀態(tài)位。 指示時鐘發(fā)生器的工作方式只讀位。: PLLSTATUS=0分頻器(DI

15、V)方式 PLLSTATUS=1 PLL方式 151211103210 PLLMULPLLDIVPLLCOUNT PLLON/OFFPLLNDIVPLLSTATUS R/WR/WR/WR/WR/WR 表7.4 PLL的系數(shù)組合 PLLNDIVPLLDPLLMULPLL乘系數(shù)乘系數(shù) 0X0140.5 0X150.25 10014PLLMUL+1 10151 110或偶數(shù)或偶數(shù)(PLLMUL+1)2 11奇數(shù)奇數(shù)PLLMUL4 n對時鐘方式寄存器(對時鐘方式寄存器(CLKMD)進行編程,可以進行編程,可以: n(1) 提供各種時鐘乘法器系數(shù) n(2) 控制PLL的接通和關斷 n(3) 控制時鐘發(fā)生

16、器的工作方式 n(4) 自動延遲定時,直到PLL鎖定 n在在PLL鎖定之前,它是不能用作鎖定之前,它是不能用作C54x時鐘的。時鐘的。所所 以,通過對以,通過對CLKMD寄存器中的寄存器中的PLLCOUNT位域位域 編程實現(xiàn)自動延時,直到編程實現(xiàn)自動延時,直到PLL鎖定為止。鎖定為止。PLL的的 鎖定定時器鎖定定時器是一個計數(shù)器,它從是一個計數(shù)器,它從PLLCOUNT位域位域 加載初始值(加載初始值(0255),每),每16個輸入時鐘個輸入時鐘CLKIN 到來后減到來后減1,直到減為,直到減為0為止。因此,為止。因此,鎖定時間鎖定時間設設 置范圍為置范圍為(0255)*16CLKIN周期周期。

17、 圖7-3PLL鎖定時間和CLKOUT頻率的關系 返回本節(jié) 根據(jù)鎖定時間根據(jù)鎖定時間Lockup Time可以求得可以求得PLLCOUNT的數(shù)值:的數(shù)值: PLLCOUNT(十進制)(十進制) Lockup Time( 16TCLKIN) 為了降低芯片功耗,為了降低芯片功耗,TMS320C54xTMS320C54x系列系列DSPDSP芯片大部分都采芯片大部分都采 用低電壓設計,并且采用用低電壓設計,并且采用雙電源供電雙電源供電,即,即內(nèi)核電源(內(nèi)核電源( Cvdd Cvdd )和)和 I/O I/O 電源(電源( Dvdd ) Dvdd ) ,其中,其中I/OI/O電源一般采用電源一般采用 3

18、.3V 3.3V 電壓,而內(nèi)核電源電壓分為電壓,而內(nèi)核電源電壓分為 3.3V 3.3V 或或 2.5V 2.5V 甚至更甚至更 低低,降低內(nèi)核電壓的主要目的還是降低功耗。理想情況,降低內(nèi)核電壓的主要目的還是降低功耗。理想情況 下,兩電源應同時加電。若不能做到同時加電,應先對下,兩電源應同時加電。若不能做到同時加電,應先對 DvddDvdd加電,然后再對加電,然后再對CvddCvdd加電。加電。 32首都師范大學信息工程學院 7.1.3 電源電路電源電路 采用專門的采用專門的DC-DC芯片進行電平轉(zhuǎn)換芯片進行電平轉(zhuǎn)換 n產(chǎn)生電源的芯片:(產(chǎn)生電源的芯片:( nTMS320C54x DSP電源解決

19、方案有幾種:電源解決方案有幾種: MaximMaxim公司的公司的MAX604MAX604、MAX748MAX748。 NC 1RESETNC 1RESET NC NCNC NC 1GND NC1GND NC 1EN FB/SENSE1EN FB/SENSE 1IN 1OUT1IN 1OUT 1IN 1OUT1IN 1OUT NC 2RESETNC 2RESET NC NCNC NC 2GND NC2GND NC 2EN 2SENSE2EN 2SENSE 2IN 2OUT2IN 2OUT 2IN 2OUT2IN 2OUT NC NCNC NC NC NCNC NC C3C3 3333 F F

20、3 3.3 3V V 1 1 2 2 3 3 4 4 5 5 6 6 7 7 9 9 1010 1111 1212 1313 1717 1515 1616 8 8 1414 CVCVDD DD TMS320VC5402TMS320VC5402 DVDVDD DD GNDGND /定義臨時地址指針和數(shù)據(jù)變量 Ad_Temp=(uint*)(0 x55555+OFFSET);/第一個寫周期 *Ad_Temp=0 x00AAH;/給地址0 x5555,寫數(shù)據(jù)0 x00AAH Ad_Temp=(uint*)(0 x2AAA+OFFSET);/第二個寫周期 *Ad_Temp=0 x0055H;/給地址0

21、 x2AAA,寫數(shù)據(jù)0 x0055H Ad_Temp=(uint*)(0 x5555+OFFSET);/第三個寫周期 *Ad_Temp=0 x00A0H;/給地址0 x5555寫數(shù)據(jù)0 x00A0 *Ad=DA;/給編程地址寫編程數(shù)據(jù) 46首都師范大學信息工程學院 Again; Temp1=*Ad/兩次讀D6(ToggleBit) Temp2=*Ad If(Temp1!=Temp2)/判斷是否命令執(zhí)行結(jié)束,否則繼續(xù)讀ToggleBit gotoAgain; 需要注意的是,在DSP將數(shù)據(jù)寫入FLASH之前,只有先 刪除數(shù)據(jù)所在塊,然后才能重新寫入。擦除和寫操作之前 都要執(zhí)行表7.6所示的相應命令

22、字序列。而其前提是FLASH 地址在DSP中是可見的。 47首都師范大學信息工程學院 見教材P161表7.6 TMS320C5416 DSPTMS320C5416 DSP如何實現(xiàn)如何實現(xiàn)對外部對外部FLASHFLASH進行操作進行操作(即地址映(即地址映 射方式)射方式) TMS320C5416TMS320C5416在加電后是在加電后是以數(shù)據(jù)空間來尋址以數(shù)據(jù)空間來尋址FLASHFLASH的,只能的,只能 尋址尋址80008000FFFFHFFFFH外部地址范圍的數(shù)據(jù)。外部地址范圍的數(shù)據(jù)。 在在MP/MC=1MP/MC=1和和OVLYOVLY1 1的情況下,地址的情況下,地址5555H5555H

23、和和2AAAH2AAAH是位是位 于于TMS320C5416 DSPTMS320C5416 DSP內(nèi)部,在外部是不可見的,因此對于內(nèi)部,在外部是不可見的,因此對于 寫寫AAHAAH到到5555H5555H和寫和寫55H55H到到2AAAH2AAAH的操作,其實根本的操作,其實根本未未對對 FLASHFLASH進行操作。進行操作。 由于由于5555H5555H和和2AAAH2AAAH中真正起作用的是中真正起作用的是A0A0A14A14位,位,A15A15 A17A17位可以是任意值,于是加一個偏移量位可以是任意值,于是加一個偏移量8000H8000H。則此時。則此時 5555H5555H變?yōu)樽優(yōu)?/p>

24、D555H,D555H,而而2AAAH2AAAH變?yōu)樽優(yōu)锳AAAHAAAAH,在外部可見,這樣在外部可見,這樣 就可以通過就可以通過TMS320C5416 DSPTMS320C5416 DSP對外部對外部FLASHFLASH進行操作。進行操作。 48首都師范大學信息工程學院 一、Bootload的過程 BootloadBootload就是程序的引導加載就是程序的引導加載 DSPDSP內(nèi)部沒有可編輯的程序存儲器內(nèi)部沒有可編輯的程序存儲器,片上的程序存儲器就是,片上的程序存儲器就是 ROMROM存儲器,它必須在復位期間將外部的程序加載到內(nèi)部存儲器,它必須在復位期間將外部的程序加載到內(nèi)部 RAMRA

25、M之后才能運行。之后才能運行。 在在DSPDSP芯片內(nèi)部的芯片內(nèi)部的ROMROM中,固化有一段小程序,通過這段小中,固化有一段小程序,通過這段小 程序初始化硬件設備、建立內(nèi)存空間的映射圖,最終將用程序初始化硬件設備、建立內(nèi)存空間的映射圖,最終將用 戶程序加載到戶程序加載到RAMRAM中,并跳轉(zhuǎn)到用戶程序的入口地址開始執(zhí)中,并跳轉(zhuǎn)到用戶程序的入口地址開始執(zhí) 行程序。行程序。 1、MS320C54x DSP芯片內(nèi)ROM的引導加載共有并行 EPROM(Flash)、并行I/O、串行口、HPI口和熱自舉五種方 式。49首都師范大學信息工程學院 7.4 Bootloader 設計設計 TMS320C54

26、02 DSPTMS320C5402 DSP片內(nèi)片內(nèi)ROMROM分配表分配表 起始地址起始地址內(nèi)內(nèi) 容容 F000HF000H預留預留 F800HF800H自舉引導程序自舉引導程序 FC00HFC00H256256字字律擴充表律擴充表 FD00HFD00H256256字字A律擴充表律擴充表 FE00HFE00H256256字正弦查找表字正弦查找表 FF00HFF00H預留預留 FF80HFF80H中斷向量表中斷向量表 50首都師范大學信息工程學院 在在BOOTBOOT程序的開始,是一小段初始化程序,其程序片段如下程序的開始,是一小段初始化程序,其程序片段如下: : 00000000:FF80FF

27、80 SSBX INTM ; SSBX INTM ; 屏蔽所有中斷屏蔽所有中斷 LD #0, DP ; LD #0, DP ; 數(shù)據(jù)頁指向數(shù)據(jù)頁指向0 0頁頁 STM #0FFFFH,IFR ; STM #0FFFFH,IFR ; 清空清空 IFR IFR 寄存器寄存器 ORM #02b00H,ST1 ORM #02b00H,ST1 ; ; 設置設置ST1ST1寄存器,其中寄存器,其中XF=1, INTM=1, OVM=1, SXM=1XF=1, INTM=1, OVM=1, SXM=1 ORM #020H, PMST ORM #020H, PMST ; ; 設置設置PMSTPMST,OVLY

28、=1OVLY=1使片內(nèi)使片內(nèi)RAMRAM映射到程序映射到程序/ /數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)。 STM #07fffH,SWWSR STM #07fffH,SWWSR ; ; 設置設置SWWSRSWWSR,等待狀態(tài)為,等待狀態(tài)為7 7個周期個周期 51首都師范大學信息工程學院 初始化程序功能是:使中斷無效(INTM = 1), 內(nèi)部RAM映射到程序/數(shù)據(jù)區(qū)(OVLY=1),對程序和數(shù) 據(jù)區(qū)均設置7個等待狀態(tài)。DROM = 0,這樣數(shù)據(jù)空 間的0 x8000H- 0 xFFFFH映射到外部FLASH使用。 隨后BOOT程序開始選擇BOOT方式,它是根據(jù) 外部設置的不同條件來選擇的,并且有一個先后的 次序 引

29、導加載方式的選擇流程如下圖 52首都師范大學信息工程學院 53首都師范大學信息工程學院 并行加載過程: 54首都師范大學信息工程學院 2、自舉表自舉表 把從把從8000H8000H(假設為(假設為8000H8000H)開始的燒錄到)開始的燒錄到flashflash中的代碼中的代碼 稱為稱為BOOTBOOT表表(自舉表),其數(shù)據(jù)存放格式已被(自舉表),其數(shù)據(jù)存放格式已被BootBoot程序約程序約 定好定好,格式如表格式如表7.87.8所示(見教材所示(見教材P166P166)。 自舉表的首地址內(nèi)容是關鍵字(自舉表的首地址內(nèi)容是關鍵字(08AA08AA或或10AA10AA),加載程序),加載程序

30、 就是根據(jù)它來判斷是就是根據(jù)它來判斷是1616位還是位還是8 8位加載方式;接著的兩個位加載方式;接著的兩個 字是字是SWWSRSWWSR和和BSCRBSCR的值;第四和第五個字是程序代碼執(zhí)行的值;第四和第五個字是程序代碼執(zhí)行 的入口點(即加載以后程序執(zhí)行的首地址);接著是第一的入口點(即加載以后程序執(zhí)行的首地址);接著是第一 段代碼的長度以及它段代碼的長度以及它BOOTBOOT到內(nèi)部到內(nèi)部RAMRAM程序空間的目的地址程序空間的目的地址 ;緊跟著是另一段代碼;依此類推,最后是;緊跟著是另一段代碼;依此類推,最后是0000H0000H,這是,這是 自舉表的結(jié)束標志。自舉表的結(jié)束標志。 55首都

31、師范大學信息工程學院 3、在這種并行加載的過程中,需要注意以下幾點 要求用戶要求用戶程序程序事先事先按按TITI規(guī)定的格式燒寫到外部規(guī)定的格式燒寫到外部FLASHFLASH中中,而,而 且在且在上電時必須把上電時必須把FLASHFLASH配置在數(shù)據(jù)空間配置在數(shù)據(jù)空間; 如果設計的如果設計的DSPDSP系統(tǒng)需要系統(tǒng)需要外接外接SRAMSRAM作為外部數(shù)據(jù)存儲空間,作為外部數(shù)據(jù)存儲空間, 就會就會和和FlashFlash產(chǎn)生地址沖突產(chǎn)生地址沖突。另一方面,當程序全部從。另一方面,當程序全部從 Flash BootFlash Boot到所指定的目的地址以后,用于存放程序的到所指定的目的地址以后,用于

32、存放程序的 FlashFlash在系統(tǒng)的運行過程中就不再起任何作用。在系統(tǒng)的運行過程中就不再起任何作用。 引導程序所能加載的用戶程序最大只能是引導程序所能加載的用戶程序最大只能是48K48K。如果如果在實際在實際 應用中遇到應用中遇到大程序、大數(shù)據(jù)量大程序、大數(shù)據(jù)量, , 超過了這個超過了這個存儲空間存儲空間,用用 戶戶就必須自己重新編寫就必須自己重新編寫B(tài)oot-loaderBoot-loader程序程序,這可以參考,這可以參考 TMS320C54xTMS320C54x的的BootloaderBootloader程序進行編寫。程序進行編寫。 56首都師范大學信息工程學院 二、Bootload

33、的實現(xiàn) 1、并行引導方式的實現(xiàn)有兩種 一種是自己重新編寫所有引導代碼一種是自己重新編寫所有引導代碼,并和用戶程序一起燒,并和用戶程序一起燒 寫在外部程序存儲器寫在外部程序存儲器FLASHFLASH中,在脫機復位時,令中,在脫機復位時,令MP/MC=1MP/MC=1 ,這樣直接從片外,這樣直接從片外FF80HFF80H處開始執(zhí)行自編寫代碼,將用戶代處開始執(zhí)行自編寫代碼,將用戶代 碼搬移到內(nèi)部或外部碼搬移到內(nèi)部或外部RAMRAM程序存儲空間中運行,或者完全不程序存儲空間中運行,或者完全不 用引導程序搬移,直接在用引導程序搬移,直接在FLASHFLASH中運行用戶程序,后者已不中運行用戶程序,后者已

34、不 屬于并行引導的范疇屬于并行引導的范疇。 一種是利用片內(nèi)一種是利用片內(nèi)ROMROM自帶的引導程序自帶的引導程序,在脫機復位時,令,在脫機復位時,令 MP/MC=0 MP/MC=0 來實現(xiàn)。來實現(xiàn)。 57首都師范大學信息工程學院 2、FLASH的燒寫方法 一種是基于專用編程器的燒寫方式,一種是基于專用編程器的燒寫方式,這需要把用戶的這需要把用戶的 .out.out程序轉(zhuǎn)成程序轉(zhuǎn)成.hex.hex格式的加載表,然后燒錄到非易失性格式的加載表,然后燒錄到非易失性 存貯器中,由于現(xiàn)在的存貯器中,由于現(xiàn)在的FLASHFLASH大多是貼片的,無法將大多是貼片的,無法將 FlashFlash存儲器等元器件

35、從電路板上取下來單獨進行編程。存儲器等元器件從電路板上取下來單獨進行編程。 專用編程器的方式已經(jīng)很少采用;專用編程器的方式已經(jīng)很少采用; 一種是基于仿真器連接的一種是基于仿真器連接的JTAGJTAG接口的在線編程方式接口的在線編程方式,有,有 的也叫在系統(tǒng)編程,這種在系統(tǒng)帶電編程的方式不受時的也叫在系統(tǒng)編程,這種在系統(tǒng)帶電編程的方式不受時 間和空間的限制,隨時隨地都可進行,且產(chǎn)品軟件版本間和空間的限制,隨時隨地都可進行,且產(chǎn)品軟件版本 升級容易,目前應用比較普遍。升級容易,目前應用比較普遍。 58首都師范大學信息工程學院 3、BOOT表的組織 一種是利用一種是利用CCSCCS自帶的自帶的hex

36、500.exehex500.exe應用程序來實現(xiàn)應用程序來實現(xiàn)BOOTBOOT表表 的數(shù)據(jù)格式的數(shù)據(jù)格式。 一種是在一種是在FLASHFLASH燒寫的過程中,人為組織燒寫的過程中,人為組織BOOTBOOT表的數(shù)據(jù)格表的數(shù)據(jù)格 式。式。格式如表格式如表7.87.8所示(見教材所示(見教材P166P166)。 59首都師范大學信息工程學院 4、在線編程的具體步驟(假設用戶要生成假設用戶要生成user.outuser.out) (引導表的生成)(引導表的生成) 編譯源文件編譯源文件 修改修改CCSCCS軟件配置,在在軟件配置,在在Project/Build OptionsProject/Build Options界面的界面的 Processor VersionProcessor Version中填入中填入- -v548v548,然后點確定,然后點確定,表示生成的匯,表示生成的匯 編代碼專用于具有增強的引導裝載功能的編代碼專用于具有增強的引導裝載功能的DSPDSP。注意:如果不。注意:如果不 加這個選項,用加這個

評論

0/150

提交評論