www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]1 引言 固件是系統(tǒng)最底層的工作軟件。便攜式設(shè)備功能與固件密切相關(guān)。固件能夠充分發(fā)揮硬件資源,彌補硬件缺陷與不足。因此。固件在便攜式設(shè)備中具有極大重要性。固件升級能夠進一步完善固件程序,增強便攜式設(shè)

1 引言
    固件是系統(tǒng)最底層的工作軟件。便攜式設(shè)備功能與固件密切相關(guān)。固件能夠充分發(fā)揮硬件資源,彌補硬件缺陷與不足。因此。固件在便攜式設(shè)備中具有極大重要性。固件升級能夠進一步完善固件程序,增強便攜式設(shè)備功能。
    在系統(tǒng)開發(fā)和用戶使用時.一旦系統(tǒng)提供設(shè)備固件更高版本。就要求設(shè)備通過固件升級程序?qū)υ泄碳M行升級。因此,基于USB的即插即用、傳輸速率高的特點,設(shè)計一種通過USB接口升級設(shè)備固件的應(yīng)用程序。該設(shè)計應(yīng)用程序是基于便攜式設(shè)備的USB驅(qū)動程序.包括固件文件結(jié)構(gòu)定義、USB設(shè)備驅(qū)動程序與上層應(yīng)用軟件的I,0操作、USB Bulk0nly傳輸模式、USB通信命令規(guī)范、NAND Flash壞塊信息表構(gòu)建等問題。


2 系統(tǒng)結(jié)構(gòu)
    該系統(tǒng)利用PC機通過USB總線與便攜式設(shè)備進行通信,并在此通信基礎(chǔ)上完成固件升級的各種操作,其基本結(jié)構(gòu)如圖l所示。系統(tǒng)開發(fā)人員或終端用戶在獲取最新版本固件后,利用固件升級程序?qū)崿F(xiàn)PC機與便攜式設(shè)備的通信,并實現(xiàn)固件生成、讀取設(shè)備信息、USB-Boot二級代碼下載、固件升級等功能。

3 固件升級程序的設(shè)計
    固件升級程序面向系統(tǒng)開發(fā)人員或終端用戶。由于用戶知識體系架構(gòu)的差異,程序界面力求友好、簡潔。功能要求:按預(yù)先定義的固件結(jié)構(gòu)生成固件文件:自動檢測設(shè)備是否連接,一旦設(shè)備連接,自動下載二級Boot loader并讀取設(shè)備Flash信息、固件版本信息;將固件文件下載至NAND Flash,從而完成固件升級操作。
3.1 固件頭的填充
    固件文件的固件頭具有標(biāo)識,索引功能。固件頭結(jié)構(gòu)決定后續(xù)固件升級工具擴展的難易。該設(shè)計的固件頭主要包括固件的版本、生成日期、廠商信息、模塊信息和資源文件在固件中的偏移、長度等信息。這些信息采用結(jié)構(gòu)體將其組織,以便讀取固件文件。同時在頭尾部預(yù)留若干字節(jié)的保留區(qū),以備后續(xù)升級擴展。
    固件頭的填充需要嚴(yán)格按照結(jié)構(gòu)體所定義的成員進行。函數(shù)GenerateHeader完成固件頭的生成,其函數(shù)原型為:


   
3.2 生成固件文件
    固件文件主要由固件頭,啟動代碼,系統(tǒng)代碼,F(xiàn)ONTl2,F(xiàn)ONTl6,GBK字體和字庫資源文件,菜單資源文件,圖片資源文件等8個模塊組成。其中系統(tǒng)代碼、菜單資源文件、圖片資源文件的路徑由用戶指定,其余文件存儲于工程目錄下。圖2為固件生成流程。

   

 固件生成操作是由函數(shù)GenerateRfw完成。其原型為:


    執(zhí)行該函數(shù)需獲得文件當(dāng)前工程下的路徑.以及文件大小,因此需調(diào)用FileFulJLlName函數(shù)。FileFullName函數(shù)原型為:INT FileFullName(CString FileName,CString &FilePath—Name);其中FileName為存儲在工程目錄下的文件名,F(xiàn)ilePathName為文件路徑的引用。該函數(shù)返回值為文件大小。


