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

        ?

        基于DSP在線程序加載的研究與實(shí)現(xiàn)

        2020-06-22 11:26:42祖文祥丁勁濤
        通信電源技術(shù) 2020年7期
        關(guān)鍵詞:程序產(chǎn)品

        祖文祥,丁勁濤

        (四川長(zhǎng)虹電源有限責(zé)任公司,四川 綿陽(yáng) 621000)

        0 引 言

        數(shù)字信號(hào)處理器(DSP)擁有強(qiáng)大的運(yùn)算能力和豐富的外設(shè),使其成為控制領(lǐng)域的首選控制芯片。當(dāng)系統(tǒng)需要進(jìn)行軟件升級(jí)時(shí),需要將程序代碼重新下載到DSP的FLASH中。傳統(tǒng)的升級(jí)方式是將產(chǎn)品從系統(tǒng)上拆卸下來(lái),打開(kāi)產(chǎn)品蓋板,連上JTAG下載器進(jìn)行軟件燒寫(xiě)升級(jí)。使用JTAG下載器進(jìn)行軟件升級(jí)雖然實(shí)現(xiàn)簡(jiǎn)單,但存在以下局限性[1]:

        (1)由于安裝位置的限制,有時(shí)裝在系統(tǒng)上的產(chǎn)品較難拆卸;

        (2)取下產(chǎn)品后,還需要打開(kāi)產(chǎn)品殼蓋才能實(shí)施下載,操作非常不便。

        為了減少產(chǎn)品的維護(hù)成本和提高效率,DSP芯片在線加載功能的實(shí)現(xiàn)顯得尤為重要。DSP在線加載是指完全脫離下載器,通過(guò)通信總線實(shí)現(xiàn)對(duì)DSP片內(nèi)FLASH的擦、寫(xiě),完成軟件升級(jí)。在線加載利用產(chǎn)品原有的通信接口,無(wú)需添加額外的接口設(shè)備,具有方便靈活等特點(diǎn),改善了傳統(tǒng)DSP程序下載的局限性。

        1 芯片介紹

        TMS320F2812存儲(chǔ)器空間定義如下[1]。

        (1)片內(nèi)RAM(18K×16)。5個(gè)存儲(chǔ)塊組成,H0(8K×16,0x3F8000~ 0x3F9FFF)、L0和 L1(2×4K×16,0x008000~0x009FFF,受保護(hù),不可用)、M0和 M1(2×1K×16,0x000040 ~ 0x0003FF)。

        (2)片內(nèi)OTP(1K×16 ROM)。0x3D7800~0x 3D7BFF,TI保留空間(1K×16)。

        (3)Boot ROM(4K×16 ROM)。0x3FF000~0x3FFFFF,TI限制,不可用。其中,0x3FFC00~0x3FFFBF存放TI公司的引導(dǎo)裝載程序,0x3FFFC0~0x3FFFFF存放復(fù)位向量。

        (4)片內(nèi)Flash(128K×16 Flash)。①J~B區(qū):0x3D8000~0x3F5FFF,120K×16,用戶使用空間;②A區(qū):0x3F6000~0x3F7FF5,16K×16,0x3F7FF6~0x3F7FF7入口地址;③密碼區(qū):0x3F7FF8~0x3F7FFF,8×16,CSM安全模塊,保密需要時(shí)使用。

        2 芯片啟動(dòng)說(shuō)明

        系統(tǒng)上電復(fù)位后,復(fù)位向量指向0x3FFFC0,其中是一條跳轉(zhuǎn)指令。如果MP/MC=0,地址跳轉(zhuǎn)至0x3FFC00運(yùn)行TI固化的引導(dǎo)裝載程序(簡(jiǎn)稱一級(jí)Boot)。引導(dǎo)裝載程序是根據(jù)GPIO引腳狀態(tài)決定啟動(dòng)類型,見(jiàn)表1[2]。

        表1 DSP上電啟動(dòng)類型

        本系統(tǒng)選擇的是Flash引導(dǎo)模式,所以一級(jí)Boot引導(dǎo)至地址0x3F7FF6,從中取出一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到至程序初始化入口地址(DSP281x_CodeStartBranch.asm中的_c_int00指定該入口地址,在編譯時(shí)編譯器會(huì)自動(dòng)生成入口地址,具體可通過(guò)map文件中的ENTRY POINT SYMBOL:"_c_int00"address:XXXXXXXX查詢),然后從主函數(shù)開(kāi)始執(zhí)行。

        3 在線加載需求

        為了實(shí)現(xiàn)在線加載功能,必須有一段引導(dǎo)程序能夠根據(jù)需要引導(dǎo)至加載程序或者APP程序,該引導(dǎo)程序簡(jiǎn)稱二級(jí)Boot。這里不對(duì)上位機(jī)的開(kāi)發(fā)進(jìn)行說(shuō)明,二級(jí)Boot的具體設(shè)計(jì)見(jiàn)第4章。

        4 設(shè)計(jì)方案

        分為3個(gè)程序模塊,分別是二級(jí)Boot、加載程序和APP程序[2]。經(jīng)過(guò)一級(jí)Boot后,進(jìn)入二級(jí)Boot。在二級(jí)Boot中運(yùn)行程序,根據(jù)設(shè)定的條件跳轉(zhuǎn)至加載程序或者APP程序。加載程序通過(guò)通信總線獲取APP目標(biāo)代碼,將其寫(xiě)入到FLASH區(qū)段,等待產(chǎn)品下電。APP目標(biāo)代碼是采用TI公司的Code Composer Studio(5.0及以上版本)開(kāi)發(fā)環(huán)境直接編譯生成.bin文件(對(duì)于5.0以下版本則只能生成.out文件,但可通過(guò)轉(zhuǎn)換工具如HEX2000.exe轉(zhuǎn)換為.bin文件)。

        5 設(shè)計(jì)說(shuō)明

        5.1 二級(jí)Boot

        二級(jí)Boot可根據(jù)不同的在線加載方法設(shè)計(jì)程序[3]。運(yùn)行一級(jí)Boot后,地址跳至二級(jí)Boot程序的入口地址,通過(guò)該入口地址進(jìn)入運(yùn)行二級(jí)Boot程序。該入口地址的獲取與二級(jí)Boot程序存放的Flash的位置有關(guān),通過(guò)在CMD文件中配置.text確定存放的Flash區(qū)段(需手動(dòng)配置),編譯時(shí)自動(dòng)生成進(jìn)入該區(qū)段的入口地址,并自動(dòng)填寫(xiě)至0x3F7FF6地址中。

        二級(jí)Boot跳轉(zhuǎn)指令分別如下。

        (1)跳至加載程序

        (2)跳至APP程序

        5.2 加載程序

        在加載程序的CMD文件中手動(dòng)配置.text(SECTIONS段內(nèi)的所有Flash空間定義都改為所占用的Flash區(qū)段),編譯時(shí)自動(dòng)生成進(jìn)入該區(qū)段的入口地址0x3f6d2d(該地址不固定,每次編譯可能會(huì)變化),將該地址手動(dòng)填寫(xiě)至二級(jí)Boot程序中的跳轉(zhuǎn)指令中,作為跳轉(zhuǎn)至加載程序的入口地址。

        加載程序接收到APP目標(biāo)碼后,寫(xiě)入到指定Flash的空間[4]。寫(xiě)入的起始地址從0x3E4000開(kāi)始(該地址在CMD文件中配置,例如APP只占用F~C區(qū)段,起始地址就為0x3E4000)。執(zhí)行過(guò)程為:擦除該區(qū)段→接收一幀目標(biāo)碼→判斷是否超過(guò)該區(qū)段,超過(guò)就擦除下一區(qū)段,直到能夠容納該目標(biāo)碼長(zhǎng)度為止→寫(xiě)入目標(biāo)碼→接收下一幀目標(biāo)碼。寫(xiě)入完成后,等待手動(dòng)下電。

        5.3 APP程序

        對(duì)于APP程序的入口地址,在接收到第一幀目標(biāo)碼中獲取后就寫(xiě)入到指定空間[5],本案例是0x3F3FF0-0x3F3FFF。

        在APP程序的CMD文件中手動(dòng)配置.text(SECTIONS段內(nèi)的所有Flash空間定義都改為所占用的Flash區(qū)段),編譯時(shí)自動(dòng)生成進(jìn)入該區(qū)段的入口地址(該地址不固定,每次編譯可能會(huì)變化)。該地址通過(guò)通信總線下發(fā)至加載程序,寫(xiě)入至0x3F3FF0地址。

        6 灌 裝

        在代碼編寫(xiě)時(shí)分別創(chuàng)建3個(gè)工程,分別對(duì)應(yīng)BOOT程序、加載程序和APP程序。3個(gè)工程中的CMD文件做相應(yīng)的配置修改,代碼編寫(xiě)并通過(guò)編譯后,按照以下操作灌裝至DSP中。

        (1)打開(kāi)Code Composer Studio,導(dǎo)入Boot程序工程和加載程序工程;

        (2)分別在兩個(gè)工程的debug屬性中選擇Flash setting,在其中選擇需要操作的Flash區(qū)段;

        (3)分別灌裝兩個(gè)程序;

        (4)退出CCS,利用上位機(jī)通過(guò)通信向DSP下載APP目標(biāo)碼,第一幀包含APP入口地址;通過(guò)JTAG將二級(jí)Boot和加載程序灌裝到DSP中,然后通過(guò)配套的上位機(jī)將APP程序目標(biāo)代碼通過(guò)通信總線下發(fā)至DSP。圖1為灌裝BOOT程序和加載程序界面,圖2為灌裝APP程序界面。

        圖1 灌裝Boot程序和加載程序

        圖2 上位機(jī)通過(guò)1394通信灌裝APP程序

        猜你喜歡
        程序產(chǎn)品
        好產(chǎn)品,可持續(xù)
        從靈感出發(fā),邂逅好產(chǎn)品
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        2015產(chǎn)品LOOKBOOK直擊
        Coco薇(2015年1期)2015-08-13 02:23:50
        恐怖犯罪刑事訴訟程序的完善
        新產(chǎn)品
        玩具(2009年10期)2009-11-04 02:33:14
        波多吉野一区二区三区av| 国产激情久久久久影院老熟女免费| 又黄又爽又高潮免费毛片| 日本视频一区二区三区免费观看 | 国产色婷婷久久又粗又爽| 精品国内在视频线2019| 国产精品久久久久久久久鸭| 无码AV午夜福利一区| 久久九九精品国产不卡一区| 国产成人无码a区在线观看导航 | 国产91第一页| 久久精品亚洲国产av网站| 久久伊人精品一区二区三区| 国产精品亚洲成在人线| 麻豆人妻无码性色AV专区| 蜜桃高清视频在线看免费1| 正在播放强揉爆乳女教师| 五十路熟女一区二区三区| 国产成人自拍小视频在线| 国产在线91精品观看| 国产青榴视频在线观看| 中国老太婆bb无套内射| 精品国产三级在线观看| 午夜无码片在线观看影院y| 一本色道久久88加勒比| 国产精品中文久久久久久久 | 扒开非洲女人大荫蒂视频| 青青草免费在线爽视频| 中文字幕天天躁日日躁狠狠躁免费 | 色一情一乱一伦一区二区三欧美| 亚洲中文字幕av一区二区三区人| 日本一区二区视频高清| 国产精品网站在线观看免费传媒| 一本大道久久香蕉成人网| 亚洲无线码一区在线观看| 网站在线观看视频一区二区| av永久天堂一区二区三区| 国产久视频国内精品999| 亚洲黑寡妇黄色一级片| 免费在线黄色电影| 4444亚洲人成无码网在线观看|