DSP2812程序運行過程學習總結_第1頁
DSP2812程序運行過程學習總結_第2頁
DSP2812程序運行過程學習總結_第3頁
DSP2812程序運行過程學習總結_第4頁
DSP2812程序運行過程學習總結_第5頁
免費預覽已結束,剩余4頁可下載查看

下載本文檔

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

文檔簡介

1、DSP2812程序運行過程學習總結一、2812的上電運行過程以下是2812上電(復位)后運行過程的描述:1:上電運行時根據MP/MC引腳的狀態決定是從片外的3fffc0處讀取復位向量或者時從片內的rom的3fffc0處讀取復位向量。MC方式下從片內讀取,MP方式下從片外讀取。2:一般我們用的是MC方式,即從片內讀取復位向量,在片內的rom3fffc0處有一個地址為3ffc00o3:復位后處理器從3fffc0處讀取3ffc00這個地址,所以程序從3ffc00處開始執行4:3ffc00處開始的就是iMtboot過程,根據IO管教的狀態判斷該進入那一種引導方式5:在SCITXA引腳為高電平時就是fl

2、ashboot方式,此時置PC=3F7FF6SCITXA引腳有內部上拉,所以只要沒有強制下拉的話,DSP檢測的者B是高電平。對于通訊不影響。SCITXA不用在外部上拉。不能直接接到高電平上。6:在片內flash的3F7FF6和3F7FF7處有一個跳轉指令,該跳轉指令就是LB_c_int007:執行這個跳轉指令后程序就開始運行c_int00這個函數了8:這個函數就是建立一個c程序的運行環境,等建立完c運行環境后c_int00調用main函數9:main函數開始就是我們自己編寫的應用程序了。二、CMD文件介紹DSP開發過程中,編譯器生成的代碼和數據要由鏈接器分配到合適的存儲空間,通常鏈接器的命令文

