• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于串口的F2811程序在線升級(jí)

    2019-06-27 09:53:30嚴(yán)建龍
    微處理機(jī) 2019年3期
    關(guān)鍵詞:機(jī)軟件上位串口

    嚴(yán)建龍

    (洛陽(yáng)欒川鉬業(yè)集團(tuán)股份有限公司選礦三公司,河南欒川471500)

    1 引 言

    隨著嵌入式芯片在通信、電子、工業(yè)等領(lǐng)域的日益廣泛應(yīng)用,DSP 芯片燒寫程序的難易程度和產(chǎn)品后續(xù)升級(jí)服務(wù)變得十分重要。目前TMS320F2811 芯片程序更新方法主要有兩種:

    1) 通過TI 公司提供的燒寫工具,利用JTAG 仿真器進(jìn)行程序的擦除、燒寫等操作;

    2) 通過引導(dǎo)加載程序的下載功能,通過上位機(jī)軟件將經(jīng)轉(zhuǎn)換后的程序文件經(jīng)過各種接口燒寫至片內(nèi) Flash 中[1]。

    第一種方式便于跟蹤調(diào)試,但在實(shí)際應(yīng)用中增加了電路板體積,需將產(chǎn)品機(jī)殼打開,操作繁瑣,維護(hù)性差,用戶體驗(yàn)差,在產(chǎn)品量產(chǎn)后嚴(yán)重制約效率,在一些特殊場(chǎng)合JTAG 接口會(huì)影響產(chǎn)品工作的可靠性;而后者則大大降低了維護(hù)成本,有效提升了升級(jí)效率及可靠性,尤其是在產(chǎn)品量產(chǎn)階段具有十分可觀的經(jīng)濟(jì)價(jià)值[2]。

    實(shí)現(xiàn)基于串口的TMS320F2811 程序在線升級(jí),主要需完成以下兩個(gè)方面工作:編寫基于串口通信的BootLoader 引導(dǎo)程序;制定上位機(jī)與MCU 間通信協(xié)議。

    著重針對(duì)以上兩點(diǎn)具體的實(shí)現(xiàn)方式進(jìn)行詳細(xì)的闡述及討論。系統(tǒng)工作原理如圖1所示。

    圖1 系統(tǒng)工作原理框圖

    2 TMS320F2811內(nèi)核軟件及硬件設(shè)計(jì)

    2.1 MCU軟件模塊劃分

    F2811 軟件中包含兩個(gè)CCS 工程,其中工程A為輔助軟件升級(jí)程序,必須通過J-Link 進(jìn)行燒寫;工程B 為待進(jìn)行升級(jí)程序,既可通過J-Link 進(jìn)行燒寫,也可通過串口與上位機(jī)通信,以在線升級(jí)方式進(jìn)行燒寫。工程A、B 均須按照要求分配地址空間。

    2.2 Flash地址空間分配

    F2811 的 Flash 大小是 128k×16,分為 10 個(gè)Sector,每個(gè)Sector 有其各自的大小[3],地址區(qū)域劃分的詳細(xì)信息見表1。

    將Flash 區(qū)域重新劃分,具體見表2,可實(shí)現(xiàn)根據(jù)串口指令進(jìn)入原始程序,或者新程序,并且在Bootloader 過程中對(duì)設(shè)備進(jìn)行更新[4]。

    表1 F2811 Flash Sector 地址區(qū)域劃分

    表2 F2811 Flash Sector 地址區(qū)域重新劃分

    3 BOOT功能的設(shè)計(jì)與實(shí)現(xiàn)

    軟件在運(yùn)行過程中,若串口收到進(jìn)行程序升級(jí)指令后,BOOT 程序首先檢測(cè)當(dāng)前軟件所處的有效區(qū)標(biāo)志,其中輔助升級(jí)程序在段J 位置設(shè)置為A區(qū),待升級(jí)程序在J 位置設(shè)置為B 區(qū),擦除處于非有效區(qū)的Flash 空間,待擦除完畢后,通過對(duì)話框形式選擇待燒寫的hex 文件,之后軟件將自動(dòng)重啟,若軟件之前處于A 區(qū),則完成軟件的在線升級(jí);否則軟件處于B 區(qū)則重復(fù)上述步驟完成軟件的在線升級(jí)。系統(tǒng)軟件主程序設(shè)計(jì)具體流程如圖2所示。

    在擦除A 區(qū)過程中若出現(xiàn)異常情況,導(dǎo)致A 區(qū)應(yīng)用程序不可用,但由于B 區(qū)中的更新程序完好,當(dāng)系統(tǒng)重新上電運(yùn)行時(shí),BOOT 程序?qū)⑼ㄟ^B 區(qū)將輔助升級(jí)軟件重新下載到A 區(qū),自動(dòng)重啟后從A 區(qū)運(yùn)行,可執(zhí)行后續(xù)的升級(jí)操作,提高了整個(gè)系統(tǒng)的可靠性。

    圖2 系統(tǒng)軟件主流程圖

    Boot 中操作函數(shù)均通過CCS 開發(fā)環(huán)境制作成.lib 文件[5],輔助升級(jí)程序和待升級(jí)程序均可以調(diào)用,其中重要的函數(shù)如下:

    unsigned int Get_Active_Section(void); //檢測(cè)軟件有效區(qū)標(biāo)志,返回值A(chǔ) 或B

    void Enter_Update (int Erase_A); //根據(jù)所處區(qū)域,進(jìn)行flash 擦除、軟件升級(jí)操作

    4 串口在線升級(jí)操作實(shí)現(xiàn)

    4.1 MCU存儲(chǔ)區(qū)實(shí)現(xiàn)

    存儲(chǔ)區(qū)實(shí)現(xiàn)主要是通過.cmd 文件進(jìn)行[6],輔助升級(jí)程序與待升級(jí)程序的設(shè)置具體如下[7]:

    4.2 MCU更新數(shù)據(jù)實(shí)現(xiàn)

    MCU 更新數(shù)據(jù)采用 Intel HEX 文件[8],若要實(shí)現(xiàn)該HEX 文件,需使用hex2000.exe 工具和批處理文件out2hex.bat。具體內(nèi)容如下:

    此program.cmd 文件的內(nèi)容如下:

    將批處理文件 out2hex.bat、hex2000.exe、program.cmd 和CCS 開發(fā)環(huán)境中編譯生成的first.out文件放在同一路徑下,雙擊out2hex 文件即可。

    4.3 MCU與上位機(jī)軟件命令交互

    F2811 與上位機(jī)軟件之間的命令交互,主要包括進(jìn)入程序升級(jí)操作、擦除操作、發(fā)送程序數(shù)據(jù)操作、升級(jí)完成等,各項(xiàng)操作指令有對(duì)應(yīng)幀頭、幀尾及校驗(yàn)字節(jié),保證了數(shù)據(jù)傳輸和交互過程的準(zhǔn)確性及可靠性。

    4.4 燒寫步驟

    系統(tǒng)上位機(jī)軟件界面如圖3所示,包括操作按鈕、程序文件選擇對(duì)話框、程序運(yùn)行狀態(tài)顯示框等。

    圖3 上位機(jī)界面

    在上位機(jī)界面選擇相應(yīng)串口號(hào),配置串口通信的參數(shù)為:波特率115200bps,數(shù)據(jù)位8,起始位1,停止位1,無(wú)奇偶校驗(yàn)位。

    點(diǎn)擊“start”按鈕啟動(dòng)更新模式,然后按照提示框一步步完成軟件的串口在線升級(jí),軟件完成在線升級(jí)后,將自動(dòng)進(jìn)行軟件重啟,通過上位機(jī)軟件可查詢升級(jí)后的軟件版本號(hào),以確定軟件是否升級(jí)成功。

    5 結(jié)束語(yǔ)

    通過對(duì)基于串口TMS320F2811 芯片BOOT 引導(dǎo)程序原理的詳細(xì)闡述,分析了具體的實(shí)現(xiàn)步驟和方法。提出的基于串口的TMS320F2811 程序在線升級(jí)方法具有通用性,對(duì)于其它嵌入式芯片的實(shí)現(xiàn)具有一定的借鑒意義。實(shí)際應(yīng)用結(jié)果表明,基于串口的在線升級(jí)方法可靠性高,達(dá)到了預(yù)期的效果,大大提升了實(shí)際工作效率。

    猜你喜歡
    機(jī)軟件上位串口
    淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
    特斯拉 風(fēng)云之老阿姨上位
    車迷(2018年12期)2018-07-26 00:42:22
    “三扶”齊上位 決戰(zhàn)必打贏
    基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
    道岔監(jiān)測(cè)系統(tǒng)上位機(jī)軟件設(shè)計(jì)
    基于正交試驗(yàn)法的北斗用戶機(jī)軟件測(cè)試用例設(shè)計(jì)
    USB接口的多串口數(shù)據(jù)并行接收方法探索
    PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
    電子器件(2015年5期)2015-12-29 08:43:12
    基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
    以新思路促推現(xiàn)代農(nóng)業(yè)上位
    澜沧| 星子县| 上高县| 海宁市| 翁源县| 广东省| 乡宁县| 馆陶县| 乾安县| 光山县| 商都县| 海林市| 天长市| 海宁市| 山阴县| 吉林市| 陵川县| 从江县| 临安市| 松江区| 甘南县| 祁连县| 江口县| 张家界市| 五河县| 额尔古纳市| 三明市| 永登县| 茌平县| 宝坻区| 盐亭县| 大庆市| 西峡县| 深泽县| 榕江县| 巩义市| 德化县| 平山县| 察雅县| 三亚市| 信丰县|