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

基于串口的TMS320F28335應用程序在線升級技術的應用

2015-01-13 02:04:43戴桂木
化工自動化及儀表 2015年3期
關鍵詞:程序

沈 潤 張 喆 徐 瓊 戴桂木

(東南大學電氣工程學院,南京 210096)

TMS320F28335數(shù)字信號處理器是TI公司推出的一款浮點DSP控制器。相比以往的DSP,該器件是目前專門用于控制領域的最高性能的芯片,該器件具有精度高、成本低、功耗小、外設集成度高、數(shù)據(jù)和程序存儲空間大及AD轉(zhuǎn)換更精確快速等特點。很容易將系統(tǒng)的多種控制功能集中在一個芯片上完成,目前已廣泛應用于電機控制、儀器及儀表等工業(yè)。

TMS320F28335內(nèi)嵌256KB的Flash和34KB的SRAM,用于用戶存放程序代碼和運行數(shù)據(jù)。但對于大部分控制系統(tǒng)而言,需要升級和完善程序,通常Flash寫入的方法有:通過編程器寫入,這種方法簡單快捷,但是對于貼片F(xiàn)lash,器件一旦焊上,不便再取下來使用編程器寫入程序;在研發(fā)階段,TMS320F28335的應用程序通常都是通過仿真器和CCS集成開發(fā)環(huán)境來下載到DSP的內(nèi)部Flash單元。而利用仿真器的方式下載程序,對升級環(huán)境要求較多:計算機上必須安裝專業(yè)的CCS開發(fā)環(huán)境,必須配置仿真器,并需要安裝仿真器的驅(qū)動程序。需要專業(yè)技術人員才能完成,所以當需要修改程序時,往往需要技術人員到設備的現(xiàn)場進行操作,顯然,這種方式工作量極大,費時費力,增加了設備的維護成本[1,2]。

為了解決這個問題,就需要嵌入式系統(tǒng)具有軟件的在線升級功能。方案是使用DSP系統(tǒng)的外部接口,用PC機,通過RS232標準串口將升級軟件轉(zhuǎn)換成的二進制文件傳輸給DSP的外部RAM,這里選擇外部RAM,因為大多數(shù)情況下,程序的數(shù)據(jù)量比較大,內(nèi)部RAM空間一般不足,然后再由外部RAM燒寫到內(nèi)部Flash,實現(xiàn)DSP的在線升級。

1.1 可傳輸?shù)亩M制文件的生成

利用TI公司的DSP集成軟件開發(fā)環(huán)境對用戶程序進行編譯和連接生成的是通用目標文件格式(COFF)的文件。這種格式的目標文件結(jié)構(gòu)復雜,不僅包含了程序代碼,還包含了頭文件、符號表、段地址及初始化段入口等其他的信息,而且不能用常規(guī)方法打開為用戶可讀的形式[3]。COFF文件不能通過串口傳輸,因此必須轉(zhuǎn)換成普通的bin文件。方法是使用hex2000.exe將COFF文件轉(zhuǎn)化為hex文件,然后采用hex2bin.exe轉(zhuǎn)換為bin文件。

TI公司提供的hex2000工具可以將COFF格式的目標文件轉(zhuǎn)化成常見的16進制格式的數(shù)據(jù)流文件,包括ASCII-Hex、Intel MCS-86、Motorola-S、TI-Tagged及Tektronix等類型。hex200的使用方式有命令行方式和批處理方式:

命令行方式 hex2000 [options] filename

批處理方式 hex2000 command_filename

批處理方式可以多次使用,比較方便,本項目中使用的批處理文件內(nèi)容為:

TestPrj.out -boot -order MS -sci8 -map TestPrj.map -o TestPrj.hex -I

具體命令含義如下:

-boot 轉(zhuǎn)換所有段為可啟動形式

-order MS 指定輸出文件為大模式

-ci8 通過SCI啟動,8位模式

-map 創(chuàng)建映射文件

-o 指定一個輸出文件名

-I 指定輸出文件為Intel格式

通過上面的處理可以得到TestPrj.hex的16進制文件。此時hex文件的內(nèi)容就包括要燒寫到Flash的代碼數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)見表1,為了便于通過串口傳輸可以通過hex2bin得到TestPrj.bin文件。

