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

?

一種基于DSP+FPGA架構(gòu)的軟件在線(xiàn)升級(jí)實(shí)現(xiàn)

2021-02-12 02:19:44
現(xiàn)代導(dǎo)航 2021年6期
關(guān)鍵詞:格式文件字節(jié)上位

趙 飛

一種基于DSP+FPGA架構(gòu)的軟件在線(xiàn)升級(jí)實(shí)現(xiàn)

趙 飛

(中國(guó)電子科技集團(tuán)公司第二十研究所,西安 710068)

為了解決在外場(chǎng)頻繁升級(jí)DSP程序所帶來(lái)的困擾,基于TI公司的TMS320C6416芯片平臺(tái),提出了一種基于DSP+FPGA硬件架構(gòu)的軟件程序在線(xiàn)升級(jí)方法,研究并實(shí)現(xiàn)DSP程序的在線(xiàn)升級(jí)過(guò)程以及上電后的啟動(dòng)引導(dǎo)流程。經(jīng)項(xiàng)目實(shí)際驗(yàn)證該方法具有實(shí)現(xiàn)簡(jiǎn)單、可靠性高等優(yōu)點(diǎn)。

TMS320C6416;在線(xiàn)升級(jí);啟動(dòng)引導(dǎo)

0 引言

在對(duì)TMS320C6416芯片進(jìn)行應(yīng)用時(shí),經(jīng)常在交付用戶(hù)使用以后,也需要對(duì)DSP程序進(jìn)行更新升級(jí),傳統(tǒng)的升級(jí)方法是將設(shè)備的蓋板打開(kāi),使用CCS軟件和仿真器連接設(shè)備的DSP芯片,將新的可執(zhí)行程序離線(xiàn)升級(jí)到與DSP所連接的Flash芯片中,然而這樣經(jīng)常需要技術(shù)人員去奔赴外場(chǎng),既費(fèi)時(shí)也費(fèi)力,而且偶爾也會(huì)因?yàn)榉抡嫫鳠o(wú)法連接上芯片從而導(dǎo)致無(wú)法升級(jí)或者升級(jí)失敗的問(wèn)題。為了解決這一問(wèn)題,本文提出了一種采用基于DSP+FPGA硬件架構(gòu)的在線(xiàn)升級(jí)方法,實(shí)現(xiàn)將可執(zhí)行程序通過(guò)上位機(jī)發(fā)送到DSP,經(jīng)EMIFA總線(xiàn)將數(shù)據(jù)存儲(chǔ)到與DSP芯片相連接的SDRAM中,DSP芯片再將存儲(chǔ)在SDRAM中的程序經(jīng)EMIFB總線(xiàn)接口燒寫(xiě)到與DSP所相連的FLASH芯片中,將數(shù)字信號(hào)處理板重新上電后經(jīng)Boot Loader程序進(jìn)行二次啟動(dòng)引導(dǎo),從而完成軟件的在線(xiàn)升級(jí)過(guò)程[1]。

1 硬件平臺(tái)設(shè)計(jì)

1.1 硬件平臺(tái)組成

基于DSP+FPGA架構(gòu)在線(xiàn)升級(jí)設(shè)計(jì)方案的硬件平臺(tái)如圖1所示。

圖1 硬件平臺(tái)框圖

在線(xiàn)升級(jí)的硬件平臺(tái)主要由一片F(xiàn)PGA、一片DSP和上位機(jī)組成。DSP和FPGA之間通過(guò)EMIF接口連接,上位機(jī)和FPGA通過(guò)RS232連接。其中上位機(jī)的作用是將在線(xiàn)升級(jí)程序的Bin格式文件通過(guò)RS232接口發(fā)送給FPGA,F(xiàn)PGA再通過(guò)EMIF接口將被升級(jí)的Bin格式文件發(fā)送給DSP,DSP通過(guò)EMIFA總線(xiàn)將收到的Bin文件存儲(chǔ)在和DSP芯片相連的SDRAM中,存儲(chǔ)完成后DSP芯片再通過(guò)EMIFB總線(xiàn)將存儲(chǔ)在SDRAM中的Bin文件燒寫(xiě)到FLASH中去。

1.2 TMS320C6416芯片的內(nèi)存空間分配

TMS320C6416芯片的內(nèi)部RAM的大小為1M Byte,Boot Loader程序和用戶(hù)程序共享這1M Byte的存儲(chǔ)空間。其中L1段為存放Boot Loader引導(dǎo)程序空間,VEC段為中斷向量表的存儲(chǔ)區(qū)域,IRAM為用戶(hù)程序的代碼和變量區(qū)域,SDRAM為數(shù)據(jù)存儲(chǔ)區(qū)域,其內(nèi)存分配情況如圖2所示。

圖2 程序內(nèi)存空間分配

1.3 BIN格式鏡像文件的生成