4 獲取USB設(shè)備路徑
    便攜式設(shè)備在進入固件升級模式時.向PC機枚舉該設(shè)備的各類描述符,在成功應(yīng)答最初的不完整的設(shè)備描述符請求后,PC機向設(shè)備分配一個新地址.該地址就是固件升級程序中需獲取的設(shè)備路徑。接著,PC機在得到完整的設(shè)備描述符、配置描述符、字符描述符后加載設(shè)備驅(qū)動程序。該過程完成后,通過驅(qū)動程序與設(shè)備通信。在開發(fā)應(yīng)用軟件中,通過API函數(shù)調(diào)用獲取設(shè)備路徑,該獲取過程分為以下步驟:
    (1)調(diào)用Windows設(shè)備管理函數(shù)SetupDiGetClassDevs()獲取設(shè)備信息集。函數(shù)SetupDiGetC1assDevs()是設(shè)備信息集的處理程序,包含所有與指定參數(shù)匹配的已安裝設(shè)備。
    (2)利用函數(shù)SetupDiEnumDeviceInterfaces()返回設(shè)備信息集的一個設(shè)備接口元素的環(huán)境結(jié)構(gòu),每次調(diào)用該函數(shù)便返回一個設(shè)備接口信息,重復(fù)調(diào)用,直到獲取設(shè)備信息集所有接口信息。函數(shù)SetupDiEnumDeviceInterfaces()調(diào)用成功返回“TRUE”且devicelnfoData指定一個與查找參數(shù)相符的接口。
    (3)調(diào)用函數(shù)SetupDiGetDeviceInterfaceDetail()獲得該接口詳細(xì)信息。用其獲得接口詳細(xì)信息,必須先得到所請求的緩沖區(qū)大小,再分配適當(dāng)?shù)木彌_區(qū),并再次調(diào)用該函數(shù)以得到接口詳細(xì)信息。此時返回的接口信息包含設(shè)備接口名稱.用戶可調(diào)用函數(shù)CreateFile()獲取所要打開設(shè)備的句柄。


5 USB二級BOOt loader的下載
    該設(shè)計便攜式設(shè)備在固件升級時.首先由第1級Bootloader引導(dǎo)進入USB Boot模式.并向PC枚舉該設(shè)備。PC識別該USB設(shè)備,并加載相應(yīng)驅(qū)動程序后。固件升級過程便獲取設(shè)備系統(tǒng)路徑。因為每一個USB設(shè)備有一個PID和VID,應(yīng)用程序通過PID和VID定位到固件升級的USB設(shè)備。獲取設(shè)備路徑和句柄后,利用USB總線讀取設(shè)備數(shù)據(jù),從而為完成應(yīng)用程序與USB設(shè)備通信做好準(zhǔn)備。
    由于器件MASK ROM的空間限制,諸如USB命令解析、Flash設(shè)備驅(qū)動等應(yīng)用代碼,也就是USB模式下的二級Bootloader代碼,需要通過PC機下載至器件IRAM。
    USB二級代碼的下載過程創(chuàng)建子線程用于檢測設(shè)備,只有確認(rèn)設(shè)備已連接,才能下載二級代碼,總的下載流程如圖3所示,圖中實線為主線程,虛線為子線程。

    在獲取到設(shè)備路徑后,系統(tǒng)便調(diào)用函數(shù)CreateFile()獲取設(shè)備句柄。利用該設(shè)備句柄和獲取的二級代碼文件路徑,便能夠通過調(diào)用函數(shù)Boot_VendorRequest()將二級代碼下載到設(shè)備IRAM中。
    Boot_VendorRequest函數(shù)原型為:B00L Boot_VendorRe-quest(HANDLE hDevice,DWORD requestCode,LPCTSTR str-FileName);其中hDevice是設(shè)備句柄,requestCode是請求控制碼,strFileName是二級代碼文件路徑,返回值為“TRUE”,說明下載成功,否則下載失敗。該函數(shù)主要調(diào)用系統(tǒng)函數(shù)DeviceIoControl(),將二級代碼文件進行CRC校驗后,傳入設(shè)備IRAM。


6 固件升級
    在完成設(shè)備路徑獲取,并將二級引導(dǎo)代碼下載至設(shè)備IRAM后,設(shè)備控制權(quán)交給這段應(yīng)用代碼。代碼主要負(fù)責(zé)Nand Flash的驅(qū)動和USB命令解析。至此,固件升級前的所有工作已準(zhǔn)備就緒。固件升級的核心任務(wù)是將固件文件無差錯寫入NAND Flash。由于NAND Flash存在壞塊,故必須先對其進行壞塊檢測,然后形成壞塊信息表。根據(jù)需要寫入的固件各部分文件大小,結(jié)合壞塊信息表,則生成固件各文件在Flash中的存放位置,進而將固件下載至Flash。最后填充ID Block,這樣就完成了固件升級。圖4為固件升級流程。

7 系統(tǒng)測試
    系統(tǒng)測試采用自行開發(fā)的便攜式的網(wǎng)絡(luò)通信平臺。固件升級前需的準(zhǔn)備:(1)保證設(shè)備電池充足,防止升級過程因電池不足而中斷;(2)備份設(shè)備原有固件;(3)確保設(shè)備有足夠存儲容量;(4)檢查IJSB接口可靠性。圖5是固件生成及其下載演示。從圖5中看出,升級過程向設(shè)備寫入的菜單、圖像等資源顯示成功。

8 結(jié)束語
    隨著嵌入式技術(shù)的發(fā)展,便攜式設(shè)備已普及日常生活中。隨著用戶不斷提出新功能要求,廠商通過更新固件使其產(chǎn)品增值。因此,該設(shè)計固件升級工具的設(shè)計方法可廣泛應(yīng)用于MP3、電子詞典等便攜式設(shè)備。測試結(jié)果表明,升級程序界面簡潔友好,只需幾個簡單操作就能完成系統(tǒng)固件升級。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀(jì)念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

智能硬件

22003 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