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

DSP 程序的通用在線燒寫方法研究

2022-07-14 11:26:34趙昶宇
科技與創(chuàng)新 2022年13期
關(guān)鍵詞:程序系統(tǒng)

趙昶宇

(天津津航計(jì)算技術(shù)研究所,天津 300308)

隨著芯片技術(shù)和微電子技術(shù)的不斷進(jìn)步和發(fā)展,數(shù)字信號(hào)處理器(DSP)在圖像處理、通信以及控制等領(lǐng)域被越來越廣泛的應(yīng)用。早期的DSP 系統(tǒng)通常采用EPROM 或者E2PROM 作為存儲(chǔ)器保存程序代碼,在對(duì)這類存儲(chǔ)器進(jìn)行編程時(shí),需要將存儲(chǔ)芯片取下來利用專門的編程器進(jìn)行編程。當(dāng)需要軟件升級(jí)的設(shè)備較多,或者芯片不易從系統(tǒng)中拆卸時(shí),這種編程方式會(huì)給開發(fā)人員增加許多工作量。非易失性存儲(chǔ)器FLASH 出現(xiàn)后簡(jiǎn)化了編程環(huán)境,不需要從系統(tǒng)中拆取芯片,可利用板上的MCU 進(jìn)行編程,在線編程技術(shù)也在此時(shí)應(yīng)運(yùn)而生。

運(yùn)用在線編程技術(shù)時(shí),DSP 通過某種特定接口對(duì)用戶程序進(jìn)行燒寫和重新編制,不用打開控制箱體和插拔仿真器便可完成程序內(nèi)部相關(guān)參數(shù)的變更及監(jiān)控,遠(yuǎn)程更新數(shù)據(jù)程序。當(dāng)前DSP 程序的在線燒寫方法是采用某種單一的接口進(jìn)行程序燒寫,不能滿足多接口燒寫的需求;大多數(shù)基于DSP 設(shè)計(jì)的處理模塊的RAM 容量有限,不能滿足同時(shí)選擇和加載多個(gè)應(yīng)用程序的需求;大多數(shù)系統(tǒng)在燒寫完升級(jí)后的程序后,還需要對(duì)DSP 進(jìn)行復(fù)位操作,系統(tǒng)才能運(yùn)行升級(jí)后的程序。為了提高DSP 程序在線燒寫的可靠性和靈活性,滿足用戶采用多通信方式進(jìn)行在線燒寫的需求,本文提出了一種DSP 程序在線燒寫方法。

1 采用多種通信方式實(shí)現(xiàn)上位機(jī)端和DSP 端的通信

傳統(tǒng)的上位機(jī)和DSP 端的通信均采用單一固定的通信協(xié)議,一旦用戶需求發(fā)生改變,或者系統(tǒng)硬件芯片完成替代升級(jí)后,新的DSP 硬件系統(tǒng)已經(jīng)無法使用原有的通信協(xié)議實(shí)現(xiàn)上位機(jī)和DSP 端的通信。這種情況下只能根據(jù)新的通信協(xié)議重新開發(fā)應(yīng)用軟件,給系統(tǒng)的維護(hù)帶來了不小的困難和挑戰(zhàn)。這種單一的通信方式已經(jīng)不能滿足嵌入式DSP 系統(tǒng)復(fù)雜性和多變性的要求,迫切需要一種可支持多種協(xié)議的通信機(jī)制。

由于當(dāng)前通信協(xié)議的種類繁多,有的通信協(xié)議還比較復(fù)雜,傳統(tǒng)的支持多種通信協(xié)議的工作模式只關(guān)注通信接口的實(shí)現(xiàn)與開發(fā),這種方式的缺點(diǎn)是可移植性較差,仍然不能滿足用戶的復(fù)雜需求。本文提出了一種可擴(kuò)展的多通信方式模塊,該模塊主要由5 部分組成,即協(xié)議層、協(xié)議管理層、數(shù)據(jù)收發(fā)層、傳輸層和接口層,同時(shí)兼顧有線和無線多種通信能力,可根據(jù)具體環(huán)境進(jìn)行靈活選擇。采用可擴(kuò)展的通信協(xié)議棧,可擴(kuò)展通信接口和通信協(xié)議。利用該模塊可將數(shù)據(jù)的收發(fā)過程和數(shù)據(jù)內(nèi)部表示的信息分離,數(shù)據(jù)的收發(fā)由抽象的收發(fā)器接口表示并由硬件實(shí)現(xiàn),通過專門的協(xié)議管理層擴(kuò)展通信協(xié)議,協(xié)議管理層具有協(xié)議注冊(cè)和匹配功能。協(xié)議層通常由一組平等的協(xié)議集合組成,當(dāng)系統(tǒng)中需要加入新的協(xié)議時(shí),先在協(xié)議層實(shí)現(xiàn)新的協(xié)議,然后向協(xié)議管理層注冊(cè)后就可以使用[1]。