打開(kāi)CCS5.5軟件,采用仿真器連接DSP芯片。在View菜單欄下選中Memory Browser,在Memory Browser的地址欄中輸入內(nèi)部RAM的起始地址0x00,根據(jù)圖2中的內(nèi)存分配和內(nèi)存使用情況,對(duì)所需保存的Bin格式文件大小進(jìn)行計(jì)算。計(jì)算方式如下:

Bin文件大小=(L1+VEC+IRAM)/4

即:Bin文件大小=(0x400+0x400+0x32ff9)/4=0xCDFE

因FLSAH芯片每個(gè)片區(qū)的大小為0x20000,因而可以適當(dāng)擴(kuò)大IRAM的值,但I(xiàn)RAM的長(zhǎng)度不能超過(guò)圖2中IRAM所分配的長(zhǎng)度大小,即0x40000。

2 在線(xiàn)升級(jí)流程

對(duì)程序進(jìn)行升級(jí)前,需要對(duì)所要升級(jí)的Bin格式文件做一定的預(yù)處理。程序更新指令格式如圖3所示,在Bin格式文件前需要添加程序運(yùn)行體加載頭(長(zhǎng)度為14 Byte)。程序更新指令文件的累加和校驗(yàn)字的格式由3部分內(nèi)容(“保留3字節(jié)”+“加載時(shí)間7字節(jié)”+“數(shù)據(jù)主體”)計(jì)算的校驗(yàn)字,其長(zhǎng)度為4字節(jié),3部分內(nèi)容按字節(jié)累加的和,累加和長(zhǎng)度為32位的值,在進(jìn)行累加時(shí)不進(jìn)行數(shù)據(jù)截?cái)?,為?shí)際的累加值;加載時(shí)間采用BCD碼格式,如20180905110101,表示2018年9月5日11時(shí)1分1秒。

圖3 程序更新指令格式

程序升級(jí)主要流程如圖4所示,當(dāng)DSP收到在線(xiàn)升級(jí)命令時(shí)先對(duì)命令進(jìn)行校驗(yàn),若指令校驗(yàn)正確則開(kāi)始接收上位機(jī)分包下發(fā)的DSP Bin文件,每包數(shù)據(jù)長(zhǎng)度為256 Byte,DSP收到數(shù)據(jù)后對(duì)所收到的每一幀數(shù)據(jù)進(jìn)行程序更新應(yīng)答,若應(yīng)答成功,再發(fā)送下一包數(shù)據(jù),將應(yīng)答成功的數(shù)據(jù)存儲(chǔ)到SDRAM中。當(dāng)收到結(jié)束幀時(shí),對(duì)存儲(chǔ)在SDRAM中的數(shù)據(jù)開(kāi)始計(jì)算累加和,將此累加和與上位機(jī)所下發(fā)的累加和進(jìn)行比較,若相等則從SDRAM中取出存儲(chǔ)的DSP Bin文件,開(kāi)始進(jìn)行升級(jí)操作,升級(jí)成功則發(fā)送成功消息到上位機(jī),若失敗則發(fā)送升級(jí)失敗原因到上位機(jī),以便軟件開(kāi)發(fā)人員進(jìn)行故障排除。升級(jí)完成后,對(duì)設(shè)備進(jìn)行斷電,重新上電以便對(duì)DSP芯片進(jìn)行復(fù)位,上電后先根據(jù)程序加載時(shí)間判定新程序是否升級(jí)成功,再根據(jù)功能來(lái)判斷新升級(jí)的程序是否能正常運(yùn)行[2]。

圖4 程序更新流程圖

3 程序引導(dǎo)啟動(dòng)過(guò)程

當(dāng)板卡上電復(fù)位時(shí),DSP自動(dòng)搬運(yùn)Nor Flash的1 KB的Boot Loader程序,Boot Loader程序運(yùn)行從Nor Flash的1 KB之后讀取DSP用戶(hù)程序并加載。啟動(dòng)選擇EMIF方式啟動(dòng)。其中EMIFB總線(xiàn)選中CE1控制寄存器,映射到FLASH中的0x64000000起始地址。Boot.asm文件中的EMIF總線(xiàn)配置程序代碼如下[3]:

_boot:

mvkl EMIFB_GCR,A4;初始化全局控制寄存器

mvkl EMIFB_GCR_DATA,B4

mvkh EMIFB_GCR,A4

mvkh EMIFB_GCR_DATA,B4

stw B4,*A4

mvkl EMIFB_CE1,A4;初始化CE1控制寄存器

mvkl EMIFB_CE1_DATA,B4

mvkh EMIFB_CE1,A4

mvkh EMIFB_CE1_DATA,B4

stw B4,*A4

mvkl 0x00000400,A4

mvkl 0x64000400,B4

mvkh 0x00000400,A4

mvkh 0x64000400,B4

對(duì)于C64x系列應(yīng)用程序需要采用二級(jí)引導(dǎo),因?yàn)槌绦虻拈L(zhǎng)度一般會(huì)大于1K字節(jié)(一級(jí)引導(dǎo)時(shí)所復(fù)制的長(zhǎng)度)。使用兩級(jí)引導(dǎo)加載程序的過(guò)程如圖5所示,C64x的兩級(jí)引導(dǎo)步驟如下[4]:

