999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于串口通信的DSP程序更新方法

2019-12-17 08:10:45曹丙虎張建新
科技視界 2019年34期
關鍵詞:程序設備方法

曹丙虎 張建新

【摘 要】嵌入式設備裝入整機或系統后,拆卸進行軟件升級非常困難。本文以TMS320F2812為例,提出一種通過串口進行軟件更新的方法。借鑒sci-A更新方式,不需要更改相關硬件端口,通過默認內部flash啟動,借助F2812內部存儲及API函數完成更新操作。實驗證明,該方法燒寫效率高,準確穩定,操作簡單,能夠應用于嵌入式軟件的在線升級。

【關鍵字】串口通信;flash;API;在線更新

中圖分類號: TP332文獻標識碼: A 文章編號: 2095-2457(2019)34-0111-002

DOI:10.19694/j.cnki.issn2095-2457.2019.34.049

0 引言

TMS320F2812是美國德州儀器公司推出的一款高性能定點DSP,主頻150MHz,集成了128k的FLASH、18k的SARAM,以及豐富的外部接口,廣泛應用于工業控制等領域。軟件經常隨用戶需求更改進行更新,傳統更新方式需要拆除外殼連接JTAG仿真器進行,這種方法燒寫穩定,但是操作繁雜。因此迫切需要一種簡單高效的程序更新方法,設備一般都會預留外部通信接口,因此我們選用常用的串口通過數據線對程序進行更新。

1 基本原理及操作流程

一般情況下DSP程序的燒寫是在CCS環境下通過JTAG仿真器連接設備和計算機實現的,這種方法雖然操作簡單穩定,但是受限于現場條件以及距離。假如DSP被裝入復雜的整機結構內,現場拆解困難,此時就無法通過傳統JTAG方式進行程序更新。DSP本身也提供了一種通過串口進行更新程序的方法,該方法需要配置相關管腳電平,選擇Boot Mode為SCI模式,然后配合相應軟件工具進行操作,這種方式對于硬件上事先未對端口做處理,無法配置電平信號的設備無法使用。

通過分析DSP的上電啟動過程發現可以在程序的啟動位置加入一段更新程序,用于實現FLSAH存儲內容的燒寫,來達到程序升級的目的。該方法不需要改變DSP的啟動方式,省去了管腳配置的麻煩,也不受復雜系統及環境的限制,可以簡單高效地完成程序的升級工作。更新程序通過傳統JTAG方式燒寫在指定FLASH空間,其他方式無法對其進行修改擦除,主要來時間與PC機輔助程序的串口通信握手,更新文件接收保存,調用Flash2812_API_V210函數對FLASH進行擦寫操作。

DSP上電啟動時,首先運行更新程序,程序啟動后稍加延時,等待與PC機通信握手,如果握手失敗程序跳轉至應用程序執行,握手成功則開始執行更新操作,接收PC機傳輸的更新文件后處理保存,完成接收后將完整文件寫入指定FLASH空間,燒寫操作完成程序跳轉至應用程序啟動位置。該方法完整流程圖如圖1所示。

2 方法具體實現過程

該更新方法的實現需要完成應用程序文件準備,上位機輔助軟件設計,DSP更新程序設計,DSP應用程序針對性修改,接下來會針對每一部分的實現進行詳細的說明。

2.1 應用程序文件的準備

應用程序通過CCS編譯生成的目標文件(.out)不能直接用于燒寫FLASH,使用CCS自帶的工具hex2000.exe將.out文件轉換為.hex文件,hex文件為bin文件對應的字符文件,直接將hex文件發送給DSP,由DSP程序進行處理轉換成對應bin文件并保存到RAM空間。為了提高工作效率,本文將hex2000.exe和out文件放在同一目錄c:\hex下,并編寫批處理文件保存在該目錄,運行批處理文件生成hex文件。批處理文件內容如下:

2.2 PC輔助軟件設計

PC輔助軟件主要是為了保障更新文件的高效準確傳輸,主要功能為連接設備、加載文件、文件傳輸以及過程監控。連接設備實現與DSP設備的通信握手,使更新程序停留在更新功能。加載文件功能讀入hex文件內容,字符串形式按行保存在發送文件緩沖區。文件傳輸通過串口通信,將緩沖區內容逐行發送給DSP更新程序。過程監控實時接收DSP設備反饋內容,實時顯示當前文件傳輸、燒寫進程。

2.3 更新程序設計

更新程序可以實現程序文件的接收、處理及暫存,程序寫入對應FLASH,跳轉執行應用程序。更新程序經過初始化寫入后不可修改和擦除,因此需要分配獨立的存儲空間,我們選取了FLASHA用于程序文件及變量的存儲,FLASHB用于上電復位加載程序。這兩個區域在用于程序的空間分配中被排除,具體的CMD文件相關內容如下:

SECTIONS

{

Flash28_API:

{

-lFlash2812_API_V210.lib(.econst)

-lFlash2812_API_V210.lib(.text)

} ? ? ? ? ? ? ? ? ? LOAD = FLASHB,

RUN = RAML0,

LOAD_START(_Flash28_API_LoadStart),

LOAD_END(_Flash28_API_LoadEnd),

RUN_START(_Flash28_API_RunStart),

PAGE = 0

.text ? ? ? ? ? ? ? : > FLASHA ? ? ?PAGE = 0

ramfuncs ? ? ? ? ? ?: LOAD = FLASHB,

RUN = RAML0,

LOAD_START(_RamfuncsLoadStart),

LOAD_END(_RamfuncsLoadEnd),

RUN_START(_RamfuncsRunStart),

PAGE = 0

}

為了簡化開發過程,我們以Flash2812_API_V210的DEMO程序為基礎,進行功能完善,主要完成以下工作:

