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
主站蜘蛛池模板: 亚洲人成网站在线观看播放不卡| 亚洲AV无码乱码在线观看代蜜桃| 久久a级片| 午夜欧美在线| 69国产精品视频免费| 欧美亚洲激情| 精品国产欧美精品v| 欧美视频在线播放观看免费福利资源| 国产乱人伦AV在线A| 99热6这里只有精品| 国产屁屁影院| 她的性爱视频| 欧美日韩中文国产va另类| 亚洲欧美成人网| 亚洲AV永久无码精品古装片| 国产精品综合久久久| 91免费国产高清观看| 人妻无码一区二区视频| 国产欧美专区在线观看| 久久久久中文字幕精品视频| 日本一区二区三区精品视频| 中文成人在线| 九九热视频在线免费观看| 国产喷水视频| 国产色伊人| 国产第一页第二页| 日韩在线播放中文字幕| av在线无码浏览| 青青青国产精品国产精品美女| 日本午夜影院| 中文字幕人妻av一区二区| 中文字幕1区2区| 亚洲第一视频网| 日韩欧美在线观看| 久久黄色视频影| 久热中文字幕在线观看| 国产成人亚洲毛片| 国产成人三级| 国产亚洲精品自在久久不卡| 国产成人啪视频一区二区三区| 真人高潮娇喘嗯啊在线观看| 巨熟乳波霸若妻中文观看免费| 91精品专区| 国产免费一级精品视频| 欧美国产日韩在线播放| 最新加勒比隔壁人妻| 欧美午夜在线播放| 99尹人香蕉国产免费天天拍| 欧美色综合网站| 久草视频福利在线观看| 日本黄色a视频| 看国产毛片| 99中文字幕亚洲一区二区| 国产成人欧美| 婷婷中文在线| 操操操综合网| 国产丰满大乳无码免费播放| 日a本亚洲中文在线观看| 亚洲伊人久久精品影院| 日本国产一区在线观看| 国产激爽爽爽大片在线观看| 毛片国产精品完整版| 毛片网站免费在线观看| 一区二区欧美日韩高清免费| 中国国产A一级毛片| 操美女免费网站| 国产第一页免费浮力影院| 亚洲欧洲一区二区三区| 成人无码区免费视频网站蜜臀| 国产91在线免费视频| 69免费在线视频| 国产一区二区三区在线精品专区| 国产熟女一级毛片| 国产精品永久久久久| 欧美综合一区二区三区| 乱人伦视频中文字幕在线| 国产精品亚洲精品爽爽| 亚洲天堂免费| 超碰91免费人妻| 色窝窝免费一区二区三区| 欧美日韩中文国产| 亚洲成在人线av品善网好看|