国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PCI總線的DSP6713在線燒寫方法研究

2017-07-19 10:08安景新趙昶宇
科技與創(chuàng)新 2017年13期
關(guān)鍵詞:上位總線應(yīng)用程序

安景新,趙昶宇

(1.海軍駐天津八三五七所軍事代表室,天津 300308;2.天津津航計算技術(shù)研究所,天津 300308)

基于PCI總線的DSP6713在線燒寫方法研究

安景新1,趙昶宇2

(1.海軍駐天津八三五七所軍事代表室,天津 300308;2.天津津航計算技術(shù)研究所,天津 300308)

基于DSP的應(yīng)用程序的傳統(tǒng)升級方法是將控制器拆卸下來,然后利用仿真器和JTAG完成程序的燒寫工作,該方法既費時又費力。為了提高升級程序的效率,降低設(shè)備維護的成本,以DSP6713為例,提出了一種在線燒寫應(yīng)用程序的方法,闡述了在線燒寫的原理,介紹了上位機端軟件、DSP端軟件和bootloader程序的設(shè)計思想,為DSP技術(shù)開發(fā)和維護人員提供了一種方便、快捷的升級程序方法。

PCI總線;DSP6713;在線燒寫;bootloader

在線燒寫技術(shù),即在應(yīng)用編程(IAP,In-Application Programming),是在系統(tǒng)運行的過程中的動態(tài)編程,從系統(tǒng)中獲取新代碼并對自身進行重新編程,用程序來改變程序的一種方法。該方法不需要借助外部手段,也不用進行任何機械操作,即可完成程序執(zhí)行代碼的動態(tài)修改。通常將芯片的內(nèi)部存儲區(qū)分為3個部分,即引導程序區(qū)、運行程序區(qū)和下載區(qū)。芯片接收到下載命令后,進入引導區(qū)運行引導程序,在引導程序下將用戶應(yīng)用程序代碼內(nèi)容下載到下載區(qū),下載完畢并校驗通過后再將下載區(qū)的內(nèi)容復制到運程程序區(qū),運行復位程序,完成Flash的在線燒寫。

本文以TMS320C6713浮點DSP為例,提出一種基于PCI總線的DSP在線燒寫的方法,避免了在升級程序時因拆卸控制器帶來的各種問題,降低了設(shè)備的維護成本。

1 TMS320C6713在線燒寫原理

TMS320C6713沒有自帶FLASH存儲器,應(yīng)用程序要燒寫到外擴FLASH中,由外擴FLASH引導自啟動。由于FLASH讀取速度較RAM相對比較慢,因此,6713需要在上電復位后將FLASH中的應(yīng)用程序代碼引導到內(nèi)部RAM中運行。

具體流程為: FLASH起始地址開始的1 Kbyte的內(nèi)容存放6713的啟動程序bootloader;上電復位后,6713會由DMA或EDMA自動將FLASH起始地址開始的1 Kbyte的內(nèi)容搬移到內(nèi)部RAM中,開始執(zhí)行bootloader程序。bootloader程序的功能是完成FLASH中應(yīng)用程序到6713內(nèi)部RAM的復制工作。當復制工作完成后,6713會調(diào)用c_int00()復位中斷去執(zhí)行,開始執(zhí)行應(yīng)用程序,從而完成了6713的在線燒寫和自啟動工作。

2 在線燒寫軟件設(shè)計

TMS320C6713的在線燒寫軟件部分主要是由上位機端軟件和DSP端軟件構(gòu)成。上位機端軟件主要完成讀取可執(zhí)行代碼文件,進行格式轉(zhuǎn)換后將該文件通過PCI總線發(fā)送給DSP端,等待DSP端的響應(yīng);DSP端軟件主要接收上位機端軟件發(fā)送的可執(zhí)行代碼文件,并將該文件立即燒寫到FLASH中,完成燒寫過程。此外,DSP端還需實現(xiàn)bootloader程序的功能。

基于TMS320C6713開發(fā)的應(yīng)用程序經(jīng)過CCS編譯生成的目標文件類型為.out文件,而TMS320C6713無法識別該文件類型,需要通過hex6x.exe工具將.out文件轉(zhuǎn)換成TMS320C6713可以識別的十六進制文件類型.hex文件。

2.1 上位機端軟件設(shè)計

上位機端軟件首先讀取.hex文件,通過解析hex文件內(nèi)容,將其拆分為多條數(shù)據(jù)幀結(jié)構(gòu)。上位機端軟件與DSP端軟件通過PCI總線進行通訊。

上位機端軟件向DSP端軟件發(fā)送的每幀數(shù)據(jù)都帶有校驗和,當DSP端程序接收到該幀數(shù)據(jù)后,通過校驗和對接收數(shù)據(jù)進行確認。確認完畢后,DSP端軟件將確認幀發(fā)送給上位機端軟件,上位機端軟件收到DSP端發(fā)送的確認幀后,再向DSP端軟件發(fā)送下一幀數(shù)據(jù);當上位機軟件將全部數(shù)據(jù)都發(fā)送完畢后,上位機端軟件向DSP端軟件發(fā)送數(shù)據(jù)的總長度,DSP端軟件將該總長度與接收到的數(shù)據(jù)長度進行比較,將結(jié)果發(fā)送給上位機端軟件,完成整個數(shù)據(jù)的總校驗。

