《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于TMS320C6455的大尺寸非連續(xù)代碼加載方法
基于TMS320C6455的大尺寸非連續(xù)代碼加載方法
來源:電子技術(shù)應用2012年第11期
邵 龍1,劉金山2
1.中國電子科技集團公司第十研究所,四川 成都610036; 2.中國人民解放軍95899部隊,北京100085
摘要: 在分析傳統(tǒng)加載方法加載大尺寸非連續(xù)代碼存在的缺陷的基礎上,提出了三級加載方法,并詳細介紹了該方法在TMS320C6455平臺上的設計與實現(xiàn)。三級加載方法很好地解決了大尺寸非連續(xù)的代碼加載中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)公司的高性能數(shù)字信號處理芯片(DSP),在我國很多行業(yè)都得到了大規(guī)模的應用。在絕大多數(shù)應用中,都需要將C6455應用程序燒寫到Flash中以實現(xiàn)系統(tǒng)自啟動。系統(tǒng)上電后,C6455會自動將Flash起始位置的1 KB的代碼加載到內(nèi)部RAM[1],而對于C6455這種高性能的DSP,應用程序代碼會遠遠大于1 KB,為此,TI公司提供了二級加載的解決方案。二級加載就是在前1 KB空間中存儲EMIF配置和程序拷貝代碼,用于將應用程序從片外Flash搬移到片內(nèi)RAM或片外RAM。搬完后,再跳轉(zhuǎn)到應用程序的起始地址,執(zhí)行應用程序[2]。二級加載解決大尺寸應用程序代碼的加載問題,主要應用于程序代碼在RAM中的地址連續(xù)或者接近連續(xù)的情況。

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

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

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

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

 

 

    介紹了一種基于TMS320C6455的大尺寸非連續(xù)的代碼加載方法,較傳統(tǒng)的二級加載方式有更大的靈活性和更高的Flash利用率。連續(xù)加載只是分段加載的特殊情況(即分段數(shù)為1),該加載方法對于連續(xù)代碼加載同樣適用。雖然該加載方法是基于C6455設計實現(xiàn)的,但是對于TI公司的其他型號DSP也有很好的借鑒作用。這種三級加載方法已在航空電子系統(tǒng)上得到應用,實踐證明該方法是一種使用可靠的加載方法。
