?? link的cmd文件的作用是什么?.txt
字號:
DSP精華資料
Link的cmd文件的作用是什么?
Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結果是未定位的,DSP沒有操作系統來定位執行代碼,每個客戶設計的DSP系統的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以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進制的文件格式?
DSP的開發軟件集成了一個程序,可以從執行文件OUT轉換到編程器可以接受的格式,使得編程器可以用次文件燒寫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仿真器為什么必須連接目標系統(Target)?
DSP的仿真器同單片機的不同,仿真器中沒有DSP,提供IEEE標準的JTAG口對DSP進行仿真調試,所以仿真器必須有仿真對象,及目標系統。目標系統就是你的產品,上面必須有DSP。仿真器提供JTAG同目標系統的DSP相接,通過DSP實現對整個目標系統的調試。
仿真工作正常對于DSP的基本要求
1) DSP電源和地連接正確。 2)DSP時鐘正確。 3)DSP的主要控制信號,如RS和HOLD信號接高電平。 4)C2000的watchdog關掉。 5)不可屏蔽中斷NMI上拉高電平。
CCS或Emurst運行時提示“Can't Initialize Target DSP”
1) 仿真器連接是否正常? 2)仿真器的I/O設置是否正確? 3)XDSPP仿真器的電源是否正確? 4)目標系統是否正確? 5)仿真器是否正常?6)DSP工作的基本條件是否具備。
建議使用目標板測試。
為什么CCS需要安裝Driver?
CCS是開放的軟件平臺,它可以支持不同的硬件接口,因此不同的硬件接口必須通過標準的Driver同CCS連接。
Link的cmd文件的作用是什么?
Link的cmd文件用于DSP代碼的定位。由于DSP的編譯器的編譯結果是未定位的,DSP沒有操作系統來定位執行代碼,每個客戶設計的DSP系統的配置也不盡相同,因此需要用戶自己定義代碼的安裝位置。以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進制的文件格式?
DSP的開發軟件集成了一個程序,可以從執行文件OUT轉換到編程器可以接受的格式,使得編程器可以用次文件燒寫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語言同主機C語言的主要區別?
1) DSP的C語言是標準的ANSI C,它不包括同外設聯系的擴展部分,如屏幕繪圖等。但在CCS中,為了方便調試,可以將數據通過prinf命令虛擬輸出到主機的屏幕上。 2)DSP的C語言的編譯過程為,C編譯為ASM,再由ASM編譯為OBJ。因此C和ASM的對應關系非常明確,非常便于人工優化。 3)DSP的代碼需要絕對定位;主機的C的代碼有操作系統定位。 4)DSP的C的效率較高,非常適合于嵌入系統。
為什么在CCS下編譯工具工作不正常?
在CCS下有部分客戶會碰到編譯工具工作不正常,常見錯誤為: 1)autoexec.bat的路徑“out of memory”。修改autoexec.bat,清除無用的PATH路徑。 2)編譯的輸出文件(OUT文件)寫保護,無法覆蓋。刪除或修改輸出文件的屬性。 3)Windows有問題。重新安裝windows。 4)Windows下有程序對CCS有影響。建議用一“干凈”的計算機。
在CCS下,如何選擇有效的存儲器空間?
CCS下的存儲器空間最好設置同你的硬件,沒有的存儲器不要有效。這樣便于調試,CCS會發現你調入程序時或程序運行時,是否訪問了無效地址。 1)在GEL文件中設置。參見CCS中的示例。 2)在Option菜單下,選擇Memory Map選項,根據你的硬件設置。注意一定要將Enable Memory Mapping置為使能。
在CCS下,OUT文件加載時提示“Data verification failed...”的原因?
Link的CMD文件分配的地址同GEL或設置的有效地址空間不符。中斷向量定位處或其它代碼、數據段定位處,沒有RAM,無法加載OUT文件。解決方法: 1)調整Link的CMD文件,使得定位段處有RAM。 2)調整存儲器設置,使得RAM區有效。
為什么要使用BIOS?
1)BIOS是Basic I/O System的簡稱,是基本的輸入、輸出管理。 2)用于管理任務的調度,程序實時分析,中斷管理,跟蹤管理和實時數據交換。 3)BIOS是基本的實時系統,使用BIOS可以方便地實現多任務、多進程的時間管理。 4)BIOS是eXpress DSP的標準平臺,要使用eXpress DSP技術,必須使用BIOS。
DSP發展動態
1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建議使用LF24xx系列替代C24x系列,LF24xx系列的價格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。 C28x系列主要用于大存儲設備管理,高性能的控制場合。
2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推薦使用VC33。C3x系列是TI浮點DSP的基礎,不可能停產,但價格不會進一步下調。
3.TMS320C5x TMS320C5x系列已不推薦使用,建議使用C24x或C5000系列替代。
4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。 其中VC54xx還不斷有新的器件出現,如:TMS320VC5471(DSP+ARM7)。 C55x系列是TI的第三代DSP,功耗為VC54xx的1/6,性能為VC54xx的5倍,是一個正在發展的系列。 C5000系列是目前TI DSP的主流DSP,它涵蓋了從低檔到中高檔的應用領域,目前也是用戶最多的系列。
5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高檔DSP系列。 其中C62xx系列是定點的DSP,系列芯片種類較豐富,是主要的應用系列。 C67xx系列是浮點的DSP,用于需要高速浮點處理的領域。 C64xx系列是新發展,性能是C62xx的10倍。
6.OMAP系列 是TI專門用于多媒體領域的芯片,它是C55+ARM9,性能卓越,非常適合于手持設備、Internet終端等多媒體應用。
5V/3.3V如何混接?
TI DSP的發展同集成電路的發展一樣,新的DSP都是3.3V的,但目前還有許多外圍電路是5V的,因此在DSP系統中,經常有5V和3.3V的DSP混接問題。在這些系統中,應注意: 1)DSP輸出給5V的電路(如D/A),無需加任何緩沖電路,可以直接連接。 2)DSP輸入5V的信號(如A/D),由于輸入信號的電壓>4V,超過了DSP的電源電壓,DSP的外部信號沒有保護電路,需要加緩沖,如74LVC245等,將5V信號變換成3.3V的信號。 3)仿真器的JTAG口的信號也必須為3.3V,否則有可能損壞DSP。
為什么要片內RAM大的DSP效率高?
目前DSP發展的片內存儲器RAM越來越大,要設計高效的DSP系統,就應該選擇片內RAM較大的DSP。片內RAM同片外存儲器相比,有以下優點: 1)片內RAM的速度較快,可以保證DSP無等待運行。 2)對于C2000/C3x/C5000系列,部分片內存儲器可以在一個指令周期內訪問兩次,使得指令可以更加高效。 3)片內RAM運行穩定,不受外部的干擾影響,也不會干擾外部。 4)DSP片內多總線,在訪問片內RAM時,不會影響其它總線的訪問,效率較高。
為什么DSP從5V發展成3.3V?
超大規模集成電路的發展從1um,發展到目前的0.1um,芯片的電源電壓也隨之降低,功耗也隨之降低。DSP也同樣從5V發展到目前的3.3V,核心電壓發展到1V。目前主流的DSP的外圍均已發展為3.3V,5V的DSP的價格和功耗都價格,以逐漸被3.3V的DSP取代。
如何選擇DSP的電源芯片?
TMS320LF24xx:TPS7333QD,5V變3.3V,最大500mA。
TMS320VC33: TPS73HD318PWP,5V變3.3V和1.8V,最大750mA。
TMS320VC54xx:TPS73HD318PWP,5V變3.3V和1.8V,最大750mA; TPS73HD301PWP,5V變3.3V和可調,最大750mA。
TMS320VC55xx:TPS73HD301PWP,5V變3.3V和可調,最大750mA。
TMS320C6000: PT6931,TPS56000,最大3A。
軟件等待的如何使用?
DSP的指令周期較快,訪問慢速存儲器或外設時需加入等待。等待分硬件等待和軟件等待,每一個系列的等待不完全相同。
1)對于C2000系列: 硬件等待信號為READY,高電平時不等待。 軟件等待由WSGR寄存器決定,可以加入最多7個等待。其中程序存儲器和數據存儲器及I/O可以分別設置。
2)對于C3x系列: 硬件等待信號為/RDY,低電平是不等待。 軟件等待由總線控制寄存器中的SWW和WTCNY決定,可以加入最多7個等待,但等待是不分段的,除了片內之外全空間有效。
3)對于C5000系列: 硬件等待信號為READY,高電平時不等待。 軟件等待由SWWCR和SWWSR寄存器決定,可以加入最多14個等待。其中程序存儲器、控制程序存儲器和數據存儲器及I/O可以分別設置。
4)對于C6000系列(只限于非同步存儲器或外設): 硬件等待信號為ARDY,高電平時不等待。 軟件等待由外部存儲器接口控制寄存器決定,總線訪問外部存儲器或設備的時序可以設置,可以方便的同異步的存儲器或外設接口。
中斷向量為什么要重定位?
為了方便DSP存儲器的配置,一般DSP的中斷向量可以重新定位,即可以通過設置寄存器放在存儲器空間的任何地方。 注意:C2000的中斷向量不能重定位。
DSP的最高主頻能從芯片型號中獲得嗎?
TI的DSP最高主頻可以從芯片的型號中獲得,但每一個系列不一定相同。
1)TMS320C2000系列:
TMS320F206-最高主頻20MHz。
TMS320C203/C206-最高主頻40MHz。
TMS320F24x-最高主頻20MHz。
TMS320LF24xx-最高主頻30MHz。
TMS320LF24xxA-最高主頻40MHz。
TMS320LF28xx-最高主頻150MHz。
2)TMS320C3x系列:
TMS320C30:最高主頻25MHz。
TMS320C31PQL80:最高主頻40MHz。
TMS320C32PCM60:最高主頻30MHz。
TMS320VC33PGE150:最高主頻75MHz。
3)TMS320C5000系列:
TMS320VC54xx:最高主頻160MHz。
TMS320VC55xx:最高主頻300MHz。
4)TMS320C6000系列:
TMS320C62xx:最高主頻300MHz。
TMS320C67xx:最高主頻230MHz。
TMS320C64xx:最高主頻720MHz。
DSP可以降頻使用嗎?
可以,DSP的主頻均有一定的工作范圍,因此DSP均可以降頻使用。
如何選擇外部時鐘?
DSP的內部指令周期較高,外部晶振的主頻不夠,因此DSP大多數片內均有PLL。但每個系列不盡相同。
1)TMS320C2000系列:
TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部時鐘可以為5MHz-40MHz。
TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部時鐘可以為2.22MHz-40MHz。
TMS320F241/C242/F243:PLL可以×4,因此外部時鐘為5MHz。 TMS320LF24xx:PLL可以由RC調節,因此外部時鐘為4MHz-20MHz。
TMS320LF24xxA:PLL可以由RC調節,因此外部時鐘為4MHz-20MHz。
2)TMS320C3x系列:
TMS320C3x:沒有PLL,因此外部主頻為工作頻率的2倍。
TMS320VC33:PLL可以÷2,×1,×5,因此外部主頻可以為12MHz-100MHz。
3)TMS320C5000系列:
TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為0.625MHz-50MHz。
TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主頻可以為6.25MHz-300MHz。
4)TMS320C6000系列:
TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主頻可以為11.8MHz-300MHz。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -