




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一個(gè)精確的1秒LED閃爍程序i程序特點(diǎn)本程序使用F2812硬件,控制GPI0F14管腳上的一個(gè)LED做精確的1秒間隔 閃爍,并且程序從Flash啟動(dòng)。2建立工程2.1 文件該工程包含以下文件:r. lyFitstP jt. pjt (Debug)_ dependent Projeels_ Documents二j DSP/BIOS Config_Fries-pj Inc lude圍 rSP2Slx_Adc.hg PSP281 x_Cpu7inters.hE LSP281sDefaultISR.k呈DSP231 s_DEvjm4. h圍 rSP281xDevice h rSP281KlECan.
2、 h3 LSP281sEv.h言DSP231 K_E:3nples, h.司 rSP28! k GlobalProt ctypsE. h rSP281KlGpio-h3 LSP2SlKMcbsp.harSF231K_FiCtrl.h5P5P2SlK_PicV&Gt.h圍 LSP28iK_Sci_hUIjSP2SizSpi_h哥 USF231 sSWrivtit iEIs.hg rSF281K_SysCtrli hg LSF281K_Xintf.hgj LSP281u_XIntrupt.KI Librariesl L3 Source去1 LSF281 k_CodeStartBraiich. as
3、m.酉 LSP281D efaultIs r. c回 DSP2SlK_GlobalVariableDrfs.c棗 rSF261x_Gpio.c頼 LiSF281x_MemCopy. c酉 LSP281x_PieCtrl.c自 DSP231x_FieVect.c希 rSF2Slx_Sy3Ctrl.c目 SF281s_uDeIay. amH1SS3Qjj DSP28 lx_Header s_nonELOS. emd蠱 F2312.cmd注:除了 Ma in .c為自己寫(xiě)的之外,其他均為 F2812DEMO自帶的文件。其中部 分文件做了小小的修改,下文會(huì)詳述2.2 建立工程打開(kāi)CCS3.1,選擇Pr
4、oject New,輸入工程名,這里是 MyFirstPjt,選擇工 程目錄后點(diǎn)擊確定,然后在左側(cè)的工程管理窗口中選中 MyFirstPjt.pjt,右鍵一 添力卩 文件,將下列文件加入工程:LSP2a 1 k CodjeS七337七)工anuh. asm.PSP281k Defultlsrx cP5F2S1XIjSP231kDSF281KD5F2BliP5F2S1KHSP281XIjSP281u(J 1 ob al?ar i ab 1 eD ef s 11 Gpio- cMemCopy cPieCtrL aFieVactp cSysCtrl cusDelay. asumain c孟| D5P
5、 2 31 x_H&ad e r s_ronE LO 5. end -E F2312.cmd然后再次選中 MyFirstPjt.pjt,右鍵一Scan All File Dependencies CCS 系統(tǒng)會(huì)自 動(dòng)搜索關(guān)聯(lián)的文件,特別是.h頭文件,并將所有.h頭文件顯示出來(lái),如下圖所示:2J呂 i=i 二jDependant Ftcijorrtu DuCluiejit i DSP/BIOS Ccntig G cltv al ad. F丄二匕3 IrrluriaDSPSeix Adc. hrSP231EDSF?RlxDSP2lwDSP?61DSF2E ixDSP2SlxDSP2 gDSPeiD
6、SP261KDSP2J; gDSP2eistDSP2ImD5T?eixDSP2S tw DETSeiaLxDSP2S1Ku司三蘭=|=1=1蘭I首i=JCputTimr hDef aultISR hDevEmu-hD導(dǎo)wi匚自亀hEC an. liEm hEKam-plea- hG1 ob a IPr 口七 cit ypes. liGpio 11Mcbsp,hPxaCt r丄丄dV匕匸七h(yuǎn)Scl. h.Spx, hSWPricrltlTedlsrLew SysCt iJL. hXintf.hXInt r-upt. hkiTDS尸26i DSF?E lx DSP?E g rsppfiixCSP2
7、SIkDSP2B inDL;P21i lit DSP朋 LxDSP2HUq de St art Br ajnictiB 口孑血EiRf an 1 Jr,. cG X ob alVa i ab 1 eD erf u Gpio cMemC opy- c FxeCt rl. c Pxe V ec- c?Sys-Ct r 1. c usLie 1 ay. asmL ibrarias畫(huà)S當(dāng)A塞1D3P2B1x_Headers_aonB 10S, endF2812, emd但注意此時(shí)并沒(méi)有完成,還需要設(shè)置編譯環(huán)境:在左側(cè)的工程管理窗口中選中MyFirstPjt.pjt,右鍵一Bulid Options 做
8、如下設(shè)置:Build Opti ons for MyF i retFjt- f?Inrnpil匸i rJrai- I Li OrI 砒 瞰消 I 轉(zhuǎn)肋 I很關(guān)鍵的一個(gè)設(shè)置是必須設(shè)置頭文件的搜索路徑, CCS在編譯時(shí)先搜索安裝目 錄下的頭文件,然后再搜索用戶指定的路徑,如果再找不到,就報(bào)錯(cuò)。 頭文件的搜 索路徑設(shè)置如下:o其中$(Proj_dir)表示工程所在的目錄,這里設(shè)置為“ $(Proj_dir)DSP281x_headersinclude, $(Proj_dir)DSP281x_commoninelude 多個(gè) 路徑中間用逗號(hào)隔開(kāi)。當(dāng)然也可以設(shè)置絕對(duì)路徑,但這樣設(shè)置方便一些,便于在工 程
9、拷貝中不用再更改設(shè)置然后設(shè)置庫(kù)和庫(kù)的搜索路徑:這里使用了 CCS3.1自帶的庫(kù)rts2800_ml.lib,該庫(kù)位于CCS安裝目錄的 C2000cgtoolslib下,此庫(kù)中帶有bootloader的obj文件,以便于與用戶的應(yīng)用程序 連接,大信號(hào)模式下用rts2800_ml.lib,小信號(hào)模式下用rts2800.lib。2.3編譯略,與眾多IDE相似。2.4下載首先確保安裝了 F2812的Flash燒寫(xiě)插件和仿真器的驅(qū)動(dòng),硬件連接好后,按 CTRL+ALT+R以RESET仿真器,按ALT+C連接DSP和PC,點(diǎn)擊CCS上的Tools 下的 F28xx On-Chip Flash Progra
10、mmer即可下載。具體步驟從略。2.5運(yùn)行斷開(kāi)仿真器,上電即可運(yùn)行。具體從略。3 程序詳解3.1 Main.c#i nclude DSP281x_Device.h #in elude DSP281x_Examples.h#i nclude DSP281x_Gpio.h#include DSP281x_XIntrupt.h/ DSP281x Headerfile In clude File / DSP281x Examples In clude File /extern void DSP28x_usDelay(Ui nt32 time);void ma in (void)In itSysCtrl
11、();DisableDog();MemCopy(&Ramfu ncsLoadStart, &Ramfu ncsLoadE nd, & Ramfu ncsR un Start); InitGpio();/初始化 pio, gpiof14 為輸出DINT;IER = 0x0000;IFR = 0x0000;In itPieCtrl();In itPieVectTable();/初始化中斷向量表for(;)GpioDataRegs.GPFTOGGLE.bit.GPIOF14 = 1; /gpiof14 輸出值翻轉(zhuǎn) DELAY_US(0xF4240); / Delay One sec ond _其中:
12、InitSysCtrl()主要用來(lái)配置DSP的時(shí)鐘頻率,該函數(shù)在 DSP281x_SysCtrl.c文件 中;DisableDog ()關(guān)閉看門(mén)狗,函數(shù)也在 DSP281x_SysCtrl.c 中;MemCopy(&Ramfu ncsLoadStart, &Ramf un csLoadE nd, & Ramfu ncsRun Start)這一 句用來(lái)將將Flash中的DSP28x_usDelay()函數(shù)調(diào)入RAM中運(yùn)行,下面將詳解。 3.2閃爍LED的實(shí)現(xiàn)本工程的LED接到GPIOF14的管腳上,使用GPIO來(lái)控制LED的亮滅。InitGpio()用來(lái)初始化GPIO,函數(shù)原型在 Gpio.c中
13、:void Ini tGpio(void)/ Set GPIO A port pin s,AL(Bits 7:0)(i nput)-AH(Bits 15:8) (output) 8bits /In put Qualifier =0, noneEALLOW;GpioMuxRegs.GPFMUX.bit.XF_GPIOF14 = 0;/將/XPLLDIS 配置為I/OGpioMuxRegs.GPFDIR.bit.GPIOF14 = 1;/配置為 outputEDIS;其它的語(yǔ)句:DINT;IER = 0x0000; IFR = 0x0000; In itPieCtrl();In itPieVect
14、Table();/初始化中斷向量表可要可不要,作用從略GpioDataRegs.GPFTOGGLE.bit.GPIOF14 = 1; gpiof14 輸出值翻轉(zhuǎn) 語(yǔ)句的作用是將gpiof14的管腳電平取反,達(dá)到控制 LED閃爍的目的。3.3將Flash中的程序DSP28x_usDelay()調(diào)入RAM中運(yùn)行本程序?yàn)榱藢?shí)現(xiàn)精確的定時(shí),使用了一個(gè)用匯編編寫(xiě)的延時(shí)函數(shù)DSP28x_usDelay(),該函數(shù)在文件DSP281x_usDelay.asm中,細(xì)節(jié)請(qǐng)閱讀該文件。為了調(diào)用該函數(shù),在Ma in .c中做了如下聲明:extern void DSP28x_usDelay(Ui nt32 time)
15、;該函數(shù)的定時(shí)仍然不夠精確,因此在文件DSP281x_Examples.h中做了如下的宏定義修正:#define DELAY_US(A)DSP28x_usDelay(lo ng double) A *1000.0L)/ (longdouble)CPU_RATE) - 9.0L) / 5.0L)函數(shù)DSP28x_usDelay(Uint32 time)要想非常精確,必須在SARAM 中運(yùn)行,因此需要在運(yùn)行時(shí)將其調(diào)入SARAM中。為此,需要做如下工作:首先,在 DSP281x_usDelay.asm 中使用.sect ramfu ncs將該段代碼定義到段ramfuncs中,段ramfuncs的位置
16、在編譯時(shí)指定, 實(shí)際上由F2812.cmd文件中的如下語(yǔ)句來(lái)指定:ramfu ncs LOAD = FLASHD, PAGE = 0,RUN = RAML0, PAGE = 1,LOAD_START(_Ramfu ncsLoadStart), LOAD_END(_Ramfu ncsLoadE nd), RUN_START(_Ramfu ncsRu nStart)第1行表示該段的裝載在 PAGA0的FLASHD中(PAGA0和FLASHD的分段請(qǐng)見(jiàn)F2812.cmd 文件,后文將有詳解);第2行表示該段的運(yùn)行地址在PAGE1的RAML0中(PAGA1和RAML0 的分段請(qǐng)見(jiàn)F2812.cmd文件
17、,后文將有詳解);LOAD_ START(_RamfuncsLoadStart)令編譯器創(chuàng)建了一個(gè)變量RamfuncsLoadStart,該變量指向段ramfuncs的裝載地址的首地址(LOAD_ START為編譯偽指令,請(qǐng)見(jiàn)CCS的幫助文檔);LOAD_ START(_RamfuncsLoadEnd)令編譯器創(chuàng)建了一個(gè)變量RamfuncsLoadEnd,該變量指向段ramfuncs的裝載地址的末地址(LOAD_ END為編譯偽指令,請(qǐng)見(jiàn) CCS的幫助文檔);LOAD_ START(_RamfuncsRunStart)令編譯器創(chuàng)建了一個(gè)變量RamfuncsRunStart,該變量指向段ramf
18、uncs的運(yùn)行地址的首地址(LOAD_ START為編譯偽指令,請(qǐng)見(jiàn) CCS的幫助文檔);從第1和2行可以看出,段ramfuncs中的函數(shù)DSP28x_usDelay()的裝載地址和運(yùn)行地址是 不同的,本程序中裝載在 Flash的塊FLASHD中,而在SARAM L0中運(yùn)行,這只是目標(biāo),實(shí)際 運(yùn)行時(shí)DSP并會(huì)自動(dòng)將Flash中的代碼拷貝到 SARAM中,因此需要手動(dòng)添加代碼來(lái)完成。在 C 函數(shù)中,為了使用變量RamfuncsLoadStart、RamfuncsLoadEnd 和 RamfuncsRunStart,必須先聲明,本工程在文件DSP281x_GlobalPrototypes.h中做了
19、如下聲明:extern Ui nt16 Ramfu ncsLoadStart;extern Uin t16 Ramfu ncsLoadE nd;extern Ui nt16 Ramfu ncsRu nStart;然后就可以使用了。在 Ma in .c中,使用 MemCopy()函數(shù)將段ramfu ncs中的函數(shù) DSP28x_usDelay()的代碼從裝載地址 RamfuncsLoadStart RamfuncsLoadEnd 拷貝到 RamfuncsRunStart開(kāi)始的SARAM 空間中。之后在程序運(yùn)行時(shí),只要調(diào)用DSP28x_usDelay()函數(shù),都會(huì)自動(dòng)地指向 SARAM中相應(yīng)的函數(shù)
20、入口地址,這一點(diǎn)是自動(dòng)完成的。MemCopy()函數(shù)原型在 MemCopy.c 中,在 DSP281x_GlobalPrototypes.h 聲明。注意:即使這樣,定時(shí)仍然可能不精確,因?yàn)榭赡苡兄袛啻驍郉SP28x_usDelay()的運(yùn)行,所以在調(diào)用之前要關(guān)中斷。4 如何從Flash啟動(dòng)4.1 F2812 的 BootLoader 工作原理要讓程序從Flash中啟動(dòng),必須用到DSP的BootLoader。那么什么是 BootLoader 呢?F2812內(nèi)部有一塊ROM稱為On-Chip ROM其結(jié)構(gòu)如圖所示:On-thip boot ROMSection startDaia spacePro
21、g spaceMF FOOD(644h0x3F F502inverse(528 16)N訶們旳胡坤rooi0x3 F F712Main tables and(274 Dt IS)future陀薩閡韜、5K x 16NorngLan0x3F F834(452X !6)0m3F F9ESRourHdtfw and satui Jtion(360X 16)Reserved0x3 F F8500x3F FC00EJootioacier JunctionsROM version1KX 16 Graph Image繪制出一個(gè)漂亮的1.25個(gè)正弦波形。從0x3FFC00到0x3FFFC0固化的有BootLo
22、ader的程序,以及版本號(hào)、校驗(yàn)等 信息。詳情請(qǐng)參考 TI 的“TMS320x281x DSP Boot ROM Referenee Guide(SPRU095B)”。從0x3FFFC0到0x3F FFFF裝載的是復(fù)位向量和 CPU中斷向量。這些向量的映 射在Debug模式下會(huì)映射到不同的位置,詳情請(qǐng)參考TI的“ TMS320x281x DSP Boot ROM Referenee Guide( SPRU095B)”。那么DSP F2812從上電到啟動(dòng)過(guò)程中到底做了哪些工作?1. 上電復(fù)位時(shí),上電運(yùn)行 BootLoader根據(jù)MP/MC引腳的狀態(tài)決定是從片外 的3fffe0處(XINTF Zo
23、ne7)讀取復(fù)位向量或者是從片內(nèi)的 On Chip rom的 3fffe0處讀取復(fù)位向量。MC方式下從片內(nèi)讀取,MP方式下從片外讀取。復(fù)位向量位置見(jiàn)文件 F2812.cmd中的PAGE0:RESET:origin = 0x3FFFC0, length = 0x000002以及:.reset RESET,PAGE = 0, TYPE = DSECT2. 一般我們用的是MC方式,即從片內(nèi)讀取復(fù)位向量,在片內(nèi)的rom 3fffe0處有一個(gè)向量指向了一個(gè)程序InitBoot o實(shí)際上該函數(shù)就從地址3fffe0開(kāi)始。復(fù)位后處理器從3fffe0處讀取3ffe00這個(gè)地址,所以InitBoot程序從3ffe
24、00 處開(kāi)始執(zhí)行。3. 3ffe00處開(kāi)始的就是initboot過(guò)程。首先根據(jù)IO管腳的狀態(tài)判斷該進(jìn)入那 一種引導(dǎo)方式,引導(dǎo)方式有:GPIQF4GPIOF12GPI0F3GPIOF2tSCUKpA)(irtCWM(SHlSTCA)(SP1CLK)PUNqPUNopyWoPyMode SelecEedXXxJump Finish ilddrWDM3F 了FFEYiu niu-bl h 購(gòu)令 pf甲 enirngd 呂 branch insiFucttnn 110(0 i)r;v:A 10 re-diKlexaoutnn mdesiredc1XX EPROM0011Call SCIJKXM1O 2
25、 価til SCl-A0010JUlim IoHOSARaM0k3F 60000001unip to OTP adcinKg 0x30 7800Q00DCaH PmM B4Gt1knd fromGPfO Port B4. 然后根據(jù)不同的引導(dǎo)方式來(lái)引導(dǎo)程序:在SCITXA引腳為高電平時(shí)就是flash boot方式。其它的方式還需要用戶編寫(xiě)引導(dǎo)代碼,詳情見(jiàn)TI的“TMS320x281x DSP Boot ROM Referenee Guide (SPRU095B)”。5. 然后調(diào)用ExitBoot函數(shù),來(lái)配置硬件,設(shè)置寄存器等的初始值,設(shè)置運(yùn)行 環(huán)境等。隨后,此時(shí)置PC=3F7FF6 (內(nèi)部Fla
26、sh引導(dǎo)模式時(shí))。因此地址 0x3F7FF6是用戶程序的入口,見(jiàn) F2812.cmd中:BEGIN:origin = 0x3F7FF6, le ngth = 0x000002和eodestart: BEGINPAGE = 06.在片內(nèi)flash的3F7FF6和3F7FF7處一般會(huì)放有一個(gè)跳轉(zhuǎn)指令。本工程中, 由一段代碼來(lái)完成,見(jiàn)文件 DSP281x_CodeStartBranch.asm作用是先關(guān)閉 看門(mén)狗,然后跳轉(zhuǎn)到c_int00,即LB _c_int00。更具根據(jù)上文,DSP281x_CodeStartBranch.asm的代碼必須從0x3F7FF6開(kāi)始,所以程序中 有這么一句:.sect
27、 codestart7. 執(zhí)行這個(gè)跳轉(zhuǎn)指令后程序就開(kāi)始運(yùn)行 c_int00這個(gè)函數(shù)了,這個(gè)函數(shù)在rts 的庫(kù)中。見(jiàn)CCS的安裝目錄下的C2000cgtoolslibrts.src。實(shí)際上c_int00 執(zhí)行的是boot.asm,8. 這個(gè)函數(shù)就是建立一個(gè)c程序的運(yùn)行環(huán)境,等建立完c運(yùn)行環(huán)境后c_int00 調(diào)用 main 函數(shù),詳情見(jiàn) TI 的“TMS320x281x DSP Boot ROM Referenee Guide(SPRU095B)”中的BootLoader的源代碼。Cnt00可以看作是c程 序的Main函數(shù)入口。9. main函數(shù)開(kāi)始就是我們自己編寫(xiě)的應(yīng)用程序了。實(shí)際上,如果想讓
28、程序從Flash中啟動(dòng),只要硬件配置正確,軟件上只要將代碼 段.text定位到Flash中即可,剩下的全部由編譯器自動(dòng)完成。關(guān)鍵是撰寫(xiě)正確的.cmd 文件。5 CMD文件詳解5.1 DSP281x_Headers_n on BIOS.cmd該文件是為硬件的各種寄存器映射存儲(chǔ)器地址分頁(yè)和分配空間地址,一般是固 定的,用戶無(wú)權(quán)改動(dòng)也不必改動(dòng), 該文件適合在沒(méi)有使用操作系統(tǒng) BIOS時(shí)使用。 使用時(shí)不必改動(dòng)。MEMORY1PAGE 0:/* Program Memory */PAGE 1:/* Data Memory */DEV_EMU:origin = 0x000880, length = 0x0
29、00180/* device emulation registers */PIE_VECT:origin = 0x000D00, length = 0x000100/* PIE Vector Table */FLASH_REGS : origin = 0x000A80, length = 0x000060/* FLASH registers */CSM:origin = 0x000AE0, length = 0x000010/* code security module registers */XINTF:origin = 0x000B20, length = 0x000020/* exter
30、nal interface registers */CPU_TIMER0 :origin = 0x000C00, length = 0x000008/* CPU Timer0 registers (CPU Timer1 and Timer2 arereserved for BIOS)*/PIE_CTRL:origin = 0x000CE0, length = 0x000020/* PIE control registers */ECANA:origin = 0x006000, length = 0x000040/* eCAN control and status registers */ECA
31、NA_LAM:origin = 0x006040, length = 0x000040/* eCAN local acceptance masks */ECANA_MOTS:origin = 0x006080, length = 0x000040/* eCAN message object time stamps */ECANA_MOTO:origin = 0x0060C0, length = 0x000040/* eCAN object time-out registers */ECANA_MBOX:origin = 0x006100, length = 0x000100/* eCAN ma
32、ilboxes */SYSTEM:origin = 0x007010, length = 0x000020/* System control registers */SPIAorigin = 0x007040, length = 0x000010/* SPI registers */SCIA:origin = 0x007050, length = 0x000010/* SCI-A registers */XINTRUPT:origin = 0x007070, length = 0x000010/* external interrupt registers */GPIOMUX:origin =
33、0x0070C0, length = 0x000020/* GPIO mux registers */GPIODAT:origin = 0x0070E0, length = 0x000020/* GPIO data registers */ADC:origin = 0x007100, length = 0x000020/* ADC registers */EVA:origin = 0x007400, length = 0x000040/* Event Manager A registers */EVB:origin = 0x007500, length = 0x000040/* Event M
34、anager B registers */SCIB:origin = 0x007750, length = 0x000010/* SCI-B registers */MCBSPA:origin = 0x007800, length = 0x000040/* McBSP registers */CSM_PWL:origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA. CSM password locations. */SECTIONSPieVectTableFile : PIE_VECT,PAGE = 1/* Peripheral Frame
35、0 Register Structures */: FLASH_REGS, PAGE = 1: CSM,PAGE = 1: XINTF,PAGE = 1FlashRegsFileCsmRegsFileXintfRegsFilePieCtrlRegsFile : PIE_CTRL, PAGE = 1 /* Peripheral Frame 1 Register Structures */: SYSTEM,: SPI A,: SCIA,SysCtrlRegsFile SpiaRegsFile SciaRegsFile XIntruptRegsFile : XINTRUPT,GpioMuxRegsF
36、ile : GPIOMUX, GpioDataRegsFile : GPIODAT AdcRegsFile EvaRegsFile EvbRegsFile ScibRegsFile McbspaRegsFile: ADC,: EVA,: EVB,: SCIB,: MCBSPA,PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1CpuTimerORegsFile : CPU_TIMERO, PAGE = 1PAGE = 1PAGE = 1PAGE = 1PAGE = 1P
37、AGE = 1/* Peripheral Frame 2 Register Structures */ ECanaRegsFile : ECANA, ECanaLAMRegsFile : ECANA_LAM ECanaMboxesFile : ECANA_MBOX ECanaMOTSRegsFile : ECANA_MOTS ECanaMOTORegsFile : ECANA_MOTO/* Code Security Module Register Structures */CsmPwlFile: CSM_PWL,PAGE = 15.2 F2812.cmd:origin = 0x002000,
38、 length = 0x002000:origin = 0x004000, length = 0x002000:origin = 0x008000, length = 0x001000:origin = 0x080000, length = 0x080000:origin = 0x100000, length = 0x080000:origin = 0x3D7800, length = 0x000800:origin = 0x3D8000, length = 0x002000:origin = 0x3DA000, length = 0x002000:origin = 0x3DC000, len
39、gth = 0x004000:origin = 0x3E0000, length = 0x004000:origin = 0x3E4000, length = 0x004000:origin = 0x3E8000, length = 0x004000:origin = 0x3EC000, length = 0x004000:origin = 0x3F0000, length = 0x004000:origin = 0x3F6000, length = 0x001F80:origin = 0x3F7F80, length = 0x000076ZONE0ZONE1RAML0ZONE2ZONE6OT
40、PFLASHJFLASHIFLASHHFLASHGFLASHFFLASHEFLASHDFLASHCFLASHACSM_RSVDwhen CSM is in use. */BEGIN: origin = 0x3F7FF6, length = 0x000002:origin = 0x3F7FF8, length = 0x000008/* Part of FLASHA. CSM password locations in/* ZONE7ROMRESETzone 7 (MP/MCn=1) */VECTORSzone 7 (MP/MCn=1) */PAGE 1 :origin = 0x3FC000, l
41、ength = 0x003FC0:origin = 0x3FF000, length = 0x000FC0:origin = 0x3FFFC0, length = 0x000002:origin = 0x3FFFC2, length = 0x00003E/* XINTF zone 7 available if MP/MCn=1 */* Boot ROM available if MP/MCn=0 */* part of boot ROM (MP/MCn=0) or XINTF/* part of boot ROM (MP/MCn=0) or XINTFRAMM0RAMM1RAML0RAML1F
42、LASHBRAMH0/* Data Memory */* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */ /* Registers remain on PAGE1:origin = 0x000000, length = 0x000400:origin = 0x000400, length = 0x000400:origin = 0x008000, length = 0x001000:origin = 0x009000, length = 0x001000:origin = 0x3F400
43、0, length = 0x002000:origin = 0x3F8000, length = 0x002000/* on-chip RAM block M0 */* on-chip RAM block M1 */* on-chip SARAM block L0 */ /* on-chip SARAM block L1 */ /* on-chip FLASH */* on-chip RAM block H0 */*/MEMORYPAGE 0:/* Program Memory */* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 fo
44、r data allocation */* XINTF zone 0 */* XINTF zone 1 */* on-chip RAM block L0 */* XINTF zone 2 */* XINTF zone 6 */* on-chip OTP */* on-chip FLASH */* on-chip FLASH */* on-chip FLASH */* on-chip FLASH */* on-chip FLASH */ /* on-chip FLASH */* on-chip FLASH */* on-chip FLASH */* on-chip FLASH */* Part
45、of FLASHA. Program with all 0x0000/* Part of FLASHA. Used for boot to Flash bootloader mode.On this mode,when boot is filished,it turns to address 0x3F7FF6 to run */CSM_PWLFLASHA */* Allocate sections to memory blocks.Note:codestart user defined section in DSP28_CodeStartBranch.asm used to redirect
46、code execution when booting to flashramfuncs user defined section to store functions that will be copied from Flash into RAM*/SECTIONS/* Allocate program areas: */.cinit: FLASHAPAGE = 0.pinit: FLASHA,PAGE = 0.text: FLASHAPAGE = 0codestart: BEGINPAGE = 0ramfuncs:LOAD = FLASHD, PAGE = 0,RUN = RAML0, PAGE = 1,LOAD_START(_RamfuncsLoadStart), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童文學(xué)考試題及答案
- 網(wǎng)絡(luò)安全防護(hù)設(shè)備選型試題及答案
- 未來(lái)民主西方政治制度的蛻變?cè)囶}及答案
- 創(chuàng)新網(wǎng)絡(luò)解決方案的探索與試題及答案
- 未來(lái)西方政治制度與氣候變化應(yīng)對(duì)措施試題及答案
- 如何理解公民身份與社會(huì)責(zé)任試題及答案
- 西方社會(huì)運(yùn)動(dòng)與政治改革的試題及答案
- 深入探討西方國(guó)家政治中的性別問(wèn)題試題及答案
- 軟件設(shè)計(jì)師職業(yè)發(fā)展趨勢(shì)試題及答案
- 生態(tài)建設(shè)與公共政策的關(guān)系研究試題及答案
- 2025年基金與投資管理考試試卷及答案
- 書(shū)畫(huà)培訓(xùn)合作合同范本
- 2025年河北省中考乾坤押題卷物理試卷B及答案
- 馬幫運(yùn)輸安全協(xié)議書(shū)
- 2025年安全生產(chǎn)考試題庫(kù)(礦業(yè)行業(yè)安全規(guī)范)試卷
- 中職數(shù)學(xué)拓展模塊課件-正弦型函數(shù)的圖像和性質(zhì)
- 國(guó)家憲法知識(shí)競(jìng)賽題庫(kù)題庫(kù)加答案下載
- 六年級(jí)學(xué)生心理疏導(dǎo)教育
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)2025年第一季度
- 成都設(shè)計(jì)咨詢集團(tuán)有限公司2025年社會(huì)公開(kāi)招聘(19人)筆試參考題庫(kù)附帶答案詳解
- 炎德·英才大聯(lián)考雅禮中學(xué) 2025 屆模擬試卷(一)物理試題及答案
評(píng)論
0/150
提交評(píng)論