參考文獻
[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩欧美日韩大片| 亚洲人成网站影音先锋播放| 欧美顶级少妇做爰| 久久精品久久99精品久久| 午夜精品国产精品大乳美女| 中文亚洲欧美| 一区二区三区|亚洲午夜| 亚洲美女视频在线观看| 亚洲欧洲日本在线| 亚洲精品看片| 日韩午夜在线| 一本久道久久久| 亚洲国产精品毛片| 亚洲国产日日夜夜| 99国产精品久久久久老师| 先锋亚洲精品| 午夜精品久久久久久久久久久久 | 亚洲日韩第九十九页| 亚洲国产精品成人精品| 在线观看日韩www视频免费 | 亚洲欧美激情诱惑| 亚洲欧美中文另类| 欧美亚洲免费| 亚洲电影免费观看高清完整版在线观看 | 久久激情五月婷婷| 亚洲欧美日韩在线播放| 亚洲天堂久久| 亚洲欧美日韩国产综合| 欧美在线免费看| 久久精品二区三区| 亚洲欧洲日夜超级视频| 久久久人成影片一区二区三区| 亚洲巨乳在线| 亚洲综合二区| 欧美一区亚洲二区| 91久久国产综合久久91精品网站| 91久久在线播放| 一区二区三区精品国产| 亚洲欧美日韩国产精品| 亚洲免费av电影| 午夜国产精品视频| 美女性感视频久久久| 女同性一区二区三区人了人一| 欧美精品偷拍| 亚洲一区欧美| 亚洲第一中文字幕| 亚洲美女黄色| 午夜在线一区| 亚洲另类视频| 香港久久久电影| 久色婷婷小香蕉久久| 欧美日韩国产区一| 国产欧美日韩精品在线| 亚洲国产精品123| 亚洲小少妇裸体bbw| 亚洲国产欧美一区二区三区久久| 一区二区三区精品在线| 久久久久久久久久久成人| 欧美精品一区二区三区在线播放| 国产女主播在线一区二区| 亚洲国产成人在线视频| 亚洲主播在线播放| 日韩小视频在线观看| 久久国产欧美日韩精品| 欧美精品二区三区四区免费看视频| 国产伦精品一区二区三区照片91 | 亚洲国产精品va在看黑人| 国产精品99久久久久久久vr| 亚洲第一精品夜夜躁人人爽| 亚洲天天影视| 牛夜精品久久久久久久99黑人| 国产精品久久九九| 91久久国产综合久久91精品网站| 日韩亚洲欧美在线观看| 欧美一级在线亚洲天堂| 亚洲国产欧美不卡在线观看| 午夜精品在线看| 欧美黄色精品| 国产日韩欧美精品| 日韩午夜av电影| 亚洲国产天堂网精品网站| 小处雏高清一区二区三区 | 一本色道久久综合亚洲精品小说| 亚洲国产精品久久久久秋霞蜜臀 | 国产一区二区三区久久悠悠色av| aa级大片欧美三级| 亚洲日本国产| 久久久久久久久一区二区| 国产精品白丝av嫩草影院| 亚洲国产福利在线| 久久精品国产77777蜜臀| 午夜精品一区二区三区四区| 欧美日韩国产精品一卡| 在线播放国产一区中文字幕剧情欧美| 亚洲欧美精品在线观看| 亚洲影院色无极综合| 欧美精品性视频| 亚洲高清在线| 亚洲二区视频| 久久国产日韩欧美| 国产欧美欧美| 亚洲午夜激情免费视频| 日韩写真在线| 在线免费观看日韩欧美| 国产日产欧美精品| 一区二区福利| 一级成人国产| 亚洲综合社区| 欧美亚洲免费在线| 午夜激情亚洲| 欧美午夜欧美| aaa亚洲精品一二三区| 一本色道久久综合亚洲精品小说| 欧美ed2k| 亚洲高清不卡| 最新国产成人在线观看| 麻豆成人在线| 伊人久久大香线蕉av超碰演员| 欧美专区18| 久久网站免费| 在线观看免费视频综合| 亚洲国产裸拍裸体视频在线观看乱了中文 | 艳妇臀荡乳欲伦亚洲一区| 在线一区亚洲| 欧美日韩中文字幕| 一区二区三区国产精品| 亚洲伊人伊色伊影伊综合网| 国产精品欧美日韩一区| 亚洲综合首页| 久久精品男女| 在线电影国产精品| 99国产精品久久久久久久成人热 | 欧美在线短视频| 国产酒店精品激情| 欧美一区二区三区电影在线观看| 久久av一区二区三区| 国产一区二区视频在线观看| 久久精品久久99精品久久| 蜜乳av另类精品一区二区| 亚洲韩国一区二区三区| 一区二区三区精品国产| 国产精品久久久久高潮| 午夜精品视频网站| 免费不卡在线视频| 最近看过的日韩成人| 亚洲一区二区黄| 国产日韩欧美二区| 亚洲国产精品久久久久婷婷老年 | 亚洲国产欧美日韩另类综合| 欧美激情视频一区二区三区免费| 日韩视频免费在线| 午夜综合激情| 在线不卡亚洲| 亚洲无毛电影| 国内免费精品永久在线视频| 亚洲日本激情| 国产精品多人| 亚洲高清电影| 欧美三级网址| 久久国产精品99国产精| 欧美日韩精品免费| 亚洲自拍偷拍网址| 免费中文日韩| 亚洲一区二区在线看| 久久婷婷一区| 在线一区二区三区做爰视频网站| 久久福利毛片| 亚洲人成网站在线观看播放| 午夜精品一区二区三区在线播放| 好吊色欧美一区二区三区四区 | 国产精品播放| 久久精品首页| 国产精品va| 亚洲第一精品福利| 欧美性猛交xxxx乱大交蜜桃 | 性高湖久久久久久久久| 亚洲福利电影| 新狼窝色av性久久久久久| 亚洲高清色综合| 欧美一级视频精品观看| 亚洲国产精品悠悠久久琪琪| 欧美一级专区| 亚洲精品一区二区三区av| 久久精品视频导航| 中日韩美女免费视频网站在线观看| 久久久久久自在自线| 一区二区高清在线观看| 美女露胸一区二区三区| 亚洲欧美日韩一区二区在线| 欧美日本不卡视频| 欧美在线视频一区二区三区| 欧美日韩日本视频| 午夜影院日韩| 在线视频日韩| 亚洲精选国产| 国产欧美日韩免费| 夜夜嗨av一区二区三区| 国产一区二区三区在线观看免费视频 | 欧美激情性爽国产精品17p| 欧美亚洲三级|