接口層和傳輸層主要針對(duì)硬件設(shè)備,一種類型的接口對(duì)應(yīng)一種類型的傳輸層,比如RS232、RS422、RS485 均屬于串口傳輸層;數(shù)據(jù)收發(fā)層的功能是負(fù)責(zé)設(shè)備底層的數(shù)據(jù)接收和發(fā)送,通信協(xié)議采用數(shù)據(jù)統(tǒng)一收發(fā)的方式,有效地實(shí)現(xiàn)對(duì)應(yīng)用程序和底層接口驅(qū)動(dòng)的隔離;協(xié)議管理層的功能是負(fù)責(zé)協(xié)議匹配,并解析已收到的和尚未發(fā)送的指令幀的指令類型、目的地址和幀計(jì)數(shù);協(xié)議層的功能是對(duì)數(shù)據(jù)幀和應(yīng)答幀進(jìn)行分類處理。多通信方式的軟件流程如圖1 所示。

圖1 多通信方式的軟件流程圖

2 采用動(dòng)態(tài)程序加載技術(shù)實(shí)現(xiàn)DSP 的加載啟動(dòng)

傳統(tǒng)的DSP 應(yīng)用系統(tǒng)中采用Bootloader 程序?qū)崿F(xiàn)代碼的加載,但是這種方式在實(shí)際應(yīng)用中也存在著很多弊端和限制,具體如下:由于Bootloader 程序固化在DSP 芯片內(nèi)部,因此,其具有不易修改的特性;該Bootloader 程序只被加載一次,且僅在DSP 芯片上電復(fù)位時(shí)被加載;Bootloader 程序能夠加載的程序大小有限制。因此,本文設(shè)計(jì)了一種可擴(kuò)展的Bootloader 程序,即采用了動(dòng)態(tài)加載技術(shù)。

該動(dòng)態(tài)加載技術(shù)是一個(gè)相對(duì)獨(dú)立的功能模塊,由動(dòng)態(tài)程序加載模塊實(shí)現(xiàn)。它的基本功能是讀取Flash芯片中指定地址內(nèi)存儲(chǔ)的程序代碼及數(shù)據(jù)信息,將其加載到DSP 芯片的片內(nèi)RAM 中;將接收到的程序代碼及數(shù)據(jù)信息寫入DSP 片內(nèi)指定的RAM 中。動(dòng)態(tài)程序加載模塊需要將DSP 片內(nèi)ROM 中固化的加載引導(dǎo)程序(Bootloader)在系統(tǒng)加電啟動(dòng)后加載到片內(nèi)RAM中,它的入口參數(shù)如下:待讀取的程序或數(shù)據(jù)的源地址、讀取數(shù)據(jù)的長(zhǎng)度、待寫入的目的地址。動(dòng)態(tài)加載的引導(dǎo)流程如圖2 所示。

圖2 動(dòng)態(tài)加載的引導(dǎo)流程

上層應(yīng)用程序?qū)⒋?jí)的程序文件傳入DSP 中后,由動(dòng)態(tài)程序加載模塊解析其寫入的地址和數(shù)據(jù)長(zhǎng)度,然后通過調(diào)用Flash 寫入模塊,將數(shù)據(jù)寫入擴(kuò)產(chǎn)的Flash 存儲(chǔ)器中,最后通過動(dòng)態(tài)程序加載模塊將升級(jí)后的內(nèi)容重新加載到DSP 內(nèi)的RAM 空間,實(shí)現(xiàn)無需DSP復(fù)位的在線升級(jí)操作。

由于DSP 應(yīng)用程序通常是單線程的,在同一時(shí)刻DSP 片內(nèi)系統(tǒng)程序模塊不會(huì)被同時(shí)調(diào)用。因此,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)無需在DSP 復(fù)位后馬上加載上述功能模塊,什么時(shí)候需要就什么時(shí)候加載,使其共用片內(nèi)RAM。這樣一來,可以認(rèn)為DSP 的片內(nèi)RAM 空間無限大。

