亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FLASH的TMS320C6416自啟動實現(xiàn)方法

        2010-09-25 02:29:12冀云
        關(guān)鍵詞:用戶程序應(yīng)用程序入口

        冀云

        (重慶電子工程職業(yè)學(xué)院 重慶401331)

        基于FLASH的TMS320C6416自啟動實現(xiàn)方法

        冀云

        (重慶電子工程職業(yè)學(xué)院 重慶401331)

        介紹了一種通過自己編寫的燒寫FLASH的程序以及二次引導(dǎo)程序?qū)崿F(xiàn)DSP上電自啟動的方法。當(dāng)DSP復(fù)位時內(nèi)部引導(dǎo)裝載程序會裝載位于FLASH的前1KB的二次引導(dǎo)程序。裝載成功后DSP從0x00地址開始執(zhí)行二次引導(dǎo)程序;二次引導(dǎo)程序的作用就是完成加載用戶應(yīng)用程序,并且加載完成后跳到C程序入口點c_int00處,執(zhí)行用戶程序,實現(xiàn)用戶程序的FLASH自啟動。

        FLASH自啟動;TMS320C6416;二次引導(dǎo);燒寫FLASH

        1 引言

        近年來隨著數(shù)字信號處理器(DSP)技術(shù)的迅猛發(fā)展,其越來越廣泛地應(yīng)用于生產(chǎn)生活的各個領(lǐng)域。其中,TMS320C6000系列TI公司推出的最新DSP型號,其性能得到了很大的提升,核心頻率最高達到1GHz。在許多需要進行大量數(shù)字信號處理運算并兼顧高實時性要求的場合得以廣泛應(yīng)用。TI公司的C6x1x產(chǎn)品的內(nèi)部BOOT只能加載1K的程序,如果應(yīng)用程序大于1K則無法實現(xiàn)自啟動。在TMS320C6000系列DSP的系統(tǒng)設(shè)計應(yīng)用過程中,DSP器件的啟動加載設(shè)計是最關(guān)鍵的技術(shù)之一,這就需要用戶自己編寫一個二次引導(dǎo)程序。本文針對這一問題提出一種有效解決的方法。

        2 硬件系統(tǒng)設(shè)計

        2.1 TMS320C6416芯片

        TMS320C6416是TI公司最新推出的高性能定點DSP,其時鐘頻率可達1GHz,采用兩級緩存結(jié)構(gòu),一級緩存 (L1)由128Kbit的程序緩存和128Kbit的數(shù)據(jù)緩存組成,二級緩存 (L2)為8Mbit;有2個擴展存儲器接口(EMIF),一個為 64bit(EMIFA),一個為 16bit(EMIFB),可以與異步存儲器 (SRAM、EPROM)或同步存儲器(SDRAM、SBSRAM、ZBTSRAM、FIFO)實現(xiàn)無縫連接。本系統(tǒng)就是DSP通過外部存儲接口EMIFB來外掛FLASH芯片,F(xiàn)LASH采用的是8位數(shù)據(jù)線接法。

        在通過DSP對FLASH操作編程時,F(xiàn)LASH數(shù)據(jù)寬度為16bit時,DSP地址要左移 1bit;數(shù)據(jù)寬度為 8bit時,DSP地址要左移2Bit。有些FLASH資料已經(jīng)分別將寫操作命令在8位和16位的不同命令時序給出,這種情況下就不需要再進行移位。

        2.2 FLASH芯片AM29LV400BT介紹

        本系統(tǒng)采用的 FLASH芯片是 AMD公司推出的AM29LV400BT,存儲容量是4M Bit。用戶可根據(jù)需求配置成 512K x 8-Bit或者 256K x 16-Bit兩種形式。由于TMS320C64x支持16bit的FLASH讀寫操作,但是只支持8-bit的FLASH加載;為了方便后面燒寫FLASH,本系統(tǒng)采用的是512K x 8-Bit形式。

        DSP通過EMIFB控制FLASH的讀寫和擦除;存儲空間分配在EMIFB的CE1內(nèi),占用DSP內(nèi)部地址范圍是64000000-643FFFFF。其中A0-A19作為地址線,D0-D7作為數(shù)據(jù)線,CE為片選信號,WE是寫選通信號,OE為使能信號,BYTE為8位或16位數(shù)據(jù)模式選擇 (BYTE接地時是8位模式)。

        2.3 接口原理圖

        3 二次引導(dǎo)程序

        如前面所說因為TI公司的C6x1x產(chǎn)品的內(nèi)部BOOT只能加載1K的程序,而用戶的應(yīng)用程序往往遠大于1K,所以必須通過用戶自己編寫二次引導(dǎo)程序才能實現(xiàn)FLASH自啟動。DSP上電后內(nèi)部BOOT自動加載FLASH前1K數(shù)據(jù),用戶要編寫的二次引導(dǎo)程序最終將寫入FLASH的前1K存儲空間,且該空間的剩余部分不能再用來存儲其他程序。二次引導(dǎo)程序的作用就是按照一定的參數(shù)將存儲在FLASH中的其他用戶程序數(shù)據(jù)搬移到DSP內(nèi)存空間,并且搬移完成后,要跳轉(zhuǎn)到用戶程序的C語言的入口地址c_int00處,開始執(zhí)行用戶程序。

        本系統(tǒng)的二次引導(dǎo)程序采用匯編程序編寫,其中主要代碼如下:

        以上程序中0x64000400可根據(jù)自己的FLASH地址而改變;而C語言程序入口地址,各段在RAM中起始地址以及段的字節(jié)長度都可以在用戶工程的MAP文件中得到。

        以下是一個工程的MAP文件部分內(nèi)容:

        上面分別顯示了C語言入口地址以及各段在內(nèi)存中的起始地址和字節(jié)長度。燒寫FLASH的時候需用到這些參數(shù),二次引導(dǎo)程序加載用戶程序的時候也會用到這些參數(shù)。

        4.FLASH的燒寫與擦除

        對FLASH的擦除和寫操作都要按照一定的時序進行,不同的芯片可能稍微有所不同,這里首先按照芯片資料做如下定義:

        以上程序分別定義了擦除燒寫FLASH的命令內(nèi)容以及地址。

        下面定義擦除整片F(xiàn)LASH函數(shù):

        下面是燒寫單字節(jié)到FLASH的函數(shù)內(nèi)容:

        下面是燒寫一段數(shù)據(jù)到FLASH的函數(shù)部分內(nèi)容:

        首先將.boot_load段寫入FLASH的前1k空間,然后在0x400地址處寫用戶應(yīng)用程序的入口地址數(shù)據(jù),最后依次寫數(shù)據(jù)段的長度以及本段在RAM中的起始地址和本段數(shù)據(jù)。如果是多段,則按照第一段規(guī)則依次寫入。需要注意的是,寫FLASH的寫入順序要和二次引導(dǎo)程序相對應(yīng),不同的二次引導(dǎo)程序?qū)?yīng)的寫入順序和內(nèi)容不同。

        5 應(yīng)用程序燒寫方法

        用戶將應(yīng)用程序編寫好后,只要簡單地把編寫的匯編二次引導(dǎo)程序添加到用戶工程,同時要更改工程的CMD文件,將boot_load段編譯到DSP內(nèi)部RAM的前1k空間,即0-0x400內(nèi),然后重新編譯工程即可。

        利用上面燒寫FLASH函數(shù),建立一個工程FlashBurn.prj的工程,其作用是用將用戶工程的內(nèi)容從內(nèi)存中讀出來并燒寫到FLASH中。首先查看前面編譯好的用戶應(yīng)用程序工程里的MAP文件;MAP文件是CCS軟件編譯后產(chǎn)生的有關(guān)DSP用到所有程序、數(shù)據(jù)及IO空間的在內(nèi)存映射文件。按照MAP文件把各需要寫進FLASH的非初始化段的起始地址以及段長度參數(shù)設(shè)置好,然后設(shè)置本工程各代碼以及數(shù)據(jù)段分配的CMD文件。需要注意的是一定要將FlashBurn工程的內(nèi)存空間分配和用戶應(yīng)用程序的內(nèi)存空間分配分開,不能重疊,以免相互覆蓋。設(shè)置完成后編譯工程。

        最后將用戶程序生成的.out文件通過 JTAG下載到DSP內(nèi)部RAM中,但不要運行;接著將FlashBurn.prj的工程的.out文件用同樣的方法下載到DSP內(nèi)部RAM中并運行。這個程序完成的任務(wù)就是將先前載到片內(nèi)RAM的用戶工程數(shù)據(jù)寫進FLASH。寫完成后斷電重啟,DSP就會自動執(zhí)行用戶程序,實現(xiàn)用戶程序自啟動。

        6 結(jié)論

        本文以TMS320C6416為例闡述了用戶自己編寫燒寫FLASH程序?qū)崿F(xiàn)自啟動功能,已經(jīng)在工程中得到了應(yīng)用。TI公司提供了一個燒寫FLASH的工具FlashBurn,但是這種力法的缺點是需要將程序編譯后生成的.out文件再轉(zhuǎn)換成.hex文件;轉(zhuǎn)換過程的同時,需要一個cmd文件。并且 FlashBurn工具運行時需要下載 FBTC(FlashBurn Target Component)到DSP系統(tǒng)中,然后由上位PC機通過仿真器發(fā)送指令和數(shù)據(jù)給下位DSP,具體對FLASH的操作由FBTC執(zhí)行。然而,這個FBTC一般是針對TI公司提供的DSP專門編寫的,與板上使用的FLASH的接口寬度、操作關(guān)鍵字都有關(guān),對用戶自己制作的硬件不一定適合。與FlashBurn工具相比較,本方法更為靈活,只要按照MAP文件更改下FlashBurn.prj工程中各段的參數(shù)就可以適用于其他DSP和工程,并且避免了文件格式轉(zhuǎn)換的繁瑣。

        [1]汪安民,張松產(chǎn),常春藤.TMS320C6000DSP實用計數(shù)與開發(fā)案例[M].北京:人民郵電出版社,2008.

        [2]TMS320C6x Assembly Language Tools User’s Guide.1999

        [3]CreationCreating a Second-Level Bootloader for FLASH.2006

        責(zé)任編輯 王榮輝

        The Self-implementation Method Based on TMS320C6416 of FLASH

        JI Yun
        (Chongqing College of Electronic Engineering,Chongqing 401331,China)

        This paper introduces the self-implementation methods of the secondary bootloader and the flash burning in DSP in detail.After the resetting of DSP,the inner initial program loader would load the secondary bootloader of 1KI in FLASH.And then DSP executes the secondary bootloader from 0x00,which accomplishes the user's application program,after that,it jumps to the entry point c_int00 in C program and executes user program.Finally,the self-implementation f FLASH can be achieved.

        FLASH self-implementation;TMS320C6416;secondary bootloader;flash burning

        TP39

        A

        1674-5787(2010)05-0144-03

        2010-08-22

        冀云,男,重慶電子工程職業(yè)學(xué)院電子信息系,助理工程師。

        猜你喜歡
        用戶程序應(yīng)用程序入口
        基于新一代稱重設(shè)備的入口治超勸返系統(tǒng)分析
        變速箱控制系統(tǒng)Bootloader設(shè)計與實現(xiàn)
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        秘密入口
        嵌入式設(shè)備遠程升級方案設(shè)計
        作品三
        第九道 靈化閣入口保衛(wèi)戰(zhàn)
        C8051F410單片機BootLoader的實現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        MCF52223的多用戶在線編程應(yīng)用設(shè)計
        激情综合色综合啪啪开心| 国产日韩亚洲中文字幕| 日本不卡一区二区三区在线观看 | 99久久er这里只有精品18| 91亚洲国产成人aⅴ毛片大全| 中文字幕国产精品专区| 变态另类人妖一区二区三区 | 人妻精品视频一区二区三区| 欧美xxxx色视频在线观看| 久久精品国产99久久丝袜| 少妇一级内射精品免费| av大全亚洲一区二区三区| 亚洲乱码中文字幕综合| 久久国产精品老女人| 免费人成黄页在线观看国产| 亚洲av午夜精品无码专区| 亚洲人成无码www久久久| 青春草在线视频精品| 亚洲综合久久中文字幕专区一区 | 色爱区综合激情五月综合小说 | 成年人视频在线观看麻豆| 亚洲日韩中文字幕在线播放| 成人国产精品免费视频| 国产精品天干天干在线观蜜臀| 一区二区在线视频免费蜜桃| 成人做受视频试看60秒| 国产女高清在线看免费观看| 亚洲二区精品婷婷久久精品| 国产欧美日韩va另类在线播放| 免费人成视频x8x8| 成人精品免费av不卡在线观看| 在线观看一区二区中文字幕| 免费高清av一区二区三区| 国产日韩亚洲欧洲一区二区三区| 中文字幕人妻少妇精品| 免费a级毛片又大又粗又黑| 久久老子午夜精品无码怎么打| 国产剧情无码中文字幕在线观看不卡视频 | 精品久久久噜噜噜久久久| 无码一区二区三区在| 亚洲国产综合在线亚洲区亚洲av|