多核DSP的BootLoader程序的實(shí)現(xiàn)
每個(gè)DSP子核啟動(dòng)BootLoader程序后,采用哪一種BootLoader程序的工作方式是由各自的GPIO1管腳的狀態(tài)和各自以DMA方式從核外數(shù)據(jù)空間0000H地址單元讀入的數(shù)據(jù)決定的:檢測(cè)GPIO1管腳,如果GPIO1管腳為高電平,則采用串行口EEPROM的BootLoader工作方式,否則采用并行EPROM的BootLoader工作方式。若DSP子核的DMA通道讀入核外數(shù)據(jù)空間0000H單元中的數(shù)據(jù)為10AAH,則采用16位并行EPROM的BootLoader工作方式;若讀入的數(shù)據(jù)為xx08H或xxAAH,則采用8位并行EPROM的BootLoader工作方式。否則將重新判斷GPIO1管腳的電平,進(jìn)入死循環(huán)。
2.3 TMS320VC5421的BootLoader程序片外總線沖突的解決
DSP核的BootLoader程序總是在DSP核上電或復(fù)位時(shí)啟動(dòng),且一啟動(dòng)BootLoader程序,對(duì)應(yīng)的DSP核就要申請(qǐng)核外的總線控制權(quán)。因此為了避免多核DSP的各個(gè)DSP子核啟動(dòng)BootLoader程序時(shí)引起的片外總線沖突,可通過(guò)控制每個(gè)DSP子核的復(fù)位過(guò)程,使每個(gè)DSP子核在不同的時(shí)間內(nèi)啟動(dòng)自身的BootLoader程序來(lái)解決片外總線沖突的問(wèn)題。
為了實(shí)現(xiàn)兩個(gè)DSP子核復(fù)位過(guò)程的分離,應(yīng)采用如圖2所示的DSP子核復(fù)位過(guò)程控制方法。
由于TMS320VC5421中A核擁有倍頻的鎖相環(huán)電路,所以首先復(fù)位A核,啟動(dòng)A核的BootLoader程序,實(shí)現(xiàn)A核的用戶(hù)程序上電自舉。然后再由A核的用戶(hù)程序控制B核的復(fù)位過(guò)程,啟動(dòng)B核的BootLoader程序,實(shí)現(xiàn)B核的用戶(hù)程序上電自舉。
在A核的BootLoader程序執(zhí)行完后,A核就會(huì)執(zhí)行自身的用戶(hù)程序代碼。A核的用戶(hù)程序代碼釋放片外總線的控制權(quán),并且控制B核的復(fù)位管腳,促使B核啟動(dòng)自身的BootLoader程序。如果此時(shí)A核中的用戶(hù)代碼又申請(qǐng)片外總線控制權(quán)或正在使用片外總線,就會(huì)造成片外總線沖突。解決此沖突的辦法有如下兩個(gè):
相關(guān)推薦
-
amine | 2002-05-27
-
-
dailzh | 2003-05-26
-
-
-
dailzh | 2003-10-15
-
-
★被水淹死的魚(yú)★ | 2003-10-21
-
amine | 2002-07-29
-
技術(shù)專(zhuān)區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車(chē)電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論