• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于串口的TMS320F28335應(yīng)用程序在線升級技術(shù)的應(yīng)用

      2015-01-13 02:04:43戴桂木
      化工自動(dòng)化及儀表 2015年3期
      關(guān)鍵詞:看門狗仿真器批處理

      沈 潤 張 喆 徐 瓊 戴桂木

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

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

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

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

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

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

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

      命令行方式 hex2000 [options] filename

      批處理方式 hex2000 command_filename

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

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

      具體命令含義如下:

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

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

      -ci8 通過SCI啟動(dòng),8位模式

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

      -o 指定一個(gè)輸出文件名

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

      通過上面的處理可以得到TestPrj.hex的16進(jìn)制文件。此時(shí)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 上位機(jī)軟件的實(shí)現(xiàn)

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

      圖1 上位機(jī)升級界面

      1.3 DSP端底層程序

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

      圖2 串口接收中斷流程

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

      .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ū)域運(yùn)行。Flash API除了在RAM運(yùn)行外,在調(diào)用相關(guān)函數(shù)前還需進(jìn)行一些初始化,如添加庫文件初始化PLL等常規(guī)操作。同時(shí)對于Flash_CPUScaleFactor和Flash API回調(diào)函數(shù)的初始化也應(yīng)注意,即使不使用回調(diào)函數(shù),也應(yīng)進(jìn)行初始化,防止程序陷阱。

      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ū)戇M(jìn)Flash內(nèi)。

      1.4 DSP的軟件復(fù)位

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

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

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

      2 實(shí)驗(yàn)效果

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

      圖4 升級實(shí)驗(yàn)效果

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

      3 結(jié)束語

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

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

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

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

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

      猜你喜歡
      看門狗仿真器批處理
      把他叫醒
      一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
      大眾科技(2015年11期)2015-11-24 01:57:16
      基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
      把它叫醒
      把它叫醒
      基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計(jì)算方法的實(shí)現(xiàn)
      天文測量仿真器模擬星圖精度分析
      并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計(jì)及性能分析
      基于32位SPARC處理器的JTAG仿真器設(shè)計(jì)與實(shí)現(xiàn)
      批處理天地.文件分類超輕松
      潮安县| 葫芦岛市| 和田市| 湘乡市| 静乐县| 岑巩县| 拉萨市| 清原| 丰城市| 容城县| 赤水市| 湘阴县| 尖扎县| 密云县| 抚顺县| 屏东市| 平湖市| 保亭| 班玛县| 芒康县| 冷水江市| 叶城县| 陇西县| 白朗县| 印江| 宁安市| 永吉县| 左贡县| 梓潼县| 水富县| 高雄市| 永昌县| 轮台县| 林西县| 屯留县| 静海县| 房产| 曲沃县| 天津市| 连平县| 开阳县|