資源描述:
《程序基本結(jié)構(gòu)ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、DSP程序基本結(jié)構(gòu)主要文件程序入口(main.c等)連接命令文件(*.cmd)TargetConfiguration文件C運行文件庫(rtsXXX.lib)Vector.asm程序入口即CPU啟動或復位后開始執(zhí)行的程序地址默認程序入口地址0000_c_int00_main地址0000_c_int00在rtsxxx.lib庫中c_int00()函數(shù)完成:初始化堆棧指針和頁指針初始化全局變量最后調(diào)用main()_main設(shè)置入口地址Projectproperties->Built->C6000Linker->AdvanceOptions->SymbolManagement主要文件程序入口(ma
2、in.c等)連接命令文件(*.cmd)TargetConfiguration文件C運行文件庫(rtsXXX.lib)Vector.asm-lrts67plus.lib-ldsp67x.lib-levmomapl137bsl.lib-stack0x00001000/*StackSize*/-heap0x00001000/*HeapSize*/MEMORY{AIS:o=0x11800000l=0x00005000DSPRAM:o=0x11805000l=0x00035000}SECTIONS{.vecs>DSPRAM/*中斷向量表*/.bss>DSPRAM/*全局變量和靜態(tài)變量*/.cinit
3、>DSPRAM/*變量初值表*/.cio>DSPRAM/*用于stdio函數(shù)*/.const>DSPRAM/*常數(shù)和字符串*/.stack>DSPRAM/*堆棧*/.system>DSPRAM/*用動態(tài)分配內(nèi)存,有malloc等函數(shù)才會出現(xiàn)*/.text>DSPRAM/*程序代碼*/.switch>DSPRAM/*用于大型switch語句跳轉(zhuǎn)表*/.far>DSPRAM/*以far申明的全局變量和靜態(tài)變量*/.my_data>AIS}#pragma#pragmaDATA_SECTION(GlobalBuf,”.my_data”)#pragmaDATA_ALIGN(GlobalBuf,4);
4、intfarGlobalBuf[2048];#pragmaCODE_SECTION(myFunc,”.my_code”)voidmyFunc(inta,intb){}主要文件程序入口(main.c等)連接命令文件(*.cmd)TargetConfiguration文件C運行文件庫(rtsXXX.lib)Vector.asm主要文件程序入口(main.c等)連接命令文件(*.cmd)TargetConfiguration文件C運行文件庫(rtsXXX.lib)Vector.asm---------------------------------------------------------
5、---------------------.sect".vecs".align1024_intcVectorTable:_vector0:VEC_ENTRY_c_int00;RESET_vector1:VEC_ENTRY_vec_dummy;NMI_vector2:VEC_ENTRY_vec_dummy;RSVD_vector3:VEC_ENTRY_vec_dummy_vector4:VEC_ENTRY_vec_dummy_vector5:VEC_ENTRY_vec_dummy_vector6:VEC_ENTRY_vec_dummy;_isrIps_vector7:VEC_ENTRY_ve
6、c_dummy_vector8:VEC_ENTRY_isrAdda_vector9:VEC_ENTRY_isrUart_vector10:VEC_ENTRY_vec_dummy_vector11:VEC_ENTRY_vec_dummy_vector12:VEC_ENTRY_vec_dummy_vector13:VEC_ENTRY_vec_dummy_vector14:VEC_ENTRY_vec_dummy_vector15:VEC_ENTRY_vec_dummy標簽(TAG):DSP連接器在C應(yīng)用程序項目中,連接命令文件是最重要的,在編寫連接命令之前,應(yīng)首先了解3個基礎(chǔ)知識:C6000的存
7、儲器映射,C6000編譯器的C環(huán)境實現(xiàn)和COFF文件格式以及連接器的使用。1.基礎(chǔ)之一:C6000的存儲映射(C6201)在C60004G地址空間內(nèi),程序和數(shù)據(jù)的存放并不是隨意的。要正確合理地安排程序和數(shù)據(jù)的存放地址,就必須了解C6000的存儲器地址映射。編譯器生成的代碼段一般以.text為段名,所有其他的段都可以看做是數(shù)據(jù)段2.基礎(chǔ)之二:COFF文件格式和C6000編譯器的C環(huán)境實現(xiàn)TI代碼產(chǎn)生工具產(chǎn)生的目標文件是一種