(1)器件復(fù)位。DSP復(fù)位引腳上的低電平使得器件進(jìn)入復(fù)位狀態(tài)。

(2)一級(jí)引導(dǎo)器從CE1空間復(fù)制固定長(zhǎng)度的代碼到內(nèi)部RAM的0x0地址,所復(fù)制的內(nèi)容為二級(jí)引導(dǎo)代碼。

(3)二級(jí)引導(dǎo)代碼復(fù)制完成后,對(duì)CPU進(jìn)行復(fù)位,使得CPU從0x0地址開(kāi)始執(zhí)行,即二級(jí)引導(dǎo)代碼。二級(jí)引導(dǎo)將把應(yīng)用程序代碼復(fù)制到內(nèi)部的指定位置,并跳轉(zhuǎn)到程序入口_c_int00。

(4)執(zhí)行_c_int00,建立C運(yùn)行環(huán)境,如果使用了DSP/BIOS需對(duì)其初始化。

(5)C運(yùn)行環(huán)境建立好之后,運(yùn)行主函數(shù)main()。如果使用了DSP/BIOS,進(jìn)入DSP/BIOS調(diào)度。

通過(guò)上述步驟,應(yīng)用程序就能自動(dòng)運(yùn)行起來(lái)。

圖5 C64x兩級(jí)啟動(dòng)引導(dǎo)流程

4 結(jié)束語(yǔ)

本文針對(duì)DSP TMSC6416芯片的軟件在線(xiàn)升級(jí)問(wèn)題,詳細(xì)介紹了軟件在線(xiàn)升級(jí)的原理和實(shí)現(xiàn)方法,并且介紹了軟件升級(jí)完成后的啟動(dòng)引導(dǎo)過(guò)程。采用此方法能方便地實(shí)現(xiàn)對(duì)遠(yuǎn)端設(shè)備的程序升級(jí),經(jīng)驗(yàn)證此方法程序升級(jí)簡(jiǎn)單,且穩(wěn)定可靠,并已應(yīng)用在多個(gè)項(xiàng)目中,取得了良好的效果。

[1] 鐘睿. DSP技術(shù)完全攻略[M]. 北京:化學(xué)工業(yè)出版社,2015.

[2] 姚昱萱. 基于TMS32064xx芯片系統(tǒng)的在線(xiàn)升級(jí)設(shè)計(jì)[J]. 科技信息,2013(5):272-274.

[3] 李鵬. DSP在線(xiàn)升級(jí)與資源優(yōu)化再配置[J]. 計(jì)算機(jī)工程,2008,34(17):225-226.

[4] 尹良鏡,王東升. 基于TMS320F28335的CAN總線(xiàn)的在線(xiàn)升級(jí)[J]. 機(jī)械工程與自動(dòng)化,2018,4.

Software Online Upgrade Implementation Based on DSP and FPGA Architecture

ZHAO Fei

In order to solve the trouble caused by the frequent upgrade of DSP program in the outfield, based on TMS320C6416 chip platform of TI company, an online upgrading method of software program based on DSP and FPGA hardware architecture is proposed. The online upgrading process of DSP programs and the boot process after power-on are studied and realized, which is verified by the actual project The method has the advantages of simple implementation and high reliability.

TMS320C6416; Online Upgrade; Boot Loader

TP368.1

A

1674-7976-(2021)-06-462-04

2021-09-27。

趙飛(1990.09—),陜西西安人,碩士,工程師,主要研究方向?yàn)殛懟鶡o(wú)線(xiàn)電導(dǎo)航和數(shù)字信號(hào)處理。

猜你喜歡
格式文件字節(jié)上位
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
使用“格式文件”將徠卡儀器數(shù)據(jù)導(dǎo)出成cass 格式的方法
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
特斯拉 風(fēng)云之老阿姨上位
車(chē)迷(2018年12期)2018-07-26 00:42:22
簡(jiǎn)談MC7字節(jié)碼
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
編寫(xiě)徠卡TS02型全站儀格式文件的方法探索
回歸基礎(chǔ) 到底什么是RAW格式文件?
以新思路促推現(xiàn)代農(nóng)業(yè)上位
吐鲁番市| 嫩江县| 雷山县| 孟连| 南溪县| 罗源县| 嘉定区| 温宿县| 卢龙县| 凤冈县| 钦州市| 项城市| 太白县| 九龙城区| 鄂州市| 阿瓦提县| 保定市| 南平市| 勐海县| 寿宁县| 巫山县| 廉江市| 巴南区| 襄樊市| 柘荣县| 二连浩特市| 方正县| 辛集市| 德钦县| 保靖县| 林西县| 射洪县| 五台县| 云浮市| 泰州市| 台江县| 栾城县| 乐平市| 枝江市| 慈利县| 廉江市|