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

一種基于TMS320C6205 DSP的在線升級方法

2012-08-14 02:28:36陸平林
通信技術 2012年2期
關鍵詞:程序

陸平林

(數據通信科學技術研究所,北京 100191)

0 引言

DSP在線升級是指脫離集成開發環境,利用DSP系統已有的通道,在運行狀態下對DSP軟件進行升級,在線升級大大提高了DSP系統的可維護性和可擴展能力。DSP在線升級的一種方法是直接寫Flash[1],DSP內原有應用程序加載到RAM上運行,升級文件直接寫入Flash,覆蓋原有應用程序,DSP復位后即可運行新的DSP程序。這種方法簡單易行,但可靠性差,一旦升級文件有誤,或升級過程中意外掉電,會造成系統癱瘓,需采用新的設計思路,實現可靠的在線升級功能。

實現 DSP的可靠在線升級的基本思路是:把DSP程序分為固化的用戶引導程序 Userbootloader(區別于DSP廠商固化的bootloader)和可升級的應用程序App,Userbootloader程序在最初用仿真器或編程器寫入,之后由 Userbootloader支持在線升級,有以下兩種方案:

第一種方案是采用乒乓存儲,原有DSP程序留有備份,升級程序和原有程序都存在Flash上,升級的同時在Flash置標志位,重啟后Userbootloader通過讀取標志,選擇加載App[2-4]。這種方法需要有多余的Flash空間,可能會增加硬件成本。

第二種方案是 Userbootloader直接將新應用替換原有應用,升級完成后,加載 App到 RAM,跳轉到應用入口執行[5-6]。對于這種方案,通常對App的引導是在加載App代碼后跳到_c_int00[6],但因為Userbootloader和 App是兩個不同工程,這樣要求App工程在鏈接時,必須設置其_c_int00和Userbootloader工程的_c_int00運行地址一致,同時,App的中斷向量表也需要進行重新定向。

基于C6205DSP的PCI-E卡,采用上面的第二種方案,提出了一種在線升級方法,對App的引導是在加載 App代碼后,Userbootloader跳到地址 0開始執行,對App沒有上述要求,提高了升級系統的通用性、靈活性和可維護性。

1 系統體系結構

升級系統體系結構如圖1所示,分為上位機應用、API接口、PCI-E卡驅動和PCI-E卡4個層次。上位機應用和API接口運行在用戶空間,上位機應用包括升級程序和業務程序,API接口用于實現應用程序調用的接口規范;驅動運行在操作系統內核空間,提供了訪問硬件的接口。PCI-E卡插在上位機的 PCI-E插槽中,上位機應用通過 API接口和PCI-E卡驅動與卡通信。

2 硬件設計

PCI-E卡硬件邏輯框如圖2所示,其核心采用TI公司的 TMS320C6205。C6205是一款高性價比DSP,有 64 kByte的片內程序區 IPRAM(地址0-0x10000)和64 kByte的片內數據區IDRAM,帶兩個多通道緩沖串行口MCBSP,支持4個通道的DMA,外部存儲器接口(EMIF,External Memory Interfaces)分成4塊空間CE0~CE3,通過EMIF總線,可以方便的擴展外設。

按照硬件設計,DSP通過CE0連接SDRAM,通過CE1連接FLASH。其中FLASH大小為16 MByte,分為128個塊(BLOCK),每個塊128 kByte,支持以塊為單位設置寫保護。由于CE1只有4 MByte空間,為支持訪問Flash全部空間,用CPLD控制Flash地址的高4 bit,Flash地址低20 bit和DSP直接相連。這樣把Flash空間分為16個窗口,每個窗口1 MByte。當DSP要尋址Flash時,先向CPLD寫入窗口號,再在窗口內取偏移。

DSP通過串口連接了 IC卡讀卡器,Userbootloader程序通過判斷IC卡類型可以決定是否進入升級狀態。

FPGA和PCI-E接口芯片一起完成接口轉換工作,實現上位機和DSP的通路。

硬件上將DSP配置成為從Flash啟動方式。系統復位后,C6205自動將Flash開始的64 kByte代碼拷貝到IPRAM,然后從IPRAM地址0開始執行程序。

3 軟件設計

3.1 Flash存儲分配

