国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種u盤(pán)升級(jí)車(chē)載行車(chē)記錄儀終端的方法

      文檔序號(hào):9506025閱讀:1073來(lái)源:國(guó)知局
      一種u盤(pán)升級(jí)車(chē)載行車(chē)記錄儀終端的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及行車(chē)記錄儀升級(jí),尤其涉及一種U盤(pán)升級(jí)車(chē)載行車(chē)記錄儀終端的方法。
      【背景技術(shù)】
      [0002]在車(chē)載行車(chē)記錄儀升級(jí)方法中,較為常見(jiàn)的是通過(guò)U盤(pán)進(jìn)行升級(jí):
      [0003]1、制作升級(jí)文件:使用電腦軟件工具將原始升級(jí)文件制作成U盤(pán)升級(jí)文件,并在U盤(pán)升級(jí)文件的最后加入4個(gè)字節(jié)的MD5的校驗(yàn)和,最后將U盤(pán)升級(jí)文件按照版本號(hào)的名稱進(jìn)行命名;
      [0004]2、讀取升級(jí)文件過(guò)程:U盤(pán)升級(jí)終端時(shí),終端上電檢測(cè)到U盤(pán),先判斷U盤(pán)內(nèi)是否有按一定規(guī)則命名的升級(jí)文件,有的話則從u盤(pán)將升級(jí)文件逐包讀出并寫(xiě)入到SPI FLASH上,整包寫(xiě)完后,再?gòu)腟PI FLASH中讀出數(shù)據(jù),計(jì)算整個(gè)升級(jí)文件的MD5校驗(yàn)和,如果發(fā)現(xiàn)從SPI FLASH讀取到的整個(gè)升級(jí)文件計(jì)算出來(lái)的MD5校驗(yàn)和與直接從U盤(pán)升級(jí)文件最后4個(gè)字節(jié)讀出的值一致,則代表下載數(shù)據(jù)無(wú)誤,隨后將SPI FLASH的升級(jí)標(biāo)志位區(qū)域置位后,重啟終端進(jìn)入引導(dǎo)升級(jí)程序;否則,則代表下載數(shù)據(jù)有誤,重試從U盤(pán)將U盤(pán)升級(jí)文件逐包讀出并寫(xiě)入到SPI FLASH上的過(guò)程,再讀出SPI FLASH上升級(jí)文件數(shù)據(jù),計(jì)算MD5校驗(yàn)和,并與U盤(pán)升級(jí)文件最后4個(gè)字節(jié)進(jìn)行對(duì)比是否一致,如果重試2遍后發(fā)現(xiàn)仍然有錯(cuò),則提示升級(jí)失敗,結(jié)束升級(jí);
      [0005]3、升級(jí)過(guò)程:終端在引導(dǎo)啟動(dòng)程序中將SPI FLASH中的升級(jí)文件寫(xiě)入MCU的ROM的應(yīng)用程序區(qū),寫(xiě)完后直接從引導(dǎo)啟動(dòng)程序跳轉(zhuǎn)到應(yīng)用程序執(zhí)行,應(yīng)用程序啟動(dòng)后,會(huì)初始化MCU外圍的硬件資源,然后讀取舊的配置參數(shù),最后按照現(xiàn)有升級(jí)過(guò)的應(yīng)用程序進(jìn)行運(yùn)行。
      [0006]采用上述U盤(pán)升級(jí)方式存在的缺點(diǎn)是:
      [0007]1、由于升級(jí)文件的版本號(hào)只在升級(jí)文件的命名中體現(xiàn),如果出現(xiàn)失誤,將不同版本的升級(jí)文件,被錯(cuò)誤的重命名,則存在誤升級(jí)錯(cuò)誤版本的可能性;
      [0008]2、如果一個(gè)不是升級(jí)文件的其他文件,被錯(cuò)誤的重命名后,在終端啟動(dòng)時(shí)被識(shí)別為U盤(pán)升級(jí)文件,進(jìn)行升級(jí)文件下載,之后必須等到下載完全部升級(jí)文件數(shù)據(jù),進(jìn)行MD5校驗(yàn)和對(duì)比的時(shí)候才會(huì)發(fā)現(xiàn)文件是有問(wèn)題的,而此時(shí)為了防止下載錯(cuò)誤,還會(huì)重試重新下載2遍文件,效率極低;
      [0009]3、如果是讀取U盤(pán)升級(jí)文件過(guò)程中出現(xiàn)錯(cuò)誤,也必須到讀完最后一包后,整包校驗(yàn)MD5校驗(yàn)和的時(shí)候才能被識(shí)別,效率低下。
      [0010]4、升級(jí)結(jié)束重啟后,新的應(yīng)用程序會(huì)初始化MCU的外圍硬件資源,此時(shí)如果初始化不成功,可能是由于升級(jí)錯(cuò)誤導(dǎo)致,之后會(huì)導(dǎo)致新的應(yīng)用程序運(yùn)行不正常,無(wú)法自動(dòng)回退到舊的程序,還要重新操作升級(jí)。
      [0011]5、升級(jí)新程序后,新的應(yīng)用程序初始化成功后,會(huì)讀取舊的配置參數(shù)。此時(shí)如果出現(xiàn)讀取出來(lái)的舊的配置參數(shù)結(jié)構(gòu)和新程序中的配置參數(shù)結(jié)構(gòu)不同,很可能會(huì)導(dǎo)致終端被恢復(fù)出廠,關(guān)鍵參數(shù)丟失,使得終端無(wú)法連接網(wǎng)絡(luò),重要功能失效。

      【發(fā)明內(nèi)容】

      [0012]本發(fā)明要解決的技術(shù)問(wèn)題,在于提供一種U盤(pán)升級(jí)車(chē)載行車(chē)記錄儀終端的方法,實(shí)現(xiàn)自動(dòng)防錯(cuò),提高升級(jí)效率。
      [0013]本發(fā)明是這樣實(shí)現(xiàn)的:一種U盤(pán)升級(jí)車(chē)載行車(chē)記錄儀終端的方法,包括如下步驟:
      [0014]步驟10、新建一空的U盤(pán)升級(jí)文件,獲取原始升級(jí)文件的版本信息寫(xiě)入U(xiǎn)盤(pán)升級(jí)文件的包頭,將原始升級(jí)文件按一定大小劃分成若干個(gè)小包,逐包拷貝到U盤(pán)升級(jí)文件中,且每拷貝一小包文件就進(jìn)行一次校驗(yàn),在原始升級(jí)文件的內(nèi)容完全拷貝到U盤(pán)后添加一個(gè)MD5校驗(yàn)和到U盤(pán)升級(jí)文件,并將U盤(pán)升級(jí)文件按照版本號(hào)的名稱進(jìn)行命名;
      [0015]步驟20、在終端插入所述U盤(pán),通過(guò)文件名和包頭判斷U盤(pán)內(nèi)是否有可升級(jí)文件,若是,則將U盤(pán)中的升級(jí)文件逐包讀取到SPI FLASH,且每讀取一小包文件就進(jìn)行一次校驗(yàn),直至升級(jí)文件全部讀取完畢,通過(guò)MD5校驗(yàn)和進(jìn)行最終校驗(yàn),校驗(yàn)成功后將SPI FLASH的升級(jí)標(biāo)志位設(shè)置為需要升級(jí),并保存終端的關(guān)鍵參數(shù)到關(guān)鍵參數(shù)備份區(qū),進(jìn)入步驟30 ;否則,結(jié)束流程;
      [0016]步驟30、重啟終端,啟動(dòng)引導(dǎo)升級(jí)程序,檢測(cè)SPI FLASH中的升級(jí)標(biāo)志位,若升級(jí)標(biāo)志位為不需要升級(jí),則結(jié)束升級(jí);
      [0017]若升級(jí)標(biāo)志位為需要進(jìn)行程序回退,則將SPI FLASH程序備份區(qū)中的程序拷貝到ROM的應(yīng)用程序區(qū),則結(jié)束升級(jí);
      [0018]若升級(jí)標(biāo)志位為需要升級(jí),則檢測(cè)SPI FLASH中升級(jí)文件的包頭是否正確,如果包頭正確,則將當(dāng)前ROM的應(yīng)用程序區(qū)的內(nèi)容拷貝到SPI FLASH的備份程序區(qū),從SPI FLASH中將升級(jí)文件數(shù)據(jù)逐包拷貝到ROM的應(yīng)用程序區(qū),且每寫(xiě)入一包,進(jìn)行一次對(duì)比確認(rèn),直到完整與完最后一包,進(jìn)入步驟40 ;否則,結(jié)束升級(jí);
      [0019]步驟40、程序跳轉(zhuǎn)到應(yīng)用程序區(qū)執(zhí)行,初始化MCU外圍硬件資源,若初始化正常,則進(jìn)入步驟50 ;否則,若初始化錯(cuò)誤,則改寫(xiě)SPI FLASH升級(jí)標(biāo)志位為需要進(jìn)行程序回退,并返回步驟30 ;
      [0020]步驟50、讀取舊的配置文件,若讀取配置成功,則升級(jí)成功,改寫(xiě)SPI FLASH升級(jí)標(biāo)志位為不需要升級(jí);否則,若讀取配置失敗,則恢復(fù)出廠配置后,讀取SPI FLASH的配置關(guān)鍵參數(shù)備份區(qū)域的關(guān)鍵參數(shù),導(dǎo)入到現(xiàn)有配置中,升級(jí)成功,并改寫(xiě)SPI FLASH升級(jí)標(biāo)志位為不需要升級(jí)。
      [0021]進(jìn)一步的,所述步驟10進(jìn)一步包括:
      [0022]步驟11、制作一個(gè)電腦升級(jí)文件制作工具,將原始升級(jí)文件打開(kāi)后,打開(kāi)一個(gè)空的U盤(pán)升級(jí)文件,將原始升級(jí)文件的版本信息寫(xiě)入U(xiǎn)盤(pán)升級(jí)文件的前16個(gè)字節(jié)的包頭,所述版本信息包括原始升級(jí)文件版本號(hào)、時(shí)間日期及版本分支信息;
      [0023]步驟12、將原始升級(jí)文件按一定大小劃分成若干個(gè)小包;
      [0024]步驟13、以小包為單位將原始升級(jí)文件逐包拷貝到U盤(pán)升級(jí)文件,且每拷貝一小包文件就進(jìn)行一次CRC 16校驗(yàn),若校驗(yàn)成功,則將CRC 16校驗(yàn)和寫(xiě)入U(xiǎn)盤(pán)升級(jí)文件,進(jìn)入步驟14 ;否則,在U盤(pán)升級(jí)文件中刪除該小包內(nèi)容,重新執(zhí)行步驟13 ;
      [0025]步驟14、判斷原始升級(jí)文件的內(nèi)容是否完全拷貝到U盤(pán),若是,計(jì)算U盤(pán)升級(jí)文件從原始升級(jí)文件拷貝過(guò)來(lái)的全部數(shù)據(jù)的MD5校驗(yàn)和,并計(jì)算整個(gè)原始升級(jí)文件的MD5校驗(yàn)和,若兩個(gè)MD5校驗(yàn)和一致,則添加一個(gè)MD5校驗(yàn)和到U盤(pán)升級(jí)文件,進(jìn)入步驟15 ;否則,返回步驟11,重新拷貝;
      [0026]步驟15、將U盤(pán)升級(jí)文件按照版本號(hào)的名稱進(jìn)行命名。
      [0027]進(jìn)一步的,所述步驟20進(jìn)一步包括:
      [0028]步驟21、在終端插入所述U盤(pán),檢測(cè)U盤(pán)內(nèi)是否存在正確名稱的升級(jí)文件,若是,則進(jìn)入步驟22;否則,結(jié)束流程;
      [0029]步驟22、檢測(cè)U盤(pán)升級(jí)文件的16個(gè)字節(jié)的包頭格式是否正確,若是,則進(jìn)入步驟23;否則,結(jié)束流程;
      [0030]步驟23、檢測(cè)U盤(pán)升級(jí)文件的16個(gè)字節(jié)的包頭版本分支是否正確,若是,則進(jìn)入步驟24;否則,結(jié)束流程;
      [0031]步驟24、判定升級(jí)文件是否讀取完畢,若是,則進(jìn)入步驟26 ;否則,進(jìn)入步驟25 ;
      [0032]步驟25、按序從U盤(pán)讀取一包升級(jí)文件到SPI FLASH,再?gòu)腟PI FLASH內(nèi)讀取剛剛寫(xiě)入的那一小包數(shù)據(jù)進(jìn)行CRC 16數(shù)值的計(jì)算,若計(jì)算結(jié)果與從
      當(dāng)前第1頁(yè)1 2 3 4 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1