<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

DSP入門(mén)導讀(2)

——
作者: 時(shí)間:2007-10-29 來(lái)源:嵌入式技術(shù)網(wǎng) 收藏
仿真器為什么必須連接目標系統(Target)? 

的仿真器同單片機的不同,仿真器中沒(méi)有,提供IEEE標準的JTAG口對DSP進(jìn)行仿真調試,所以仿真器必須有仿真對象,及目標系統。目標系統就是你的產(chǎn)品,上面必須有DSP。仿真器提供JTAG同目標系統的DSP相接,通過(guò)DSP實(shí)現對整個(gè)目標系統的調試。 



仿真工作正常對于DSP的基本要求 
1)DSP電源和地連接正確。 
2)DSP時(shí)鐘正確。 
3)DSP的主要控制信號,如RS和HOLD信號接高電平。 
4)C2000的watchdog關(guān)掉。 
5)不可屏蔽中斷NMI上拉高電平。   


CCS或Emurst運行時(shí)提示“Can't Initialize Target DSP” 
1)仿真器連接是否正常? 
2)仿真器的I/O設置是否正確? 
3)XDSPP仿真器的電源是否正確? 
4)目標系統是否正確? 
5)仿真器是否正常?
6)DSP工作的基本條件是否具備。 
建議使用目標板測試。   



為什么CCS需要安裝Driver? 

CCS是開(kāi)放的軟件平臺,它可以支持不同的硬件接口,因此不同的硬件接口必須通過(guò)標準的Driver同CCS連接。     Link的cmd文件的作用是什么? Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結果是未定位的,DSP沒(méi)有操作系統來(lái)定位執行代碼,每個(gè)客戶(hù)設計的DSP系統的配置也不盡相同,因此需要用戶(hù)自己定義代碼的安裝位置。以C5000為例,基本格式為: 
-o sample.out 
-m sample.map 
-stack 100 
sample.obj meminit.obj 
-l rts.lib 
MEMORY { 
   PAGE 0: VECT: origin = 0xff80, length 0x80 
   PAGE 0: PROG: origin = 0x2000, length 0x400 
   PAGE 1: DATA: origin = 0x800, length 0x400 

SECTIONS { 
   .vectors : {} >PROG PAGE 0 
   .text : {} >PROG PAGE 0 
   .data : {} >PROG PAGE 0 
   .cinit : {} >PROG PAGE 0 
   .bss : {} >DATA PAGE 1 
}   



如何將OUT文件轉換為16進(jìn)制的文件格式? 

DSP的開(kāi)發(fā)軟件集成了一個(gè)程序,可以從執行文件OUT轉換到編程器可以接受的格式,使得編程器可以用次文件燒寫(xiě)EPROM或Flash。對于 C2000的程序為DSPHEX;對于C3x程序為HEX30;對于C54x程序為HEX500;對于C55x程序為HEX55;對于C6x程序為 Hex6x。以C32為例,基本格式為: 
sample.out 
-x 
-memwidth 8 
-bootorg 900000h 
-iostrb 0h 
-strb0 03f0000h 
-strb1 01f0000h 
-o sample.hex 
ROMS { 
   EPROM: org = 0x900000,len=0x02000,romwidth=8 

SECTIONS { 
   .text: paddr=boot 
   .data: paddr=boot 
}     


DSP的C語(yǔ)言同主機C語(yǔ)言的主要區別? 

1)DSP的C語(yǔ)言是標準的ANSI C,它不包括同外設聯(lián)系的擴展部分,如屏幕繪圖等。但在CCS中,為了方便調試,可以將數據通過(guò)prinf命令虛擬輸出到主機的屏幕上。 
2)DSP的C語(yǔ)言的編譯過(guò)程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對應關(guān)系非常明確,非常便于人工優(yōu)化。 
3)DSP的代碼需要絕對定位;主機的C的代碼有操作系統定位。 
4)DSP的C的效率較高,非常適合于嵌入系統。   



為什么在CCS下編譯工具工作不正常? 

在CCS下有部分客戶(hù)會(huì )碰到編譯工具工作不正常,常見(jiàn)錯誤為: 
1)autoexec.bat的路徑“out of memory”。修改autoexec.bat,清除無(wú)用的PATH路徑。 
2)編譯的輸出文件(OUT文件)寫(xiě)保護,無(wú)法覆蓋。刪除或修改輸出文件的屬性。 
3)Windows有問(wèn)題。重新安裝windows。 
4)Windows下有程序對CCS有影響。建議用一“干凈”的計算機。   



在CCS下,如何選擇有效的存儲器空間? 

CCS下的存儲器空間最好設置同你的硬件,沒(méi)有的存儲器不要有效。這樣便于調試,CCS會(huì )發(fā)現你調入程序時(shí)或程序運行時(shí),是否訪(fǎng)問(wèn)了無(wú)效地址。 
1)在GEL文件中設置。參見(jiàn)CCS中的示例。 
2)在Option菜單下,選擇Memory Map選項,根據你的硬件設置。注意一定要將Enable Memory Mapping置為使能。   




在CCS下,OUT文件加載時(shí)提示“Data verification failed...”的原因? 

Link的CMD文件分配的地址同GEL或設置的有效地址空間不符。中斷向量定位處或其它代碼、數據段定位處,沒(méi)有RAM,無(wú)法加載OUT文件。解決方法: 
1)調整Link的CMD文件,使得定位段處有RAM。 
2)調整存儲器設置,使得RAM區有效。   



為什么要使用BIOS? 

1)BIOS是Basic I/O System的簡(jiǎn)稱(chēng),是基本的輸入、輸出管理。 
2)用于管理任務(wù)的調度,程序實(shí)時(shí)分析,中斷管理,跟蹤管理和實(shí)時(shí)數據交換。 
3)BIOS是基本的實(shí)時(shí)系統,使用BIOS可以方便地實(shí)現多任務(wù)、多進(jìn)程的時(shí)間管理。 
4)BIOS是eXpress DSP的標準平臺,要使用eXpress DSP技術(shù),必須使用BIOS。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: DSP 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>