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

        ?

        DAB接收機(jī)USB固件升級(jí)的實(shí)現(xiàn)

        2013-04-16 10:44:50
        電子世界 2013年2期
        關(guān)鍵詞:用戶(hù)程序固件PC機(jī)

        1.引言

        固件(Firmware)我們通常理解為軟件,由于集成電路的發(fā)展,目前的固件多以FLASH為載體,它與我們通常所說(shuō)的程序的區(qū)別已經(jīng)越來(lái)越小。固件升級(jí)實(shí)際上就是用新的固件程序重寫(xiě)FLASH的過(guò)程,升級(jí)固件變得越來(lái)越簡(jiǎn)單。

        在用戶(hù)使用過(guò)程中,一旦系統(tǒng)提供產(chǎn)品固件更高的版本,就要求產(chǎn)品能夠通過(guò)固件升級(jí)程序?qū)υ泄碳M(jìn)行升級(jí),而設(shè)備固件升級(jí)(Device Firmware Upgrade,DFU)正是能夠完成這種任務(wù)的一種機(jī)制。隨著USB技術(shù)的發(fā)展,USB設(shè)備的更新速度越來(lái)越快,通過(guò)USB接口來(lái)升級(jí)產(chǎn)品的固件是一種實(shí)用高效的方法[1]。本文的主要研究?jī)?nèi)容就是在自主開(kāi)發(fā)的DAB接收機(jī)的基礎(chǔ)上[2],通過(guò)USB接口實(shí)現(xiàn)接收機(jī)的DFU。

        2.固件升級(jí)

        本文提出的固件升級(jí)方法利用PC機(jī)通過(guò)USB接口與DAB接收機(jī)進(jìn)行通信,并在此基礎(chǔ)上完成DFU的各種操作[3],基本結(jié)構(gòu)如圖1所示。

        隨著科技的不斷進(jìn)步,生產(chǎn)廠商很難滿(mǎn)足用戶(hù)多元化的需求,更多的廠商把升級(jí)固件以提供更多更新的功能作為附加值來(lái)提供給用戶(hù)。

        在產(chǎn)品上市后,生產(chǎn)廠商對(duì)產(chǎn)品程序做了進(jìn)一步的優(yōu)化和改進(jìn),這時(shí)候需要升級(jí)產(chǎn)品的固件以提升產(chǎn)品的性能。對(duì)于已經(jīng)開(kāi)發(fā)出的軟件,有可能存在一些BUG,生產(chǎn)廠商也可以通過(guò)固件升級(jí)來(lái)修正以前版本中存在的錯(cuò)誤。

        3.DFU實(shí)現(xiàn)流程

        接收機(jī)DFU的實(shí)現(xiàn)參照USB固件升級(jí)的標(biāo)準(zhǔn)流程[4],接收機(jī)通過(guò)USB線(xiàn)纜與PC機(jī)相連,在PC機(jī)上執(zhí)行固件更新的相關(guān)操作,完成接收機(jī)的固件升級(jí),整個(gè)過(guò)程遵循枚舉,重配置,傳輸,顯示四個(gè)階段,具體的實(shí)現(xiàn)過(guò)程如圖2所示。

        第一階段為枚舉階段,接收機(jī)正常運(yùn)行過(guò)程包括兩套不同的描述符:DFU模式描述符和正常運(yùn)行描述符。接收機(jī)正常運(yùn)行時(shí),列舉出DFU模式描述符并向主機(jī)表明其具備可實(shí)現(xiàn)DFU的能力。

        第二階段為重配置階段,接收機(jī)和主機(jī)達(dá)成一致發(fā)起固件升級(jí)。主機(jī)給接收機(jī)發(fā)送一個(gè)USB重置請(qǐng)求,接收機(jī)接收到后,切換到固件升級(jí)模式,屏蔽正常工作模式,并為下一階段做好準(zhǔn)備。

        第三階段為傳輸階段,主機(jī)通過(guò)特定的軟件將固件升級(jí)的文件傳送給接收機(jī),在功能描述符中定義的參數(shù)可以正確的保證塊的大小以及在內(nèi)存中重新編譯的時(shí)間。

        第四階段為顯示階段,接收機(jī)通知主機(jī)已完成重新編譯,主機(jī)發(fā)送一個(gè)USB復(fù)位請(qǐng)求給接收機(jī),接收機(jī)重啟后,重新執(zhí)行枚舉階段,并執(zhí)行已經(jīng)更新的固件程序。

        4.接收機(jī)USB固件升級(jí)

        4.1 接收機(jī)DFU實(shí)現(xiàn)

        接收機(jī)DFU的設(shè)計(jì)方案是通過(guò)USB接口的數(shù)據(jù)傳輸功能接收來(lái)自PC機(jī)的固件升級(jí)文件,利用MCU的在應(yīng)用編程(In Application Programming,IAP)功能來(lái)實(shí)現(xiàn)接收機(jī)的固件升級(jí)。

        IAP就是MCU通過(guò)對(duì)外接口(如USART,USB,以太網(wǎng),無(wú)線(xiàn)信道等)接收升級(jí)固件,并在程序運(yùn)行過(guò)程中重新對(duì)內(nèi)部FLASH進(jìn)行編程的技術(shù)。如圖3所示為接收機(jī)IAP功能實(shí)現(xiàn)的示意圖。

        IAP的實(shí)現(xiàn)需要兩部分程序:引導(dǎo)程序、用戶(hù)程序。引導(dǎo)程序需要通過(guò)仿真器或通過(guò)在系統(tǒng)中編程(In System Programming,ISP)的方式燒寫(xiě)。用戶(hù)程序可以和引導(dǎo)程序一起燒寫(xiě),也可通過(guò)引導(dǎo)程序的IAP功能燒寫(xiě)。

        實(shí)現(xiàn)IAP功能的核心是引導(dǎo)程序,這部分程序主要負(fù)責(zé)與PC機(jī)同步,通過(guò)USB接收升級(jí)固件,并寫(xiě)入MCU指定的內(nèi)存地址,MCU復(fù)位后程序指針跳轉(zhuǎn)并執(zhí)行新用戶(hù)程序,從而完成接收機(jī)的固件升級(jí)。

        4.2 DFU模式進(jìn)入機(jī)制

        接收機(jī)有兩種工作模式:DFU升級(jí)模式和正常工作模式。兩種工作模式不能同時(shí)運(yùn)行,由于接收機(jī)在DFU升級(jí)模式下,就不再是能收聽(tīng)DAB節(jié)目的接收機(jī),而是相當(dāng)于EEPROM(電可擦可編程只讀存儲(chǔ)器)存在,所以接收機(jī)從正常工作模式進(jìn)入到DFU升級(jí)模式,需要外部提供一個(gè)中斷信號(hào)。

        在本文設(shè)計(jì)方案中,采用MCU的PC8端口對(duì)應(yīng)的按鍵作為同步按鍵,接收機(jī)進(jìn)行固件升級(jí)時(shí),MCU通過(guò)識(shí)別同步按鍵產(chǎn)生的中斷信號(hào)與PC機(jī)進(jìn)行同步,從而使接收機(jī)進(jìn)入DFU升級(jí)模式。

        4.3 接收機(jī)IAP程序設(shè)計(jì)

        接收機(jī)上電復(fù)位,MCU首先從地址0x80 00004處取出復(fù)位中斷向量地址,程序指針跳轉(zhuǎn)執(zhí)行復(fù)位中斷服務(wù)程序。正常情況下,程序指針跳轉(zhuǎn)至用戶(hù)程序的main函數(shù)處執(zhí)行用戶(hù)程序,但接收機(jī)處于DFU升級(jí)模式下,程序指針將跳轉(zhuǎn)至引導(dǎo)程序的main函數(shù)處執(zhí)行IAP功能相關(guān)操作。如圖4所示為接收機(jī)實(shí)現(xiàn)DFU的程序流程圖。

        執(zhí)行IAP功能操作時(shí),MCU首先對(duì)USB接口進(jìn)行初始化,然后接收來(lái)自PC機(jī)的升級(jí)固件,并從內(nèi)部FLASH的0x8004000地址處開(kāi)始寫(xiě)入。

        寫(xiě)入過(guò)程完畢,MCU執(zhí)行復(fù)位操作,隨后接收機(jī)工作在正常運(yùn)行模式下,程序指針將跳轉(zhuǎn)至新寫(xiě)入用戶(hù)程序的復(fù)位中斷向量表處,取出復(fù)位中斷向量地址,執(zhí)行復(fù)位中斷響應(yīng)操作,并跳轉(zhuǎn)至新用戶(hù)程序的main函數(shù)處開(kāi)始執(zhí)行。

        接收機(jī)再次上電,工作在正常運(yùn)行模式下,MCU的程序指針會(huì)直接跳轉(zhuǎn)至FLASH的0x8004000地址處即新用戶(hù)程序的main函數(shù)處,執(zhí)行新寫(xiě)入的用戶(hù)程序。

        4.4 程序存儲(chǔ)空間分配

        圖1 DAB接收機(jī)固件升級(jí)

        圖2 設(shè)備固件升級(jí)過(guò)程

        圖3 接收機(jī)IAP功能實(shí)現(xiàn)示意圖

        圖4 接收機(jī)IAP程序流程圖

        接收機(jī)是以STM32系列微控制器作為核心處理器,采用ARM公司專(zhuān)為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計(jì)的Cortex-M3內(nèi)核。STM32系列存儲(chǔ)器在Cortex-M3內(nèi)核的基礎(chǔ)上加入了FLASH、SRAM等,使其成為可以工作的處理芯片。

        STM32的存儲(chǔ)器地址空間總共劃分為8塊區(qū)域,每塊區(qū)域大小為512M。如圖5所示為STM32系列MCU存儲(chǔ)器第一塊區(qū)域的結(jié)構(gòu)示意圖。

        引導(dǎo)程序和用戶(hù)程序都存放在第一塊Flash區(qū)域內(nèi),引導(dǎo)程序存放在0x8000000-0x8003FFF區(qū)域,用戶(hù)程序存放在0x800 4000-0x801FFFF區(qū)域[5]。為了使FLASH區(qū)域內(nèi)存放的引導(dǎo)程序和用戶(hù)程序代碼之間不發(fā)生沖突,新用戶(hù)程序的中斷向量表需要做重映射。

        固件升級(jí)完成后,在新用戶(hù)程序執(zhí)行過(guò)程中,F(xiàn)LASH區(qū)域的不同地址處存在兩個(gè)中斷向量表。當(dāng)有中斷請(qǐng)求來(lái)臨時(shí),程序指針仍然會(huì)跳轉(zhuǎn)至引導(dǎo)程序的中斷向量表處,而不是新用戶(hù)程序的中斷向量表處,這是由MCU內(nèi)部硬件工作機(jī)制決定的。

        5.接收機(jī)DFU測(cè)試

        PC端升級(jí)軟件使用ST意法半導(dǎo)體公司官方提供的軟件,在ST官方網(wǎng)站上可下載到該軟件,安裝后執(zhí)行。

        圖5 存儲(chǔ)器第一塊區(qū)域結(jié)構(gòu)示意圖

        圖6 接收機(jī)DFU升級(jí)演示

        接收機(jī)上電,首先按住同步按鍵,并將接收機(jī)通過(guò)USB線(xiàn)纜與PC機(jī)相連,然后松開(kāi)按鍵。當(dāng)程序左上角識(shí)別出STM Device時(shí),說(shuō)明接收機(jī)與PC機(jī)已成功建立連接,點(diǎn)擊Choose…選擇本地的升級(jí)固件,然后點(diǎn)擊Upgrade執(zhí)行升級(jí)操作。

        如圖6所示為接收機(jī)固件升級(jí)成功的程序界面。

        6.結(jié)論

        本文提出的設(shè)計(jì)方法實(shí)現(xiàn)了便攜式DAB接收機(jī)的DFU,經(jīng)多次測(cè)試表明,該方法能夠可靠的對(duì)接收機(jī)進(jìn)行固件升級(jí)。

        用戶(hù)需要對(duì)便攜式DAB接收機(jī)進(jìn)行固件升級(jí)時(shí),只需在說(shuō)明書(shū)內(nèi)指定的網(wǎng)址下載升級(jí)軟件和固件,就可將產(chǎn)品的固件升級(jí)至最新版本。DFU的實(shí)現(xiàn),給用戶(hù)升級(jí)產(chǎn)品帶來(lái)很大方便,具有一定的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。

        [1]Compaq,Intel,Microsoft,NEC.Universal Serial Bus Speci fi cation,Revision 1.1,September 23,1998.

        [2]陸明瑩,張賢斌,王國(guó)裕,等.基于ID200的便攜式DAB接收機(jī)的設(shè)計(jì)和實(shí)現(xiàn)[J].電聲技術(shù),2010(12):81-83.

        [3]施文灶,王平,黃晞,陳偉.基于USB的便攜式設(shè)備固件升級(jí)程序的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009(11):4-6.

        [4]Universal Serial Bus Device Class Specification for Device Firmware Upgrade.Version 1.1 Aug 5,2004 http://www.usb.org/developers/devclass_docs#approved.

        [5]STM32F10xxx Flash memory microcontrollers.August 2012.http://www.st.com/cn/mcu/product/164486.jsp.

        猜你喜歡
        用戶(hù)程序固件PC機(jī)
        變速箱控制系統(tǒng)Bootloader設(shè)計(jì)與實(shí)現(xiàn)
        嵌入式設(shè)備遠(yuǎn)程升級(jí)方案設(shè)計(jì)
        基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
        基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
        VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        基于固件的遠(yuǎn)程身份認(rèn)證
        提取ROM固件中的APP
        C8051F410單片機(jī)BootLoader的實(shí)現(xiàn)
        一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
        奧林巴斯XZ—2新固件升級(jí)
        中文字幕人妻互换av| a观看v视频网站入口免费| 国产成人啪精品视频免费网 | 人人人妻人人人妻人人人| 免费无遮挡禁18污污网站| 国产激情对白一区二区三区四| 中国精品久久久久国产| 三级国产高清在线观看| 色综合久久中文娱乐网| 99re热这里只有精品最新| 久久精品国产只有精品96| 日韩精品免费视频久久| 日韩av午夜在线观看| 毛茸茸的中国女bbw| 2021精品综合久久久久| 亚洲肥婆一区二区三区| 人妻精品久久久久中文字幕| 韩国19禁无遮挡啪啪无码网站| 亚洲中文字幕乱码免费| 国产一级黄色片一区二区| 国产69精品久久久久9999apgf| 欧美人与动人物姣配xxxx| 国产一起色一起爱| 91精品人妻一区二区三区水蜜桃| 亚洲av精品一区二区三区| 两个人看的www中文在线观看| 亚洲每天色在线观看视频| 麻神在线观看免费观看| 国内精品卡一卡二卡三| 国产黑色丝袜一区在线| av大片网站在线观看| 在线精品亚洲一区二区动态图| 亚洲精品国产成人| 男人深夜影院无码观看| 一二三四在线观看视频韩国| 亚洲愉拍99热成人精品热久久| 日韩毛片在线看| 亚洲国产成人av第一二三区| 加勒比色老久久爱综合网| 中文人妻av久久人妻18| 一区在线播放|