3 采用多應(yīng)用可選的啟動(dòng)方式實(shí)現(xiàn)DSP 平臺(tái)的通用化[2]

目前主流系列的DSP 處理器系統(tǒng)有多種啟動(dòng)方式,包括主機(jī)啟動(dòng)、仿真器啟動(dòng)或EMIF 啟動(dòng)等,后2種啟動(dòng)方式被廣泛應(yīng)用在嵌入式系統(tǒng)中。

仿真器啟動(dòng)通常使用在系統(tǒng)的調(diào)試階段,在系統(tǒng)上電啟動(dòng)時(shí),由仿真器替代主機(jī)加載程序代碼,并設(shè)置DSPINT 位。

當(dāng)系統(tǒng)調(diào)試完畢進(jìn)入正常工作階段時(shí),通常采用EMIF 的啟動(dòng)方式。當(dāng)系統(tǒng)上電復(fù)位工作完成后,按照系統(tǒng)中ROM 的時(shí)序,DSP 系統(tǒng)自動(dòng)從片外FLASH 的起始地址空間開始,拷貝一定字節(jié)大小的代碼存放到地址空間從0 開始的RAM 中,拷貝的代碼大小由處理器的類型決定。當(dāng)訪問FLASH 中的數(shù)據(jù)時(shí),若CPU的指令字長(zhǎng)度大于FLASH 的存儲(chǔ)字寬,則EMIF 控制器先把FLASH 中連續(xù)幾個(gè)字自動(dòng)打包成CPU 指令字長(zhǎng)寬度的數(shù)據(jù)包,然后將打包后的數(shù)據(jù)包傳送到內(nèi)部RAM 中。當(dāng)傳送完全部數(shù)據(jù)包后,CPU 開始從片內(nèi)RAM 地址為0 的位置執(zhí)行相應(yīng)指令。

隨著社會(huì)發(fā)展,DSP 用戶需求不斷升級(jí)變化,其要求在通用的硬件平臺(tái)上保留并運(yùn)行具有多種功能的應(yīng)用程序。根據(jù)不同的應(yīng)用場(chǎng)景,在DSP 系統(tǒng)啟動(dòng)時(shí)加載運(yùn)行不同的應(yīng)用程序,降低各種版本代碼維護(hù)的復(fù)雜度。為了實(shí)現(xiàn)用戶的需求,本文設(shè)計(jì)了一種在DSP上電啟動(dòng)時(shí)可在多個(gè)應(yīng)用程序中任意選擇并啟動(dòng)其中一個(gè)應(yīng)用程序的方法,根據(jù)系統(tǒng)上電后讀取設(shè)備的位置信息,從FLASH 中加載相應(yīng)的應(yīng)用程序到系統(tǒng)RAM 中運(yùn)行,實(shí)現(xiàn)了多應(yīng)用可選的啟動(dòng)。

3.1 應(yīng)用程序目標(biāo)文件生成

在DSP 系統(tǒng)應(yīng)用開發(fā)中,CCS 開發(fā)環(huán)境生成的目標(biāo)文件是COFF 格式的.out 可執(zhí)行二進(jìn)制文件。在調(diào)試階段,CCS 仿真器將COFF 文件加載到系統(tǒng)RAM 中時(shí),RAM 內(nèi)的程序代碼所在的地址就是程序最終的運(yùn)行地址,該代碼即為需要生成的純目標(biāo)代碼,將這些代碼保存為十六進(jìn)制機(jī)器碼DAT 格式的文件,即為應(yīng)用程序目標(biāo)文件。該方法可避免傳統(tǒng)復(fù)雜的格式轉(zhuǎn)換工具操作和參數(shù)配置操作。

3.2 啟動(dòng)過程中_c_int00 的跳轉(zhuǎn)

為了啟動(dòng)不同的應(yīng)用程序,需要獲得不同的_c_int00 物理地址。利用上述提出的目標(biāo)文件的生成方法,保存_c_int00 跳轉(zhuǎn)指令至代碼末尾,形成與具體應(yīng)用相關(guān)的完整應(yīng)用程序,避免使用具體的_c_int00 物理地址,減少應(yīng)用開發(fā)過程中可能出現(xiàn)的地址引用出錯(cuò)問題。

3.3 不同應(yīng)用程序的固化和啟動(dòng)

