《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于TMS320C6455的大尺寸非連續代碼加載方法
基于TMS320C6455的大尺寸非連續代碼加載方法
來源:電子技術應用2012年第11期
邵 龍1,劉金山2
1.中國電子科技集團公司第十研究所,四川 成都610036; 2.中國人民解放軍95899部隊,北京100085
摘要: 在分析傳統加載方法加載大尺寸非連續代碼存在的缺陷的基礎上,提出了三級加載方法,并詳細介紹了該方法在TMS320C6455平臺上的設計與實現。三級加載方法很好地解決了大尺寸非連續的代碼加載中Flash存儲空間利用率低、代碼通用性差的問題,已在重大工程項目中得到應用。
中圖分類號: TP399
文獻標識碼: B
文章編號: 0258-7998(2012)11-0026-02
The loader method for large-size non-continuous code based on TMS320C6455
Shao Long1,Liu Jinshan2
1.The 10th Institute of China Electronic Technology Group Corporation, Chengdu 610036,China; 2.The Chinese PLA No95899 Troops,Beijing 100085,China
Abstract: Based on the analysis of the drawbacks of the conventional boot loader to load large-size non-continuous code, the paper creatively advances the tertiary boot loader, and describes in detail the design and implementation of this boot loader method in the TMS320C6455 platform. In the case of large-size non-contiguous code is loaded, the tertiary boot loader is a very good method to improve the low utilization of the Flash storage space and bad universalization of the boot loader code, and has been applied in major projects.
Key words : TMS320C6455;Flash;large-size non-continuous code;tertiary boot loader

    TMS320C6455(以下簡寫為C6455)是德州儀器(TI)公司的高性能數字信號處理芯片(DSP),在我國很多行業都得到了大規模的應用。在絕大多數應用中,都需要將C6455應用程序燒寫到Flash中以實現系統自啟動。系統上電后,C6455會自動將Flash起始位置的1 KB的代碼加載到內部RAM[1],而對于C6455這種高性能的DSP,應用程序代碼會遠遠大于1 KB,為此,TI公司提供了二級加載的解決方案。二級加載就是在前1 KB空間中存儲EMIF配置和程序拷貝代碼,用于將應用程序從片外Flash搬移到片內RAM或片外RAM。搬完后,再跳轉到應用程序的起始地址,執行應用程序[2]。二級加載解決大尺寸應用程序代碼的加載問題,主要應用于程序代碼在RAM中的地址連續或者接近連續的情況。

1 新問題
    在實際的典型應用中,C6455將外接64 MB的DDR,其基地址為0xE0000000。應用程序一部分置于內部RAM中,還有一部分(如通信協議)則置于DDR中,如圖1所示。

    應用程序代碼存放在0x00810000~0x009FFFFF的片內RAM中,協議棧的堆(HEAP)空間則放在0xE0000000~0xE27FFFFF的DDR中,協議棧代碼空間被分配在0XE2800000~0XE3FFFFFF的DDR內。按照TI公司提供的二級加載,理論上可以有兩種實現方案:
    (1)方案1:直接移植TI的 BootLoader的示例程序。TI公司的BootLoader示例程序采用匯編代碼編寫,主要分為EMIF初始化、代碼搬移和程序跳轉三部分。代碼搬移是從Flash搬移到片內RAM,而本應用還需要搬移一部分代碼到DDR,需要增加PLL和DDR初始化代碼。其程序流程如圖2所示。

    (2)方案2:重寫BootLoader代碼。重寫BootLoader程序代碼,依據存儲器分段情況進行分段加載。首先初始化PLL、EMIF和DDR;然后將應用程序代碼搬入內部RAM、把協議棧和用戶數據搬入DDR;最后跳轉到C代碼的入口地址開始執行。其程序流程如圖3所示。
    方案1實現起來軟件更改較少,實現較容易,但需要的Flash存儲器的資源比較多,按照圖1所示的分配,0xE4000000-0x810000=0xE37F0000,需要3.8 GB的Flash來存儲代碼,顯然是不合理的;方案2需要大于60 MB的Flash資源,存儲器資源開銷可以接受,但是由于限制在1 KB的程序空間,受在1 KB程序空間內要實現PLL初始化、EMIF初始化、DDR2初始化以及分段拷貝功能空間的限制,代碼優化難度巨大。
    由此可見,方案1除了對硬件資源非常浪費外,由于加載的無效代碼量大,加載速度很慢;方案2雖然對Flash資源的消耗大大降低,啟動速度也會相應加快,但是代碼本身的開發難度比較大,而且沒有可擴展性。因此,本文提出三級加載的方法。
