• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 如何基于TMS320C6678設計多核DSP上電加載技術?

    如何基于TMS320C6678設計多核DSP上電加載技術?

    作者: 時間:2018-08-02 來源:網絡 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/201808/385127.htm

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

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

    需要注意的是,由于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所示。

    4 輔助核的觸發

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

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

    5 結語

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

    作者 劉章文,劉七華,謝川林,袁學文


    上一頁 1 2 下一頁

    關鍵詞: TMS320C6678 DSP

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 永丰县| 丰城市| 旬阳县| 准格尔旗| 石柱| 武威市| 卓尼县| 宜兴市| 靖边县| 辽宁省| 东光县| 金平| 黄梅县| 巴楚县| 麻城市| 南雄市| 永嘉县| 德江县| 栖霞市| 威信县| 东城区| 平阳县| 岳阳县| 潼关县| 千阳县| 綦江县| 星子县| 杭州市| 渝中区| 云和县| 丽江市| 繁昌县| 潞西市| 汝阳县| 临夏县| 仙游县| 新泰市| 龙游县| 博野县| 嘉荫县| 桐庐县|