3、件.cmd文件是由用戶自己編寫的,編寫不當,就會使仿真開發不能進行。1存儲空間的配置TMS320F2812的DSP存儲器分為三個獨立選擇的空間-程序空間、數據空間和I/O空間,其中程序存儲器存放待執行的指令和執行中所用的系數(常數),可使用片內或片外的RAM、ROM或EPROM等來構成;數據存儲器存放指令執行中產生的數據,可使用片內或片外的RAM和ROM來構成;I/O存儲器存放與映象外圍接口相關的數據,也可以作為附加的數據存儲空間使用。表1是TMS320F2812的存儲空間分布。表IMS32UF2S12的存儲空間分布俄地址數據空間0x00000000MC光應RAYi32*32)1MAP=J)(

4、hOIWSAKAMIK*16垢00000400MlSARAMBEGIN,PAGE=0rainfuncsMPRAMH0PAGE=0-textPRAMHD,PAGE=0-cinit-PRAMH0,PAGE=0.pinitPRAMHO,PAGE=0.switch.RAMM0,PAGE=0.resetRESET,PAGE三D,TYPE-DSECT/,萬口力白白J年.stack-ebss.eccnstesysmemPAGE=1PAGE-1PAGE=1PAGE-1CMD文件里有兩個基本的段:初始化段和非初始化段。初始化段包含代碼和常數等必須在DSP上電之后有效的數。故初始化塊必須保存在如片內FLASH等非

5、遺失性存儲器中,非初始化段中含有在程序運行過程中才像變量內寫數據進去,所以非初始化段必須鏈接到易失性存儲器中如RAM。已初始化的段:.text,.cinit,.const,.econst,.pinit和.switch.非初始化的段:.bss,.ebss,.stack,.sysmem,和esysmem.(更好的理解就是,這些段就是存儲空間而已)IONEO:origin-Ji:LC.id,length-0x002000*XINTF工6iw3*ZONEI:origin-.i:L1.i.length-0x002000*XTNTF二口要w2,一RAMLO:origin-0x008000length=0x

6、001000八on-chipRAMblockLO*ZONE2:origin-.:fLi.1.lengthQeOBOOOOXINTFJTGff旨J*Z0WE6:originu:i1,length=0x080000#XINTFZQTi&r才.OTP:originOx3D7BOOrlength-DxoooaonJ*on-chipOTP產FLASHJ:origin.-iii-13,1ength-0x002000-*g0dmFLASH*FLASHI:origin-DxBDAOCOlength=0x002000/*an-chipFLASHFLASHH:origin-Ji:.2.JJrlength-0x00

7、4000”on-chipFLASH&:origin工亡|J#length=0x004000*OJ7-chipFLA1sH*-pFLASHF:origin-Ox3E4000Plength-0004000j*an-chipFLASH*FLASHE:origin.Jr:上,1j,length-0x004000-*on-chip一七生陰*FLASHD:origin=i-i,=OxOD4JOOan-chipFLASH/FLASH。:origin-2F0.JJrlength-XOQ4QOO-reiS工pFLASH*FLASHA:origin,U工3FG0口0.length0x0QIF80J*ou-chip

8、FLASH*FLASHAPAGE=0:FLASHA,PAGE=0:FLASHAPAGE=0:BEGINPAGE=0:LOAD=FLASHD,RUN=RAMLO,LOAD_STABT(_RaiitifuncsLoadStart)LOAD_END(_RamfuncsLoadEnd),RUN_STARr(_iRamfincsRunStart),PAGE=0r-csmpasswdscsmrsvd:CSM_PWL:CSM_RSVDPAGE=PAGE=00Alt&uninitcttabu生;&tackzRAMM口PAGE=.ebss:RAML1PAGE=.esysmem:RAMHOPAGE=111*Imt

9、&Jjz&ds&GtionsgomFl&sh怛FarS7/T7占右力togwro/amth&ymust4.econst:FLASHAPAGE=.switch:FLASHAPAGE-hw00t&dtow產/*Alt.&IQIQmathIQmathTables昆門事?二者.一:FLASHC:ROMPAGE-PAGE=0orTYPE=MOLOAD*用st*M3thCotT春*.resetvectors:RESET,:VECTORSPAGE-PAGE=0,0,TYPE-TYPE-DSECTDSECT對于程序在FLASH中運行時,需要注意的:DSP在150M時鐘頻率下,FLASH中只能提供大約120M的

10、時鐘頻率,所以有時候我們希望在RAM中運行時間敏感或計算量很大的子程序(比如AD采樣)。但是我們所有代碼都放在FLASH中,這就必須在上電后將FLASH中的這段敏感程序復制到RAM中運行,加快速度。這是在.CMD文件就必須劃分一段用來設置RAM的載入和運行地址。程序代碼如下:SECTIONSramfuncs:LOAD=FLASHD,RUN=RAML0,LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),PAGE=0如果.text文件很大將其放在一段放不下,需將其放到兩個程序

11、段中最長的一個length=0x002000,也放不下時.可以這樣處理:PAGE0:PRAMH0:origin=0x3F8002,length=0X0014FEL0RAM:origin=0x008000,length=0x001000SECTIONS.text:*(.text)PRAMH0|L0RAM這樣就可以將.text文件放在兩個定義段中。3、DSP281x_Headers_nonBIOS.cmd-用于無BIOS,外設寄存器產生的數據段映射至對日的存儲器空間MEMORY(PAGEG:由M&niojry弋產PAGE1:一畜&亡#Memary與/DEV_EMU:origin-0x000880,

12、length=0x0001801口加旌上式tlPIEJECT:origin=OxOCODOO,length=0x000100PIEVectorTatFLASH_REGS:origin=OxOOOABO,length=0x000060FLASHCSM:origin=OxOOOAEi,length=OzGOOOlOcodesecuntyXINTF:origin=0000520,length=0x000020/卡externalCPU_TIMERO:origin=OxQij-尸length-0x000008CPUTW建事中RCPU_TIMER1:origin=OxOOOCOS,length=0z00

13、0008八CPUregCPUTIMER2:origin=口笈口口口。1口,length=0x000008CPUTi&r2PIE_CTRL:origin=GxOOOCEO,length-0x000020FIE8登TQlECANA:origin=OkOOSDOO,length=0x000040ECANA_LAM:origin-0x006040,length=0x000040&CAN1,白cal余比ecanaZmots:origin=uxOO6O0O,length=0x000040八自二也Mmess&gecECANA_M0T0:origin=OODtOCO,length=0z000040&CAahj

14、eattiECAKA_MBOX:origin=CkDOb100xlength=0x000100&CANm&jlhox&SYSTEM:origin=0x007010,length=0x000020Syst&rtwo壽tmiSPIA:origin=0x007040,length=0x000010SP1zisterErSCIA:origin=0x007050,length-0x000010/#SCT-AXltTTRUPT:origin=0x007070,length=0x000010工心te工GPIOMEJX:origin=OxOOVOCO,length-0x000020/常GPIO商”舅r&gis

15、GPIODAT:origin=OxQ070E0length-0x000020GPIOdatqMeg工ADC:origin=0x007100length=0x000020ADCregistersEVA:origin=0007400,length-0x000040八EventManagerEVB:origin=0x007500,length=0x000040X*Event抬目鼻mqwrSCIB:origin=0x007750,length=OscOOOOlOX*SCI-Breist&2MCBSPA:origin=0x007800,length=0x000040MgBSP:regi言t.包王CSM_

16、PWL:origin-u3F7FF3,length=0x000008FrtofFLASHYSECTIONS(PieVectTableFile:PIE_VECTZPAGE=1*PeripheralFrme0RegisterStruct。res友友/DevEmuRegsFile:DEV_EMU,PAGE=1FlashRegsFile:FLASH_REGS,PAGE=1CsmRegsFile:CSM,PAGE=1XintfRegsFile:XINTF,PAGE=1CpuTimerORegsFile:CPU_TIMERO,PAGE=1CpuTimerlRegsFile:CPU_TIMER1,PAGE=

17、1CpuTimer2RegsFile:CPU_TIMER2,PAGE=1PieCtrlRegsFile:PIE_CTRL,PAGE=1*PeripheralFrdjae1RegisterStructuires*華,E2anaRegsFile:ECANA,PAGE=1E2anaLAMRegsFile:ECANA_LAMPAGE=1E2anaMboxesFile:ECANA_MBOXPAGE=1E2anaMOTSRegsFile:ECANA_MOTSPAGE-1E2anaMOTORegsFile:ECANA_MOTOPAGE=1,*PeripheralFrsme,?RegisterStructures*華,SysCtrlRegsFile:SYSTEM,PAGE=1SpiaRegsFile:SPIA,PAGE=1SciaRegsFile:SCIArPAGE=1XI

溫馨提示

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

評論

0/150

提交評論