2 三級加載方案
    三級加載Flash空間分配如圖4所示,總共需要用到的Flash空間資源為20 MB多。DSP代碼分為三級結構:第一級是TI公司提供的二次加載BootLoader解決方案;第二級是3次加載的管理程序manager;第三級為應用程序代碼app。

    (1)第一級加載
    系統上電后,6455自動加載1 KB的BootLoader代碼到0x00800000~0x00800400內部RAM中,開始執行BootLoader代碼。
    (2)第二級加載
    BootLoader配置EMIF,將manager代碼加載到0x00800400~0x00810000內部RAM中,開始執行manager代碼。BootLoader程序流程如圖5所示。
    (3)第三級加載
    Manager代碼初始化PLL、EMIF和DDR,接著將應用程序代碼搬入內部RAM,再把協議棧和用戶數據搬入DDR,最后跳轉到應用程序的入口開始執行,如圖6所示。

 

 

    介紹了一種基于TMS320C6455的大尺寸非連續的代碼加載方法,較傳統的二級加載方式有更大的靈活性和更高的Flash利用率。連續加載只是分段加載的特殊情況(即分段數為1),該加載方法對于連續代碼加載同樣適用。雖然該加載方法是基于C6455設計實現的,但是對于TI公司的其他型號DSP也有很好的借鑒作用。這種三級加載方法已在航空電子系統上得到應用,實踐證明該方法是一種使用可靠的加載方法。