(1)SCI端口配置為串口,串口參數初始化配置,串口采用接收中斷接收PC發送的指令數據,對接收的數據進行校驗處理后暫存到RAM空間備用。

(2)程序上電啟動首先判斷PC機是否發送了更新指令,根據指令選擇等待接收文件或者跳轉執行應用程序,采用匯編語言asm("LB 0x3DC000")跳轉到指定地址,該地址為應用程序存放地址。

(3)文件接收完畢后調用Example_CallFlashAPI()函數將文件寫入對應FLASH空間,該空間不能與更新程序定義的兩個扇區重疊,防止對更新程序造成修改。

(4)操作過程通過串口指令發送給PC程序,PC程序根據指令顯示當前狀態及進度。

2.4 應用程序修改

應用程序本身不需要進行修改,只對CMD文件配置進行修改,定義FLASH空間如下:

Flash_CTOH:origin=0x3DC000,length=0x018000

該段FLASH覆蓋C至H共6個扇區,可以滿足程序的存儲及加載需求,同時與更新程序使用的扇區不重合,操作不會影響更新程序,具體涉及的使用分配如下:

SECTIONS

{

.text ? ? ? ? ? ?: > Flash_CTOH, ? ? ?PAGE = 0

ramfuncs ? ? ? ? : LOAD = Flash_CTOH, PAGE = 0

RUN = Z2SARAM1, ? PAGE = 0

LOAD_START(_RamfuncsLoadStart),

LOAD_END(_RamfuncsLoadEnd),

RUN_START(_RamfuncsRunStart)

}

代碼啟動位置存儲在BEGIN_Flash內,該值為.text分配存儲FLASH區域的起始地址,BEGIN_Flash內容連接JTAG仿真器燒寫程序時被寫入,本方法中寫入更新程序的代碼啟動地址。應用程序通過更新程序寫入對應區域,不包括BEGIN_Flash的寫入操作,本方法中可以忽略應用程序中相關內容,定義與更新程序相同即可。應用程序的啟動運行通過更新程序尾部的地址跳轉完成,不使用CMD文件中定義的代碼啟動。

3 結論

本文介紹的這種基于串口通信的DSP程序更新方法,可以在不拆解設備的情況下實現軟件的更新升級。經過實驗發現,由于程序文件需要事先通過串口通信發送至DSP,更新升級的時間要比JTAG口燒寫程序耗時略長。雖然耗時增加,但是相對于設備的拆解時間幾乎可以忽略不計,因此該方法可以克服困難環境,應用于嵌入式設備的軟件程序更新升級中。

【參考文獻】

[1]蘇奎峰,呂強,耿慶鋒,等.TMS320F2812原理與開發[M].北京,電子工業出版社,2005.

[2]李聲飛,代華山.基于串口通信的DSP程序動態加載技術[J].電訊技術,2011,5l(6):121-124.

[3]汪晶晶,蘇建徽,孫佩石.基于串口通信的DSP應用程序在線升級方法[J].微型機與應用,2013,32(14):15-17.

猜你喜歡
程序設備方法
諧響應分析在設備減振中的應用
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
可能是方法不對
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 国产又大又粗又猛又爽的视频| 欧美亚洲一区二区三区导航| 波多野结衣一区二区三区四区视频 | 亚洲狼网站狼狼鲁亚洲下载| 午夜福利在线观看入口| 午夜无码一区二区三区在线app| 小说区 亚洲 自拍 另类| 亚洲IV视频免费在线光看| 91青青草视频| 亚洲精品视频免费| 国产男人天堂| 国产成人精品18| 午夜日本永久乱码免费播放片| 国内精品免费| 亚洲人成日本在线观看| 欧美亚洲第一页| 国产三区二区| 为你提供最新久久精品久久综合| 国产精品yjizz视频网一二区| 亚州AV秘 一区二区三区 | 亚洲毛片一级带毛片基地| 99久久精彩视频| 国产欧美视频在线观看| 国产真实乱子伦精品视手机观看| 精品一区二区三区无码视频无码| 亚洲日韩国产精品综合在线观看| 国产在线一区二区视频| 亚洲欧州色色免费AV| 欧美亚洲另类在线观看| Jizz国产色系免费| 午夜精品国产自在| 波多野结衣的av一区二区三区| 国产尤物在线播放| 亚洲无码精彩视频在线观看| 性欧美在线| 亚洲欧美成人综合| 亚洲伊人天堂| 爆乳熟妇一区二区三区| 国产99精品视频| 欧洲高清无码在线| 真实国产乱子伦视频| 成人国产三级在线播放| 日本免费精品| 国产精品综合久久久| 91精品国产91久久久久久三级| 日韩在线播放欧美字幕| 精品久久久久久久久久久| 国产在线拍偷自揄观看视频网站| 99re热精品视频中文字幕不卡| 亚洲美女高潮久久久久久久| 婷五月综合| 国产美女无遮挡免费视频| 亚洲精品少妇熟女| 永久免费无码成人网站| 久久一级电影| 欧美一级99在线观看国产| 亚洲国产精品一区二区高清无码久久| 欧美怡红院视频一区二区三区| 国产微拍精品| 日本高清视频在线www色| 日本精品视频一区二区| 国产精品久久久久无码网站| 欧美性色综合网| 91网在线| 欧美在线网| 黄色免费在线网址| 亚洲综合专区| 99久视频| 国产精品青青| 青青草原国产| 婷婷亚洲天堂| 国产白浆在线| 中国国产A一级毛片| 就去色综合| 91视频首页| 九九热精品视频在线| 国产91线观看| 国产尹人香蕉综合在线电影 | 欧美在线免费| 午夜性爽视频男人的天堂| 国产一区二区三区视频| 欧美成人一级|