2.2 DSP端軟件設(shè)計

為了保證接收數(shù)據(jù)的準確性和完整性,DSP端軟件在接收數(shù)據(jù)的過程中,不執(zhí)行對RAM或FLASH操作的相關(guān)代碼;同時,關(guān)閉其他的外部中斷,僅響應(yīng)PCI中斷,保證了數(shù)據(jù)接收的實時性。此外,DSP端軟件將接收到的數(shù)據(jù)存儲在外擴的FLASH中,等到接收完全部數(shù)據(jù)后,再進行程序的燒寫,防止在接收數(shù)據(jù)過程中出現(xiàn)意外,進而導致系統(tǒng)程序不能正常工作。

FLASH的燒寫工作也是DSP端軟件需要實現(xiàn)的重要功能。在擦除或讀寫FLASH之前,必須先執(zhí)行相應(yīng)的命令字序列,即在指定的FLASH地址處寫入指定的指令代碼。向FLASH的指定地址中寫入數(shù)據(jù),需要4個總線周期。前兩個是解鎖周期,第三個是建立編程命令,最后一個周期完成向編程地址中寫入編程數(shù)據(jù)。

待寫入的數(shù)據(jù)為.hex文件內(nèi)容。

上位機端軟件和DSP端軟件的處理流程如圖1所示。

圖1 上位機端軟件和DSP端軟件的處理示意流程圖

2.3 bootloader程序設(shè)計

bootloader程序的主要功能是將應(yīng)用程序段從FLASH復制到DSP的內(nèi)部RAM中,再跳轉(zhuǎn)到程序的入口處開始執(zhí)行主程序。DSP上電復位后,DMA/EDMA自動拷貝1 KB數(shù)據(jù)到地址0處,然后從0地址處開始執(zhí)行引導代碼指令。使用DMA/EDMA可以快速、靈活地實現(xiàn)DSP存儲空間內(nèi)數(shù)據(jù)的搬移。數(shù)據(jù)搬移的源/目的可以是片內(nèi)存儲器、片內(nèi)外設(shè)或外部器件。

bootloader的示例程序如下:

main()

{

init();//初始化DSP

init_DMA();初始化DMA

*(int*)DMA_OPT=0x29300001;//開始拷貝

while(!((*(int*)DMACIPR)&0x00000001));

*(int*)DMACIPR|=0x00000001;

asm(“NOP 8”);

asm(“MVK.s2 0x00003820,B0”);//跳轉(zhuǎn)到應(yīng)用程序代碼

asm(“B.s2 B0”);

asm(“NOP 6”);

}

上述代碼中的0x00003820是DSP程序.map文件中的boot.obj地址。c_int00函數(shù)定義為程序代碼入口,c_int00函數(shù)在系統(tǒng)復位后首先被執(zhí)行,引導程序進入main主程序。c_int00函數(shù)包含在boot.obj中,boot.obj鏈接在rt s6700.lib運行支持庫內(nèi)?!癕VK.s2 0x00003820,B0”可實現(xiàn)跳轉(zhuǎn)到應(yīng)用程序代碼,開始執(zhí)行應(yīng)用程序。

3 6713在線燒寫的步驟

6713在線燒寫分為以下4個步驟:①利用CCS開發(fā)工具將要升級的應(yīng)用程序編譯生成.out文件,利用hex6x.exe工具將.out文件轉(zhuǎn)換成.hex文件;②利用DSP仿真器將DSP端軟件燒寫完畢,此時DSP具有在PCI總線下燒寫程序的功能;③利用上位機端軟件將被燒寫的應(yīng)用程序發(fā)送到DSP中;④DSP重新上電,即可自動運行新更新的應(yīng)用程序,完成DSP的在線程序燒寫。

4 結(jié)束語

本文研究的基于PCI總線的DSP6713在線燒寫方法和傳統(tǒng)的燒寫程序的方法相比,具有明顯的優(yōu)勢,極大地降低了軟件維護人員的工作量,提高了軟件升級的質(zhì)量和效率。該方法已成功應(yīng)用到某型號DSP控制系統(tǒng)中,經(jīng)過實際應(yīng)用證明,軟件燒寫過程快速、穩(wěn)定、可靠。

該技術(shù)的研究使DSP的程序的更新可以脫離仿真器,為程序的更新和程序的遠程維護提供了方便,具有很強的實用性。

[1]劉德生,李杰.基于JTAG的DSP外部Flash在線編程與引導技術(shù)[J].電子技術(shù)應(yīng)用,2005(03).

[2]李方慧.TMS320C6000系列DSPs芯片的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2000.

〔編輯:張思楠〕

TP368.1

A

10.15913/j.cnki.kjycx.2017.13.087

2095-6835(2017)13-0087-02

猜你喜歡
上位總線應(yīng)用程序
關(guān)于CAN總線的地鐵屏蔽門控制思路論述
一場史無前例的樂隊真人秀
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
基礎(chǔ)油“上位”
Q&A熱線
三星電子將開設(shè)應(yīng)用程序下載商店
PCI9030及其PCI總線接口電路設(shè)計
微軟軟件商店開始接受應(yīng)用程序
基于VC的PLC數(shù)據(jù)采集管理系統(tǒng)