參考文獻
[1] TMS320C6455 fixed-point digital signal processor[S].Literature Number:SPRS276C,March,2006.
[2] Texas Instruments.Using the TMS320C6452 bootloader[S]. Literature Number:SPRAAW2A,June,2009.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
麻豆精品在线观看| 欧美大学生性色视频| 亚洲电影在线| 亚洲综合首页| 一区二区三区黄色| 日韩一区二区高清| 亚洲美女黄色片| 亚洲人成小说网站色在线| 在线观看三级视频欧美| 国产综合色一区二区三区| 国产精品自拍一区| 国产欧美日韩麻豆91| 国产精品午夜在线观看| 国产精品日韩精品| 国产精品中文在线| 国产欧美一区二区精品婷婷| 国产精品视频福利| 国产精品自拍一区| 国产亚洲成av人片在线观看桃| 国产欧美一区二区三区另类精品| 国产精品毛片| 国产精品一区二区在线观看| 国产伦精品一区二区三区高清 | 久久婷婷国产麻豆91天堂| 欧美中文字幕在线视频| 欧美在线一级va免费观看| 久久国产精彩视频| 久久久久久高潮国产精品视| 欧美一区二区三区四区在线 | 亚洲精品一区二区网址| 亚洲精品中文字幕女同| 国产精品久久久久久久电影| 欧美中文字幕在线视频| 久久黄色影院| 亚洲全黄一级网站| 99在线热播精品免费99热| 中文亚洲欧美| 小辣椒精品导航| 久久岛国电影| 美女精品在线观看| 欧美剧在线观看| 国产精品欧美日韩一区二区| 国产亚洲欧美另类中文| 精品电影一区| 亚洲裸体在线观看| 亚洲午夜伦理| 亚洲丰满少妇videoshd| 99精品福利视频| 亚洲影院高清在线| 久久国产精品网站| 欧美国产综合| 国产精品日韩专区| 红桃视频一区| 日韩午夜电影av| 欧美一级精品大片| 日韩午夜激情| 久久精品二区| 欧美日韩国产欧美日美国产精品| 欧美色视频日本高清在线观看| 国产免费观看久久黄| 亚洲高清免费| 亚洲一区免费在线观看| 91久久久国产精品| 午夜免费在线观看精品视频| 久久综合久久久| 欧美日韩中文在线| 国产自产在线视频一区| 亚洲精品视频一区| 欧美怡红院视频一区二区三区| 日韩午夜激情| 久久精品亚洲精品| 欧美日一区二区在线观看 | 国产亚洲aⅴaaaaaa毛片| 91久久综合亚洲鲁鲁五月天| 亚洲性视频h| 亚洲破处大片| 久久国产黑丝| 欧美日韩亚洲高清| 在线看片第一页欧美| 亚洲欧洲av一区二区| 在线一区视频| 免费在线观看精品| 国产麻豆视频精品| 亚洲毛片av在线| 亚洲高清视频一区| 午夜在线成人av| 欧美日韩不卡合集视频| 狠狠综合久久| 亚洲在线网站| 亚洲综合精品四区| 欧美精品国产一区| 在线观看不卡av| 欧美一区国产一区| 亚洲欧美日韩一区在线| 欧美日韩精品二区第二页| 激情久久五月天| 午夜免费在线观看精品视频| 亚洲自拍偷拍福利| 欧美高清你懂得| 一区二区视频免费在线观看| 午夜在线精品偷拍| 亚洲男女毛片无遮挡| 欧美日韩不卡| 亚洲人成网站精品片在线观看| 亚洲国产精品小视频| 久久久久国产精品www| 国产精品一区视频| 亚洲一区精品在线| 亚洲女人天堂成人av在线| 欧美性开放视频| 99精品国产在热久久婷婷| 日韩午夜剧场| 欧美精品一区二区三区四区| 欧美激情bt| 亚洲精品免费电影| 欧美一区二区在线观看| 欧美一区二区三区在线视频| 欧美视频免费| 日韩网站在线| 一区二区三区高清在线| 欧美日韩1234| 99国产精品久久| 一区二区三区久久久| 欧美日韩精品一二三区| 亚洲美女区一区| 一区二区三区视频在线看| 欧美片第一页| av成人免费在线| 亚洲一区视频| 国产精品午夜国产小视频| 亚洲欧美制服另类日韩| 久久精品国产精品亚洲精品| 国产三级精品在线不卡| 性欧美长视频| 久久亚洲精品伦理| 亚洲精品中文字幕女同| 亚洲人成在线播放网站岛国| 亚洲专区一区| 久久爱91午夜羞羞| 午夜视频久久久久久| 性欧美xxxx大乳国产app| 一本久久a久久精品亚洲| 久久久久久穴| 尤妮丝一区二区裸体视频| 亚洲人成毛片在线播放| 欧美第一黄色网| 亚洲伦理久久| 亚洲欧美偷拍卡通变态| 国产日产精品一区二区三区四区的观看方式| 亚洲午夜精品视频| 久久狠狠亚洲综合| 影音先锋成人资源站| 亚洲精品一区二区网址| 欧美日韩精品免费观看视一区二区| 一本大道av伊人久久综合| 性欧美超级视频| 国内不卡一区二区三区| 亚洲人永久免费| 欧美色网一区二区| 午夜精品久久久久影视| 久久午夜影视| 亚洲精品一区二| 香蕉亚洲视频| 亚洲电影有码| 亚洲一区三区在线观看| 国产一区二区丝袜高跟鞋图片| 亚洲欧洲精品一区二区精品久久久| 欧美日韩国产电影| 欧美一级理论片| 欧美护士18xxxxhd| 亚洲一区二区精品视频| 美女精品网站| 亚洲视频在线看| 久久午夜色播影院免费高清| 亚洲精品自在久久| 久久激情网站| 亚洲精品一区二区三区福利| 欧美亚洲专区| 亚洲国产精品热久久| 午夜国产精品影院在线观看| 在线观看的日韩av| 亚洲欧美电影院| 亚洲电影免费在线观看| 翔田千里一区二区| 亚洲欧洲一二三| 久久黄色小说| 一本久道综合久久精品| 久久综合给合久久狠狠狠97色69| 99ri日韩精品视频| 久久一二三国产| 亚洲一区二区三区中文字幕在线| 免费的成人av| 午夜精品成人在线| 欧美日韩国产影片| 欧美综合国产| 国产精品二区在线| 亚洲美女性视频| 国产在线一区二区三区四区| 亚洲一区亚洲| 最近中文字幕mv在线一区二区三区四区 |