表1 hex文件內(nèi)容

hex文件內(nèi)容根據(jù)批處理文件內(nèi)命令的不同略有不同。

1.2 上位機軟件的實現(xiàn)

上位機端程序首先讀取數(shù)據(jù)流文件,按照數(shù)據(jù)流文件格式和DSP端程序的通信協(xié)議將數(shù)據(jù)流的段部分分解成多幀數(shù)據(jù),并給每幀數(shù)據(jù)加上協(xié)議的報頭等信息,上位機端的程序與DSP端核程序通過RS232總線方式進行通信。上位機軟件用于選擇升級的文件,其界面如圖1所示。

圖1 上位機升級界面

1.3 DSP端底層程序

針對上述串口數(shù)據(jù)流,在SCI的中斷函數(shù)中將串口接收到的數(shù)據(jù)分別存放在外部RAM空間中。新代碼下載到DSP的RAM后調(diào)用TI對Flash的接口函數(shù)庫中的函數(shù),將新代碼燒寫到指定的Flash區(qū)域中,從而實現(xiàn)在線升級,其程序流程如圖2所示。

圖2 串口接收中斷流程

能否成功調(diào)用Flash_API是在線升級的關鍵所在,TI公司提供了專用的Flash庫文件,用于在線燒寫Flash。由于DSP芯片只有一個Flash區(qū)域,而Flash的結(jié)構(gòu)體系限制了同一時刻Flash只能執(zhí)行一個操作,同時Flash的庫函數(shù)對時序的要求比較嚴格,這兩個因素要求必須把Flash的API函數(shù)拷貝到內(nèi)部RAM運行,為了提高各個部分的運行速度,把整個程序都拷貝到內(nèi)部RAM運行,同時也滿足了Flash API的運行環(huán)境。存儲與運行空間的分布在cmd文件中有所體現(xiàn),.text段放在內(nèi)部RAM運行,具體代碼如下:

.text: LOAD = FLASHA, PAGE = 0

RUN=RAM_L0L1L2L3,PAGE=0

LOAD_START(_text_loadstart),

RUN_START(_text_runstart),

SIZE(_text_size)

同樣的方法把.bss、.cinit、.const及.econt等段都下載到Flash內(nèi),但都是從RAM區(qū)域運行。Flash API除了在RAM運行外,在調(diào)用相關函數(shù)前還需進行一些初始化,如添加庫文件初始化PLL等常規(guī)操作。同時對于Flash_CPUScaleFactor和Flash API回調(diào)函數(shù)的初始化也應注意,即使不使用回調(diào)函數(shù),也應進行初始化,防止程序陷阱。

Flash使用的庫函數(shù)有:Flash_Erase,Flash_Program和Flash_Verify。為處理方便,定義了結(jié)構(gòu)體變量供函數(shù)使用,定義的結(jié)構(gòu)體struct HEADER{ Uint32 BlockSize; Uint32 DestAddr; } BlockHeader,升級函數(shù)通過BlockHeader結(jié)構(gòu)體,將升級程序?qū)戇MFlash內(nèi)。

1.4 DSP的軟件復位

升級程序燒寫完成以后,利用TMS320F28335自帶的軟件看門狗實現(xiàn)軟件復位重啟,TMS320F28335的看門狗框圖(WDRST方式)如圖3所示。

TMS320F28335的看門狗有兩種方式:WDINT的中斷喚醒方式和WDRST方式,可以在SCSR寄存器中選定其中一種[4]。這里是要求系統(tǒng)復位重啟,而WDINT是實時監(jiān)控系統(tǒng)的,并不能按要求實現(xiàn)軟件復位,所以需要WDRST。復位模式下,當看門狗計數(shù)器達到最大計數(shù)值時,WDRST信號將會持續(xù)拉低XRS引腳512個信號周期,從而使得控制器復位[4]。

圖3 TMS320F28335的看門狗框圖(WDRST方式)

2 實驗效果

用筆者提供的方法生成bin文件,使用編寫的上位機軟件,通過串口向DSP燒寫更新程序,升級成功界面如圖4所示。

