新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于TMS320C6678 的多核DSP 上電加載技術

        基于TMS320C6678 的多核DSP 上電加載技術

        作者: 時間:2014-01-19 來源:網絡 收藏
        ; text-indent: 2em; font-family: 宋體, Georgia, verdana, serif; ">同表1相比,表2僅僅只是增加了所有輔助核數據段和各核的_C_int00特殊數據段而已,表頭和結束字節都相同,因此完全適用于二級Loader按統一Boot Table格式搬移數據。需特別注意,各輔助核的out文件通過hex6x.exe 產生的根表數據段中,當映射到L2(0×00800000~0x0087FFFF)的范圍時,與Core0 的地址是相互覆蓋的,產生合成根表時必須加上各核的L2基地址0×10000000 + n*0×1000000(n 為輔助核號),如Core1 的地址0×00825000,映射為0×11825000,同樣地址Core2映射為0×12825000,Core7映射為0×17825000.

        本文引用地址:http://www.104case.com/article/226799.htm

        3 二級Loader 程序和FLASH燒寫程序

        二級Loader 是一段小代碼程序,其功能就是將FLASH 的根表數據如圖1 中從0×70000400 開始按表2的格式保存的數據搬移到的RAM中。該Loader比較簡單,一般是一小段匯編代碼,代碼如下:

        基于TMS320C6678 的多核DSP 上電加載技術

        需要注意的是,由于DDR 沒有初始化,所以二級Loader不能加載DDR數據,DDR只作數據存儲器用,確實要加載到DDR中,只能將DDR數據存在FLASH一指定段中,待Core0運行開始初始化DDR 后,將該數據讀到RAM中。

        對于FLASH 的燒寫程序,主要任務就是把多核的合成文件燒寫到外部Emif16 NOR-FLASH 存儲器中。

        由于TI大部分的Emif并口加載都是開放式的,開發者完全可以根據自己的思路和格式來產生和燒寫映像文件,故燒寫器TI公司是不提供的。其實,一旦合成根表文件產生后,燒寫器也顯得容易了。燒寫器一般使用輸出legacy COFF格式的CCS工程即可。從圖1的加載過程看,要燒寫的映像文件內容包括二級加載器Loader的代碼和表2 的根表文件兩部分。二級Loader可以放到燒寫器的開頭main()函數之前,也可以放到Core0的應用程序同樣位置,本研究采用前者,將二級Loader代碼映射到燒寫工程中指定的存儲器。boot_load段。燒寫器的編程流程如圖2所示。

        基于TMS320C6678 的多核DSP 上電加載技術

        4 輔助核的觸發

        多核的加載,如果圖1 中僅僅只是進入Core0 的_C_int00地址運行而其他核還未激活,加載仍然是失敗的。輔助核的觸發,必須兩個條件,一是將各核工程的入口地址_C_int00 寫到各核的Boot Magic Address 處;二是向各核的核間中斷觸發寄存器IPCx(1

        一旦輔助核被觸發,在輔助核應用程序中,須向各自核的Boot Magic Address 寫入數據0xbabeface 替換各自的_C_int00.

        5 結語

        多核 加載是一項比較復雜但又很重要的過程,也是多核技術的應用難點之一,一個多核開發人員,如果要成功走向應用,上電加載這一關是必須要過的。各核的應用工程可以是輸出elf格式sysbios工程,也可以不是sysbios 工程。上面的多核Emif16NOR-FLASH 加載方法,在自研的C6678 圖像信號處理系統中已成功加載。


        上一頁 1 2 下一頁

        關鍵詞: TMS320C6678 DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 襄垣县| 内丘县| 沂源县| 宁强县| 革吉县| 宿松县| 徐水县| 逊克县| 鄂州市| 平果县| 南部县| SHOW| 泗阳县| 青田县| 肥西县| 东乌珠穆沁旗| 玉田县| 普兰县| 光山县| 通山县| 密山市| 怀仁县| 忻城县| 金门县| 阿尔山市| 丰宁| 沾益县| 潢川县| 体育| 洛阳市| 乌苏市| 宝应县| 枝江市| 藁城市| 新余市| 安丘市| 叙永县| 盐亭县| 清丰县| 泰州市| 平原县|