Userbootloader和 App程序由兩個完全獨立的工程生成。最初在開發環境下用仿真器或 Flash編程器燒寫Userbootloader和初始的FPGA配置數據,以后App就由Userbootloader和上位機程序控制進行升級。

Userbootloader從Flash起始地址0x1400000開始,DSP復位后首先運行Userbootloader。Userbootloader和初始FPGA配置數據所在的Flash前1 MByte空間設寫保護,防止被意外寫壞。Flash結構分配如圖3所示。

3.2 Userbootloader設計

PCI-E卡上電啟動后,DSP加載運行Userbootloader。Userbootloader本身大小不到64 kByte,可以不對自己做二次引導[7]。Userbootloader先進行必要的硬件寄存器配置,然后讀取初始的FPGA配置數據配置 FPGA,以提供上位機到 DSP的通路。Userbootloader的流程如圖4所示。

DSP有兩種工作狀態,升級狀態和應用狀態。Userbootloader檢測插入的IC卡類型,根據IC卡類型和對APP數據的校驗結果來決定進入的工作狀態。

未插入IC卡或插入的IC卡不是升級IC卡時,Userbootloader對App數據進行校驗。若校驗通過,Userbootloader從Flash地址0x150000開始拷貝App的前64 kByte(實際是0xFF00 Byte)到IPRAM,然后跳到地址0執行App。App做二次引導,將自己的其余代碼拷貝到SDRAM運行,這樣DSP進入應用狀態。應用狀態下,DSP內運行的是App程序,由上位機服務系統發起應用。

當檢測到升級IC卡或者App校驗不通過時,則進入升級狀態。升級狀態下,DSP內運行的是Userbootloader程序,由上位機升級系統發起應用。Userbootloader等待上位機的升級指令,接收到上位機的升級指令后開始升級,升級步驟如下:

1)擦除App。2)逐幀接收上位機發來的App數據,寫入Flash。3)接收上位機發來的 App校驗值,用來校驗寫入Flash的App。若校驗通過,將校驗值寫入Flash固定位置,升級完成,否則上位機需重新發起升級。

完成升級后,拔走升級IC卡,復位DSP,即可令DSP進入升級后的應用狀態。實現Userbootloader加載功能時需要注意的是:1)先將App代碼數據從Flash讀到SDRAM,再將代碼從SDRAM拷貝到IPRAM。

2)數據從SDRAM拷貝到IPRAM必須用DMA,且此時DMA代碼必須放入IPRAM內執行[8]。

3)Userbootloader 沒有拷貝App前64 kByte的最后256 Byte,是因為Userbootloader 的DMA代碼和最后的跳轉語句,放在IPRAM的最后256 Byte空間。代碼拷貝將Userbootloader的前面部分覆蓋,但不能將正在執行的部分覆蓋,否則DSP運行結果不可預料。

3.3 App開發要點

對App來說,Userbootloader對其做了DSP復位時硬件Bootloader做的動作。App的啟動過程和沒有Userbootloader時類似,前64 kByte也被加載到IPRAM,也從IPRAM地址0開始執行,App的中斷向量表放在App的起始位置,運行時中斷向量表從地址0開始,不需要重置。這樣App的開發和沒有Userbootloader時幾乎一致,原來沒有考慮在線升級的App可以很容易的改為支持在線升級,只需要注意以下幾個地方:

1)App作二次引導時,注意其起始Flash地址不是0x1400000而是0x1500000。

2)App前64 kByte的最后256 Byte沒有加載到IPRAM。不過未加載部分僅占 IPRAM 總容量不到0.4%,最后這部分的IPRAM App一般用不到。若App需要再利用這256 Byte,App可以自己將代碼數據拷貝到這塊區域。

3)根據需要,App的升級數據可以包括 FPGA配置數據,App可以在啟動或其他適當的時候對FPGA進行重新配置,App需定義好FPGA配置數據在Flash上的偏移位置。

4 結語

提出了一種對DSP程序進行在線升級的方法,用Userbootloade模仿硬件bootloader對App進行引導,對App的開發影響小,App不需要固定應用程序入口_c_int00的地址,也不需要做中斷向量的動態重定位。基于TMS320C6205的PCI-E卡,設計并實現了在線升級系統。工程實踐表明,該升級方法簡便可靠,可以為其他嵌入式處理器升級系統開發提供參考。

