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

        ?

        基于429總線的TMS320F2812程序的遠(yuǎn)程加載技術(shù)

        2014-02-26 09:42:02黃旭東
        電子與封裝 2014年6期
        關(guān)鍵詞:程序用戶

        黃旭東,韋 凱,錢(qián) 浩,陳 衛(wèi)

        (中國(guó)電子科技集團(tuán)公司第58研究所,江蘇 無(wú)錫 214035)

        1 引言

        TMS320F2812(以下簡(jiǎn)稱(chēng)F2812)是TI公司推出的C2000系列中性能最高的一款芯片。它既具有數(shù)字信號(hào)處理能力,又具有強(qiáng)大的事件管理能力和嵌入式控制能力,其片內(nèi)自帶有128 kB的flash,可以將程序?qū)懭肫瑑?nèi)flash運(yùn)行,使用非常方便,自推出以來(lái)已在各行業(yè)得到廣泛應(yīng)用,在軍用領(lǐng)域也得到了大量的應(yīng)用。各類(lèi)產(chǎn)品在運(yùn)行使用過(guò)程中,難免都會(huì)需要對(duì)程序進(jìn)行升級(jí)。在軍用領(lǐng)域要求不拆機(jī)殼進(jìn)行程序升級(jí),現(xiàn)在基本采用RS232實(shí)現(xiàn)遠(yuǎn)程加載,因?yàn)镽S232加載是F2812 Boot loader提供的一種標(biāo)準(zhǔn)加載方式。但是在軍用領(lǐng)域,RS232通信方式是很少使用的,特別是航空領(lǐng)域大量使用429總線,單獨(dú)為了實(shí)現(xiàn)遠(yuǎn)程加載增加RS232接口對(duì)主機(jī)來(lái)說(shuō)是一種負(fù)擔(dān)。本文提出一種基于429總線的F2812遠(yuǎn)程升級(jí)技術(shù)。

        2 F2812引導(dǎo)方式及Flash編程簡(jiǎn)介[1]

        2.1 F2812引導(dǎo)方式

        在程序開(kāi)發(fā)調(diào)試階段,通常將編譯鏈接產(chǎn)生的可執(zhí)行代碼裝載到內(nèi)部RAM中調(diào)試,一旦程序調(diào)試完成需要系統(tǒng)作為產(chǎn)品獨(dú)立運(yùn)行,就要求將應(yīng)用程序固化到非易失性存儲(chǔ)器中,系統(tǒng)上電后能夠采用特定的引導(dǎo)操作自動(dòng)運(yùn)行應(yīng)用程序。F2812上電后有6種不同的啟動(dòng)模式,主要通過(guò)GPIOF端口的4個(gè)引腳上電復(fù)位過(guò)程中所處的狀態(tài)確定選擇哪種方式啟動(dòng),引導(dǎo)方式如表1所示。

        表1 F2812引導(dǎo)方式

        2.2 F2812的Flash編程

        F2812的Flash編程過(guò)程及方法如圖1所示,除了使用仿真器下載Flash程序和數(shù)據(jù)外,還可以通過(guò)SCI、SPI或GPIOB下載,除了JTAG外,其他下載方式都是經(jīng)過(guò)boot loader完成。所有過(guò)程Flash的算法都需要搬移至片內(nèi)RAM中,然后再實(shí)現(xiàn)對(duì)Flash的編程工作。

        圖1 F2812 Flash編程

        3 基于429總線的F2812加載方案

        正如2.2節(jié)中所述,只需將Flash的編程算法通過(guò)429總線搬移至片內(nèi)RAM中,再將從429總線上接收到的數(shù)據(jù)傳送給編程算法,算法執(zhí)行后便可實(shí)現(xiàn)加載。因此我們需要重新編寫(xiě)自己的boot loader,并將boot代碼固化在片內(nèi)非易失性空間即可。TI的boot loader是固化在ROM中,我們無(wú)法更改,因此只能固化在flash中,在啟動(dòng)時(shí)從flash啟動(dòng)。

        基于429總線的F2812加載方案如圖2所示。429總線芯片通過(guò)XINTF接口與F2812相連,電腦通過(guò)USB轉(zhuǎn)429通信板卡與下位機(jī)F2812進(jìn)行通信。F2812上電運(yùn)行后通過(guò)識(shí)別XBIO引腳狀態(tài),判定是執(zhí)行用戶代碼還是繼續(xù)執(zhí)行boot代碼從而重新加載Flash程序。當(dāng)然如果用戶系統(tǒng)端口資源緊張或是不想使用硬件識(shí)別方式也可以通過(guò)軟件指令的方式判斷是否需要重新加載Flash程序。本文按照硬件識(shí)別方式進(jìn)行開(kāi)發(fā)實(shí)現(xiàn)。

        圖2 基于429總線的F2812加載方案

        4 基于429總線的F2812加載軟硬件實(shí)現(xiàn)

        4.1 硬件實(shí)現(xiàn)

        429總線芯片選擇HOLT公司的HI-3583,它集429協(xié)議與驅(qū)動(dòng)器于一身,使用非常方便,通過(guò)本地總線即可實(shí)現(xiàn)與F2812的通信。與上位機(jī)通信采用歐比特公司的EMBC1000-USB429EI板卡實(shí)現(xiàn),并在此基礎(chǔ)上開(kāi)發(fā)了上位機(jī)軟件,實(shí)現(xiàn)將CCS編譯生成的.out文件轉(zhuǎn)換成HEX格式通過(guò)429總線逐一發(fā)送給F2812。

        是否進(jìn)行遠(yuǎn)程加載flash則是通過(guò)F2812的XBIO引腳進(jìn)行控制。XBIO引腳沒(méi)有內(nèi)部上拉電阻,因此為了可靠性,在外部增加上拉電阻。當(dāng)需要執(zhí)行遠(yuǎn)程加載flash時(shí),只需要將S1合上;在加載完成后打開(kāi)S1重新上電或者復(fù)位F2812,F(xiàn)2812即會(huì)按照新程序執(zhí)行。

        4.2 軟件實(shí)現(xiàn)

        硬件電路搭建完畢后,即需要開(kāi)始軟件調(diào)試。首先調(diào)試了429通信,在確保429正常通信的前提下,將Flash281x_API融入429程序,即構(gòu)成了boot loader。Flash281x_API使用TI提供的庫(kù)函數(shù)[2],非常方便,其流程圖如圖3所示。

        圖3 boot loader流程圖

        為了日后調(diào)用方便,我們將boot loader編譯生成庫(kù)函數(shù),這樣在日后使用過(guò)程中只需調(diào)用庫(kù)函數(shù)即可實(shí)現(xiàn)。Boot loader程序空間分配的.cmd文件如下所示,將啟動(dòng)代碼固化在.ftext中,執(zhí)行時(shí)不需要搬移至片內(nèi)RAM,而關(guān)于Flash的編程算法則需要搬移至片內(nèi)RAM運(yùn)行。Boot loader程序的入口地址位于0x3f7ff6處,用戶代碼程序入口位于0x3f5ff6處。用戶代碼程序入口地址可根據(jù)用戶需要隨意調(diào)整,但是Boot loader程序入口地址不能隨意調(diào)整,必須是0x3f7ff6,這與F2812的Flash啟動(dòng)操作流程相關(guān),如圖4所示。

        圖4 F2812 Flash啟動(dòng)流程

        F2812 Flash的啟動(dòng)遵循從1到5這個(gè)步驟,當(dāng)使用自己編寫(xiě)的boot loader時(shí),第4步操作將發(fā)生變化,不再是調(diào)至_c_int00處,而是先跳轉(zhuǎn)至用戶啟動(dòng)代碼處,如圖5所示,執(zhí)行用戶boot loader代碼后再跳轉(zhuǎn)_c_int00處。

        圖5 F2812基于429總線的Flash啟動(dòng)流程

        因此,在用戶需要使用429總線加載程序時(shí),每個(gè)程序中都必須帶有基于429加載的函數(shù)庫(kù),這將占據(jù)一個(gè)sector段,對(duì)用戶代碼受到一定的影響,并且用戶代碼需要做出適當(dāng)調(diào)整,主要表現(xiàn)為code_start段的位置,主要是.cmd中的以下這句:

        BEGIN : origin = 0x3f5ff6, length = 0x000002

        整個(gè)429總線加載Flash的算法庫(kù)將占據(jù)sector A段,將用戶可使用的flash大小進(jìn)行了壓縮,只有120 k,適用于用戶代碼不超過(guò)120 k的系統(tǒng)。

        5 結(jié)論

        本文從實(shí)際應(yīng)用需求角度出發(fā),提出了一種基于429總線遠(yuǎn)程加載F2812 Flash的方法,并詳細(xì)闡述了軟件設(shè)計(jì)開(kāi)發(fā)的流程,有效解決了軍用領(lǐng)域整機(jī)的需求,對(duì)其他類(lèi)似系統(tǒng)的程序遠(yuǎn)程加載具有借鑒意義。

        [1] 蘇奎峰,呂強(qiáng),等. TMS320F281x DSP原理及C程序開(kāi)發(fā)[M]. 北京: 電子工業(yè)出版社,2008.

        [2] TI. TMS320F281x Flash Programming API Revision Change[EB/OL]. www.ti.com.cn, 2005.

        猜你喜歡
        程序用戶
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        關(guān)注用戶
        關(guān)注用戶
        關(guān)注用戶
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        Camera360:拍出5億用戶
        100萬(wàn)用戶
        国产不卡一区二区av| a人片在线观看苍苍影院| 色偷偷88888欧美精品久久久| 啊v在线视频| 国产精品麻豆一区二区三区| 色婷婷五月综合激情中文字幕| 久久综合久久鬼色| 精品人妻丰满久久久a| 亚洲最大不卡av网站| 亚洲精品电影院| 蜜桃成人无码区免费视频网站| 99久久亚洲国产高清观看| 久久av一区二区三区黑人| 欧美日韩精品乱国产| 国产欧美亚洲精品a| 国产成人福利在线视频不卡| 日韩一本之道一区中文字幕| 亚洲av国产av综合av卡| 免费又黄又爽又猛的毛片| 亚洲AV成人综合五月天在线观看| 在线观看一区二区三区在线观看 | 亚洲av日韩aⅴ无码电影| 亚洲av午夜福利一区二区国产| 亚洲国产精品成人天堂| 51久久国产露脸精品国产| 精品久久久久久午夜| 国产一区二区三区不卡视频| 久久综合九色综合久99| 午夜AV地址发布| 国产偷拍盗摄一区二区| 亚洲av成人综合网成人| 无遮无挡爽爽免费视频| 99re国产电影精品| 国产一区二区三区青青草| 国产超碰人人爽人人做人人添| 亚洲三级黄色| 久久亚洲精品中文字幕蜜潮| 久久久久99精品成人片| 久久国产成人午夜av影院| 国产天堂av手机在线| 久久久久高潮综合影院|