亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于TMS320C6205 DSP的在線升級(jí)方法

        2012-08-14 02:28:36陸平林
        通信技術(shù) 2012年2期
        關(guān)鍵詞:IC卡校驗(yàn)上位

        陸平林

        (數(shù)據(jù)通信科學(xué)技術(shù)研究所,北京 100191)

        0 引言

        DSP在線升級(jí)是指脫離集成開發(fā)環(huán)境,利用DSP系統(tǒng)已有的通道,在運(yùn)行狀態(tài)下對(duì)DSP軟件進(jìn)行升級(jí),在線升級(jí)大大提高了DSP系統(tǒng)的可維護(hù)性和可擴(kuò)展能力。DSP在線升級(jí)的一種方法是直接寫Flash[1],DSP內(nèi)原有應(yīng)用程序加載到RAM上運(yùn)行,升級(jí)文件直接寫入Flash,覆蓋原有應(yīng)用程序,DSP復(fù)位后即可運(yùn)行新的DSP程序。這種方法簡(jiǎn)單易行,但可靠性差,一旦升級(jí)文件有誤,或升級(jí)過程中意外掉電,會(huì)造成系統(tǒng)癱瘓,需采用新的設(shè)計(jì)思路,實(shí)現(xiàn)可靠的在線升級(jí)功能。

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

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

        第二種方案是 Userbootloader直接將新應(yīng)用替換原有應(yīng)用,升級(jí)完成后,加載 App到 RAM,跳轉(zhuǎn)到應(yīng)用入口執(zhí)行[5-6]。對(duì)于這種方案,通常對(duì)App的引導(dǎo)是在加載App代碼后跳到_c_int00[6],但因?yàn)閁serbootloader和 App是兩個(gè)不同工程,這樣要求App工程在鏈接時(shí),必須設(shè)置其_c_int00和Userbootloader工程的_c_int00運(yùn)行地址一致,同時(shí),App的中斷向量表也需要進(jìn)行重新定向。

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

        1 系統(tǒng)體系結(jié)構(gòu)

        升級(jí)系統(tǒng)體系結(jié)構(gòu)如圖1所示,分為上位機(jī)應(yīng)用、API接口、PCI-E卡驅(qū)動(dòng)和PCI-E卡4個(gè)層次。上位機(jī)應(yīng)用和API接口運(yùn)行在用戶空間,上位機(jī)應(yīng)用包括升級(jí)程序和業(yè)務(wù)程序,API接口用于實(shí)現(xiàn)應(yīng)用程序調(diào)用的接口規(guī)范;驅(qū)動(dòng)運(yùn)行在操作系統(tǒng)內(nèi)核空間,提供了訪問硬件的接口。PCI-E卡插在上位機(jī)的 PCI-E插槽中,上位機(jī)應(yīng)用通過 API接口和PCI-E卡驅(qū)動(dòng)與卡通信。

        2 硬件設(shè)計(jì)

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

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

        DSP通過串口連接了 IC卡讀卡器,Userbootloader程序通過判斷IC卡類型可以決定是否進(jìn)入升級(jí)狀態(tài)。

        FPGA和PCI-E接口芯片一起完成接口轉(zhuǎn)換工作,實(shí)現(xiàn)上位機(jī)和DSP的通路。

        硬件上將DSP配置成為從Flash啟動(dòng)方式。系統(tǒng)復(fù)位后,C6205自動(dòng)將Flash開始的64 kByte代碼拷貝到IPRAM,然后從IPRAM地址0開始執(zhí)行程序。

        3 軟件設(shè)計(jì)

        3.1 Flash存儲(chǔ)分配

        Userbootloader和 App程序由兩個(gè)完全獨(dú)立的工程生成。最初在開發(fā)環(huán)境下用仿真器或 Flash編程器燒寫Userbootloader和初始的FPGA配置數(shù)據(jù),以后App就由Userbootloader和上位機(jī)程序控制進(jìn)行升級(jí)。

        Userbootloader從Flash起始地址0x1400000開始,DSP復(fù)位后首先運(yùn)行Userbootloader。Userbootloader和初始FPGA配置數(shù)據(jù)所在的Flash前1 MByte空間設(shè)寫保護(hù),防止被意外寫壞。Flash結(jié)構(gòu)分配如圖3所示。

        3.2 Userbootloader設(shè)計(jì)

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

        DSP有兩種工作狀態(tài),升級(jí)狀態(tài)和應(yīng)用狀態(tài)。Userbootloader檢測(cè)插入的IC卡類型,根據(jù)IC卡類型和對(duì)APP數(shù)據(jù)的校驗(yàn)結(jié)果來決定進(jìn)入的工作狀態(tài)。

        未插入IC卡或插入的IC卡不是升級(jí)IC卡時(shí),Userbootloader對(duì)App數(shù)據(jù)進(jìn)行校驗(yàn)。若校驗(yàn)通過,Userbootloader從Flash地址0x150000開始拷貝App的前64 kByte(實(shí)際是0xFF00 Byte)到IPRAM,然后跳到地址0執(zhí)行App。App做二次引導(dǎo),將自己的其余代碼拷貝到SDRAM運(yùn)行,這樣DSP進(jìn)入應(yīng)用狀態(tài)。應(yīng)用狀態(tài)下,DSP內(nèi)運(yùn)行的是App程序,由上位機(jī)服務(wù)系統(tǒng)發(fā)起應(yīng)用。

        當(dāng)檢測(cè)到升級(jí)IC卡或者App校驗(yàn)不通過時(shí),則進(jìn)入升級(jí)狀態(tài)。升級(jí)狀態(tài)下,DSP內(nèi)運(yùn)行的是Userbootloader程序,由上位機(jī)升級(jí)系統(tǒng)發(fā)起應(yīng)用。Userbootloader等待上位機(jī)的升級(jí)指令,接收到上位機(jī)的升級(jí)指令后開始升級(jí),升級(jí)步驟如下:

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

        完成升級(jí)后,拔走升級(jí)IC卡,復(fù)位DSP,即可令DSP進(jìn)入升級(jí)后的應(yīng)用狀態(tài)。實(shí)現(xiàn)Userbootloader加載功能時(shí)需要注意的是:1)先將App代碼數(shù)據(jù)從Flash讀到SDRAM,再將代碼從SDRAM拷貝到IPRAM。

        2)數(shù)據(jù)從SDRAM拷貝到IPRAM必須用DMA,且此時(shí)DMA代碼必須放入IPRAM內(nèi)執(zhí)行[8]。

        3)Userbootloader 沒有拷貝App前64 kByte的最后256 Byte,是因?yàn)閁serbootloader 的DMA代碼和最后的跳轉(zhuǎn)語句,放在IPRAM的最后256 Byte空間。代碼拷貝將Userbootloader的前面部分覆蓋,但不能將正在執(zhí)行的部分覆蓋,否則DSP運(yùn)行結(jié)果不可預(yù)料。

        3.3 App開發(fā)要點(diǎn)

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

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

        2)App前64 kByte的最后256 Byte沒有加載到IPRAM。不過未加載部分僅占 IPRAM 總?cè)萘坎坏?.4%,最后這部分的IPRAM App一般用不到。若App需要再利用這256 Byte,App可以自己將代碼數(shù)據(jù)拷貝到這塊區(qū)域。

        3)根據(jù)需要,App的升級(jí)數(shù)據(jù)可以包括 FPGA配置數(shù)據(jù),App可以在啟動(dòng)或其他適當(dāng)?shù)臅r(shí)候?qū)PGA進(jìn)行重新配置,App需定義好FPGA配置數(shù)據(jù)在Flash上的偏移位置。

        4 結(jié)語

        提出了一種對(duì)DSP程序進(jìn)行在線升級(jí)的方法,用Userbootloade模仿硬件bootloader對(duì)App進(jìn)行引導(dǎo),對(duì)App的開發(fā)影響小,App不需要固定應(yīng)用程序入口_c_int00的地址,也不需要做中斷向量的動(dòng)態(tài)重定位。基于TMS320C6205的PCI-E卡,設(shè)計(jì)并實(shí)現(xiàn)了在線升級(jí)系統(tǒng)。工程實(shí)踐表明,該升級(jí)方法簡(jiǎn)便可靠,可以為其他嵌入式處理器升級(jí)系統(tǒng)開發(fā)提供參考。

        在實(shí)際的類似應(yīng)用中,根據(jù)具體情況,可以不使用IC卡,例如可以設(shè)計(jì)Userbootloader啟動(dòng)后等待一段時(shí)間,若這期間接收到上位機(jī)發(fā)出的升級(jí)指令則進(jìn)入升級(jí)狀態(tài)進(jìn)行升級(jí)。

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

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

        [3] 楊達(dá)亮,陳軍靈,張力成.DSP系統(tǒng)軟件在線升級(jí)機(jī)制的研究和實(shí)現(xiàn)[J].電測(cè)與儀表,2006,43(01):60-62.

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

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

        [6] 李鵬.DSP在線升級(jí)與資源優(yōu)化再配置[J].計(jì)算機(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.

        猜你喜歡
        IC卡校驗(yàn)上位
        工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實(shí)踐
        在用電梯加裝外接式IC卡運(yùn)行控制系統(tǒng)設(shè)計(jì)改進(jìn)
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        一種新的無觸點(diǎn)IC卡的檢測(cè)方法
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
        基于加窗插值FFT的PMU校驗(yàn)方法
        日韩av无码社区一区二区三区| 国产成人综合亚洲av| 中文字幕精品乱码一二三区| 人妖一区二区三区视频| 亚洲av无码久久| 亚洲免费人成在线视频观看| 日韩不卡av高清中文字幕| 亚洲一区二区三区色偷偷| 无码人妻丰满熟妇啪啪网不卡| 天干天干啦夜天干天2017| 亚洲日韩区在线电影| 人妻丰满熟妇一二三区| 四虎影在永久在线观看| 日本丰满熟妇bbxbbxhd| 亚洲一区二区在线视频播放| 日本女优禁断视频中文字幕| 一边捏奶头一边高潮视频| 囯产精品一品二区三区| 亚洲成精品动漫久久精久| 国产熟女自拍av网站| 三级做a全过程在线观看| 毛茸茸性xxxx毛茸茸毛茸茸| 粉嫩小泬无遮挡久久久久久| 亚洲第一黄色免费网站| 国产色在线 | 亚洲| 欧美成人免费高清视频| 日本经典中文字幕人妻| av在线播放男人天堂| 欧美黑人性暴力猛交喷水黑人巨大| 亚洲欧洲日产国产AV无码| 在线观看国产精品一区二区不卡| 天天摸天天做天天爽水多| 久久这里只精品国产免费10| 无码流畅无码福利午夜| 国产性感丝袜在线观看| 精品日产卡一卡二卡国色天香| 国产精品丝袜在线不卡 | 中文字幕人妻av一区二区| 免费国产a国产片高清网站 | 青青草视频网站免费观看| 水蜜桃视频在线观看入口|