在實際的類似應用中,根據具體情況,可以不使用IC卡,例如可以設計Userbootloader啟動后等待一段時間,若這期間接收到上位機發出的升級指令則進入升級狀態進行升級。

[1] 任利民.基于PCI卡的DSP程序在線升級技術研究[J].通信技術,2003(12):114-116.

[2] 石乃軒,馮偉,王健,等.基于TMS320VC55x DSP 在線升級的設計與實現[J].通信技術,2010,43(07):236-238.

[3] 楊達亮,陳軍靈,張力成.DSP系統軟件在線升級機制的研究和實現[J].電測與儀表,2006,43(01):60-62.

[4] 孫亞萍,張慧熙.一種新型 DSP 軟件在線升級方法的研究與實現[J].微型機與應用,2010,29(05):72-74.

[5] 文軍,王加懂.DSP程序在線編程的研究與實現[J].信息安全與通信保密,2007(08):193-195.

[6] 李鵬.DSP在線升級與資源優化再配置[J].計算機工程,2008,34(17):225-226.

[7] Texas Instruments. Creating a Second-Level Bootloader for FLASH Bootloading on TMS320C6000 Platform With Code Composer Studio [DB/OL].(2006-05-01)[2011-3-20]. http://focus.ti.com.cn/cn/lit/an/spra999a/spra999a.pdf.

[8] Texas Instruments.TMS320C620x/C670x DSP Program and Data Memory Controller/Direct Memory Access(DMA) Controller Reference Guide [DB/OL].(2004-09-09)[2011-3-20]. http://focus.ti.com.cn/cn/lit/an/spru577a/spra999a.pdf.

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 丰满人妻久久中文字幕| 永久免费精品视频| 国产XXXX做受性欧美88| 亚洲人在线| 黄色成年视频| 亚洲码在线中文在线观看| 97国产精品视频人人做人人爱| 99九九成人免费视频精品| 午夜激情福利视频| 国产自在线拍| 欧美日韩免费在线视频| 久久免费精品琪琪| 综合色区亚洲熟妇在线| 午夜不卡视频| 最新精品国偷自产在线| 国产视频入口| 亚洲va在线∨a天堂va欧美va| 中文天堂在线视频| 国产h视频免费观看| 欧美国产日韩在线播放| 免费a在线观看播放| 亚洲天堂在线免费| 免费啪啪网址| vvvv98国产成人综合青青| 福利一区在线| 四虎永久免费地址| 四虎综合网| 国产精品无码制服丝袜| 精品久久久久久久久久久| 亚洲午夜福利精品无码| 亚洲国产精品一区二区第一页免| 亚洲综合色在线| 亚洲欧美另类色图| 一级成人a毛片免费播放| 日韩中文欧美| 精品综合久久久久久97超人该| 亚洲无线国产观看| 99这里精品| 国产精品免费p区| 在线网站18禁| 精品伊人久久久香线蕉| 欧美在线综合视频| a毛片在线播放| 国产黄视频网站| 亚洲无码视频喷水| 东京热一区二区三区无码视频| 国产成人精品在线| 五月婷婷丁香综合| 欧美亚洲一区二区三区在线| 在线观看无码a∨| 国产成人精品视频一区二区电影| 本亚洲精品网站| 中文字幕佐山爱一区二区免费| 国产福利在线观看精品| 亚洲国产综合精品中文第一 | 天天综合网色中文字幕| 色婷婷色丁香| 99精品免费在线| 小说区 亚洲 自拍 另类| 99精品国产自在现线观看| 久久中文字幕不卡一二区| 精品欧美视频| 欧美精品H在线播放| 婷婷色中文| 国产农村妇女精品一二区| 国产欧美日韩另类| 中文无码伦av中文字幕| 国产精品第三页在线看| 欧美天天干| 一级一级特黄女人精品毛片| 亚洲无码高清视频在线观看| 高清欧美性猛交XXXX黑人猛交 | 中文字幕天无码久久精品视频免费 | 欧美精品影院| 扒开粉嫩的小缝隙喷白浆视频| 啪啪啪亚洲无码| 国产精品视频猛进猛出| 日韩成人午夜| 中文字幕欧美日韩高清| 国产成年女人特黄特色大片免费| 亚洲中文字幕97久久精品少妇| 亚洲精品综合一二三区在线|