利用上述介紹的應(yīng)用程序在線升級(jí)的方法將不同的應(yīng)用程序分別固化到FLASH 中不同空間區(qū)域中。在進(jìn)行程序固化工作前,為便于維護(hù)FLASH 中不同的應(yīng)用,需用一張軟件配置表來描述不同程序在FLASH 中的映射關(guān)系,表的內(nèi)容主要包括各個(gè)程序的名稱、起始地址、程序數(shù)據(jù)塊大小、分配空間大小、版本號(hào)、版本號(hào)地址等信息,軟件配置如表1 所示。更新修改程序時(shí),首先索引該表獲得相應(yīng)的FLASH 空間地址、版本號(hào),防止燒入錯(cuò)誤的地址或錯(cuò)誤的版本號(hào)。在每次更新完應(yīng)用程序后,修改相應(yīng)的版本號(hào)等信息便于以后軟件的修改和維護(hù)。不同應(yīng)用程序的啟動(dòng)流程如圖3 所示。

圖3 不同應(yīng)用程序的啟動(dòng)流程

4 結(jié)束語

本文提出的DSP 程序通用在線燒寫的方法解決了DSP 在線編程時(shí)通信方式單一及不能適應(yīng)設(shè)備復(fù)雜性和多變性要求的問題,同時(shí)滿足了DSP 啟動(dòng)時(shí)多種應(yīng)用程序可選的加載需求。該方法提高在線編程的可擴(kuò)展性和可維護(hù)性,提高了模塊通用化能力和模塊硬件利用率,并能降低開發(fā)成本,縮短開發(fā)周期。

猜你喜歡
程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
試論我國(guó)未決羈押程序的立法完善
半沸制皂系統(tǒng)(下)
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
主站蜘蛛池模板: 欧美亚洲激情| 日本人妻丰满熟妇区| 五月婷婷丁香综合| 99精品视频九九精品| 国产乱子伦视频在线播放| 亚洲香蕉在线| 国产欧美在线| 国产一级小视频| 专干老肥熟女视频网站| 亚洲天堂视频在线播放| 四虎永久免费地址在线网站| 中文无码精品A∨在线观看不卡 | 99这里只有精品在线| 在线观看精品自拍视频| 亚洲精品视频在线观看视频| 亚洲成年人片| 少妇精品网站| 最新国产在线| 在线观看亚洲成人| 97无码免费人妻超级碰碰碰| 国产一级在线观看www色 | 亚洲国产精品美女| 久久精品人妻中文视频| 国产精品香蕉| 日本人又色又爽的视频| 亚洲熟妇AV日韩熟妇在线| 亚洲欧美日韩精品专区| 国产精品区网红主播在线观看| 伊人欧美在线| 国产91丝袜在线播放动漫| 97成人在线视频| Jizz国产色系免费| 欧美福利在线| 欧洲亚洲欧美国产日本高清| 特级做a爰片毛片免费69| 精品欧美视频| 老司机精品久久| 鲁鲁鲁爽爽爽在线视频观看| 国产丝袜一区二区三区视频免下载| 亚洲无码不卡网| 国产欧美日韩专区发布| 日本免费一级视频| 午夜免费小视频| 亚洲欧洲国产成人综合不卡| av一区二区三区高清久久| 白浆视频在线观看| 中文字幕日韩丝袜一区| 亚洲天堂成人在线观看| 激情综合网址| 亚洲一区二区在线无码| 日韩a级片视频| 亚洲欧洲美色一区二区三区| 丰满的熟女一区二区三区l| 四虎影视无码永久免费观看| 伊人国产无码高清视频| 亚洲bt欧美bt精品| 97色伦色在线综合视频| 扒开粉嫩的小缝隙喷白浆视频| 国产精品久久久久久久久| 欧美日韩久久综合| 久久国产精品国产自线拍| 亚洲国产欧美国产综合久久| 最新国产麻豆aⅴ精品无| 精品国产91爱| 2020久久国产综合精品swag| 色精品视频| 日韩精品资源| 99视频只有精品| 国产69精品久久久久妇女| 亚洲无码37.| 午夜在线不卡| 亚洲第一成年网| 免费A∨中文乱码专区| 在线观看国产精美视频| 中文字幕人妻无码系列第三区| 91精品综合| 亚洲人成网站色7799在线播放 | 欧美成人亚洲综合精品欧美激情| 日本免费高清一区| 国产又爽又黄无遮挡免费观看| 久久99国产视频| 精品国产免费观看|