《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
欧美a级一区| 久久夜色精品国产| 午夜在线电影亚洲一区| 日韩一级不卡| 亚洲人成精品久久久久| 在线精品在线| 韩国一区二区三区美女美女秀| 国产精品一区免费观看| 国产精品男gay被猛男狂揉视频| 欧美午夜精品理论片a级按摩 | 一本色道久久加勒比精品| 亚洲另类春色国产| 999在线观看精品免费不卡网站| 亚洲精品乱码久久久久久蜜桃91| 欧美视频在线观看 亚洲欧| 午夜精品久久久久久99热| 亚洲男人第一av网站| 亚洲一区二区三区视频播放| 亚洲午夜伦理| 亚洲在线一区二区| 亚洲欧美日韩成人高清在线一区| 亚洲欧美国产一区二区三区| 香蕉乱码成人久久天堂爱免费 | 国产一区二区| 黄色在线一区| 亚洲人成在线观看一区二区| 日韩午夜在线| 亚洲一区二区伦理| 欧美一区二区视频在线观看| 亚洲国产精品va在线看黑人动漫 | 亚洲人成网站在线观看播放| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美视频一区二区三区…| 国产精品日韩精品欧美在线 | 久久亚洲影音av资源网| 在线视频日韩精品| 一区二区三区国产| 亚洲欧美综合精品久久成人 | 国产麻豆精品久久一二三| 国产日韩欧美综合精品| 亚洲第一网站免费视频| 亚洲乱码国产乱码精品精天堂| 中日韩高清电影网| 欧美一区二区在线播放| 亚洲伦理中文字幕| 香蕉久久夜色精品| 欧美jizz19hd性欧美| 一本色道88久久加勒比精品 | 日韩视频一区二区三区在线播放免费观看 | 久久久久.com| 欧美激情一区二区三区高清视频 | 亚洲人成网站色ww在线| 亚洲午夜一区二区三区| 久久国产主播精品| 欧美大片免费久久精品三p| 国产精品久久久久久久久久久久久| 国产午夜精品全部视频在线播放| 亚洲电影在线看| 亚洲一区成人| 亚洲精品国产精品国自产在线| 亚洲一区二区三区四区五区黄 | 欧美日韩一区二区三区在线 | 亚洲精品国产品国语在线app | 亚洲电影在线看| 亚洲午夜精品视频| 久久亚洲国产成人| 国产精品二区在线观看| 在线观看欧美视频| 亚洲综合成人婷婷小说| 亚洲乱码国产乱码精品精98午夜| 欧美在线www| 欧美日本韩国在线| 国内免费精品永久在线视频| 夜夜爽99久久国产综合精品女不卡| 久久国产精品网站| 午夜精品短视频| 欧美激情精品久久久久久免费印度| 国产亚洲成人一区| 一区二区三区视频在线播放| 亚洲精品国产精品国自产在线 | 新片速递亚洲合集欧美合集| 另类欧美日韩国产在线| 国产精品乱子乱xxxx| 91久久在线播放| 欧美在线亚洲| 性娇小13――14欧美| 欧美日韩综合一区| 91久久国产自产拍夜夜嗨| 久久国产精品久久久| 欧美一区二区三区的| 欧美三级网址| 亚洲人成啪啪网站| 亚洲精品久久久久久久久久久久久 | 一区二区三区欧美视频| 一本色道久久88亚洲综合88| 久久久久99| 国产精品第一区| 亚洲精品小视频在线观看| 亚洲国产成人不卡| 欧美影视一区| 亚洲私人影院| 久久精品盗摄| 国产精品毛片va一区二区三区| 亚洲欧洲日本一区二区三区| 亚洲国产aⅴ天堂久久| 久久国产毛片| 国产欧美一区二区三区在线老狼| 一本色道久久综合亚洲精品按摩| 一区二区日韩| 欧美日韩不卡合集视频| 亚洲国产美女| 亚洲精品一二三| 欧美gay视频| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲国产99| 免费一区二区三区| 亚洲黄色视屏| 日韩一级精品视频在线观看| 欧美国产综合视频| 亚洲人体大胆视频| 在线视频亚洲欧美| 国产精品久久久久久久久久三级 | 亚洲电影免费在线 | 国产精品成人aaaaa网站| 一本久道久久综合婷婷鲸鱼| 亚洲视频www| 国产精品福利在线观看网址| 中文精品一区二区三区| 亚洲永久网站| 国产精品一级| 久久成人精品一区二区三区| 麻豆精品在线视频| 亚洲激情视频在线| 亚洲婷婷综合久久一本伊一区| 国产精品美腿一区在线看| 亚洲欧美中文另类| 久久野战av| 亚洲三级影院| 午夜一区二区三视频在线观看 | 亚洲一区二区久久| 久久精品视频在线观看| 在线欧美日韩国产| 亚洲天堂av在线免费| 国产精品自拍三区| 久久精品国产久精国产爱| 女人色偷偷aa久久天堂| 最新成人在线| 亚洲女人天堂成人av在线| 国产日产精品一区二区三区四区的观看方式 | 国产精品人人做人人爽人人添| 先锋影音网一区二区| 老鸭窝毛片一区二区三区| 亚洲免费观看视频| 欧美在线观看视频| 亚洲国产精品va在线看黑人| 亚洲婷婷在线| 狠狠色伊人亚洲综合网站色| 一二三区精品| 国产亚洲欧美一区| 亚洲精品一区二区三区在线观看| 欧美日韩亚洲高清| 欧美在线一级视频| 欧美日韩大陆在线| 欧美在线观看视频在线| 欧美久久久久中文字幕| 午夜精品一区二区三区在线视| 免费成人av| 亚洲少妇最新在线视频| 老司机午夜精品| 亚洲午夜极品| 欧美国内亚洲| 新片速递亚洲合集欧美合集| 欧美高清视频www夜色资源网| 亚洲女人天堂av| 欧美黑人多人双交| 亚洲欧美一区二区视频| 欧美区亚洲区| 久久av一区二区三区漫画| 欧美日韩视频在线观看一区二区三区| 欧美一区二区日韩一区二区| 欧美精品一区视频| 性欧美大战久久久久久久免费观看| 欧美精品一区二区三区高清aⅴ| 性亚洲最疯狂xxxx高清| 欧美日韩成人网| 亚洲高清一二三区| 国产美女精品在线| 亚洲无人区一区| 亚洲第一区在线观看| 欧美一级在线播放| 亚洲九九精品| 欧美α欧美αv大片| 亚洲欧美怡红院| 欧美视频精品在线观看| 亚洲激情在线| 国语精品中文字幕| 性久久久久久久久久久久| 亚洲精品一区二区在线观看| 免费观看30秒视频久久| 午夜精品视频在线观看|