圖4 升級實驗效果

經(jīng)實驗驗證,通信穩(wěn)定,升級效果較好。

3 結(jié)束語

介紹了基于串口通信的DSP程序升級方法,產(chǎn)品安裝到現(xiàn)場后,程序的升級和維護可以通過串口方式來完成,簡單明了的升級界面給用戶良好的使用體驗,給產(chǎn)品的升級和維護帶來了極大的方便,提高了系統(tǒng)可維護性、可擴展性和靈活度,具有較好的使用價值,在其他系列的DSP上也有很強的通用性。對于不便到達現(xiàn)場的設備,如果加上GPRS模塊或者網(wǎng)絡接口可以實現(xiàn)遠程升級,更加提高了工作效率,給維護升級帶來極大便利。

[1] 吳小朦,李正宇,周進松.通過RS232串口實現(xiàn)DSP并行FLASH程序升級[J].通信技術,2012,45(1):141~143.

[2] 王敏,黃戰(zhàn)華,孫秋實,等.DSP系統(tǒng)程序遠程更新的研究與實現(xiàn)[J].計算機工程與應用,2012,48(8):109~111.

[3] 苗軍,倪奇志.COFF文件分析提取器的實現(xiàn)及其應用[J].現(xiàn)代電子技術,2009,32(2):42~44.

[4] 蘇奎峰,呂強,常天慶,等.TMS320C281x原理及C程序開發(fā)[M].北京:北京航空航天大學出版社,2008.

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 麻豆精品视频在线原创| 99久久精品美女高潮喷水| 免费视频在线2021入口| 欧美精品成人一区二区在线观看| 秘书高跟黑色丝袜国产91在线| 国产麻豆va精品视频| 91精品久久久无码中文字幕vr| 亚洲永久视频| 色窝窝免费一区二区三区| 一级毛片基地| 国产最新无码专区在线| 国产成人精品一区二区免费看京| 日韩精品毛片| 华人在线亚洲欧美精品| 亚洲欧美h| 日本高清免费一本在线观看| 无码在线激情片| 亚洲综合第一页| 亚洲av无码片一区二区三区| 成AV人片一区二区三区久久| 国产精品久久久久久影院| 波多野结衣中文字幕一区| 无码 在线 在线| 日韩在线欧美在线| 亚洲浓毛av| 免费一级毛片| 日韩精品一区二区深田咏美| 中文字幕一区二区人妻电影| 日韩午夜片| 青青草原国产一区二区| 一级福利视频| 欧美中文一区| 91在线视频福利| 九九香蕉视频| 国产精品综合色区在线观看| 久久婷婷国产综合尤物精品| 国产成人精品2021欧美日韩 | 99久久精品视香蕉蕉| 亚洲美女视频一区| 国内精自线i品一区202| 婷婷中文在线| 亚洲啪啪网| 国产一区亚洲一区| 久久久久青草大香线综合精品 | 精品国产欧美精品v| 国产第四页| 黄色网站在线观看无码| 中文字幕人妻无码系列第三区| 久久精品日日躁夜夜躁欧美| 特级做a爰片毛片免费69| 亚洲区视频在线观看| 日韩一级二级三级| 国产成人h在线观看网站站| 婷婷激情亚洲| 免费无码AV片在线观看国产| 免费日韩在线视频| 五月天综合网亚洲综合天堂网| 欧美三级视频在线播放| 九色视频线上播放| 999福利激情视频| AV在线麻免费观看网站| 99热最新网址| 久久精品人人做人人综合试看| 国产成人夜色91| 在线另类稀缺国产呦| 久久五月天国产自| 在线看片免费人成视久网下载| 国产精品内射视频| 日本精品视频一区二区| 日韩最新中文字幕| 亚洲天堂免费观看| 无码国产伊人| 99九九成人免费视频精品| 久久香蕉国产线看观看精品蕉| 综合色区亚洲熟妇在线| 亚洲天堂精品在线| 亚洲国产欧洲精品路线久久| 国产免费怡红院视频| 久久久噜噜噜| 无码区日韩专区免费系列| 亚洲色图欧美激情| 国产拍揄自揄精品视频网站|