多核DSP的BootLoader程序的實現(xiàn)
每個DSP子核啟動BootLoader程序后,采用哪一種BootLoader程序的工作方式是由各自的GPIO1管腳的狀態(tài)和各自以DMA方式從核外數(shù)據(jù)空間0000H地址單元讀入的數(shù)據(jù)決定的:檢測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管腳的電平,進入死循環(huán)。
2.3 TMS320VC5421的BootLoader程序片外總線沖突的解決
DSP核的BootLoader程序總是在DSP核上電或復位時啟動,且一啟動BootLoader程序,對應的DSP核就要申請核外的總線控制權。因此為了避免多核DSP的各個DSP子核啟動BootLoader程序時引起的片外總線沖突,可通過控制每個DSP子核的復位過程,使每個DSP子核在不同的時間內啟動自身的BootLoader程序來解決片外總線沖突的問題。
為了實現(xiàn)兩個DSP子核復位過程的分離,應采用如圖2所示的DSP子核復位過程控制方法。
由于TMS320VC5421中A核擁有倍頻的鎖相環(huán)電路,所以首先復位A核,啟動A核的BootLoader程序,實現(xiàn)A核的用戶程序上電自舉。然后再由A核的用戶程序控制B核的復位過程,啟動B核的BootLoader程序,實現(xiàn)B核的用戶程序上電自舉。
在A核的BootLoader程序執(zhí)行完后,A核就會執(zhí)行自身的用戶程序代碼。A核的用戶程序代碼釋放片外總線的控制權,并且控制B核的復位管腳,促使B核啟動自身的BootLoader程序。如果此時A核中的用戶代碼又申請片外總線控制權或正在使用片外總線,就會造成片外總線沖突。解決此沖突的辦法有如下兩個:
評論