亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種自動(dòng)更新的bootloader裝置及更新方法

文檔序號(hào):6544012閱讀:788來(lái)源:國(guó)知局
一種自動(dòng)更新的bootloader裝置及更新方法
【專利摘要】本發(fā)明提供一種自動(dòng)更新的bootloader裝置及更新方法,包括:bootloader引導(dǎo)程序第一模塊和bootloader引導(dǎo)程序第二模塊;所述bootloader引導(dǎo)程序第一模塊,用于bootloader引導(dǎo)程序和更新EMS區(qū);所述bootloader引導(dǎo)程序第二模塊,用于根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。通過(guò)使用以上裝置,可以實(shí)現(xiàn)對(duì)bootloader的程序故障響應(yīng)恢復(fù),避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
【專利說(shuō)明】—種自動(dòng)更新的bootloader裝置及更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及單片機(jī)控制【技術(shù)領(lǐng)域】,特別涉及一種自動(dòng)更新的bootloader裝置及更新方法。
【背景技術(shù)】
[0002]隨著在現(xiàn)有的機(jī)電控制【技術(shù)領(lǐng)域】中,電子控制單元EQJ (ElectronicControlUnit)被廣泛應(yīng)用于各種電子控制設(shè)備上。
[0003]在共軌式蓄壓器噴射系統(tǒng)中,E⑶用于通過(guò)接收傳感器的信號(hào),借助于噴油器上的電磁閥讓柴油以正確的噴油壓力在正確的噴油點(diǎn)噴射出正確的噴油量,保證柴油機(jī)最佳的燃燒比、最佳的霧化效果和最佳的點(diǎn)火時(shí)間,以實(shí)現(xiàn)良好的經(jīng)濟(jì)性和最少的污染排放。
[0004]其中,EQJ中包括有bootloader引導(dǎo)程序和EMS應(yīng)用程序。bootloader引導(dǎo)模塊是系統(tǒng)上電后運(yùn)行的第一段軟件代碼,用于引導(dǎo)、更新程序和數(shù)據(jù)。EMS應(yīng)用模塊中包括基礎(chǔ)軟件和應(yīng)用軟件,是ECU能夠控制發(fā)動(dòng)機(jī)正常工作所需要的程序。
[0005]在現(xiàn)有技術(shù)中,bootloader引導(dǎo)程序和EMS應(yīng)用程序都處于同一個(gè)編譯鏡像內(nèi)。Bootloader引導(dǎo)程序自我更新時(shí),需要將bootloader引導(dǎo)程序相關(guān)代碼復(fù)制到RAM中執(zhí)行。
[0006]但在這種使用方式中存在一定的風(fēng)險(xiǎn):
[0007]一種情況是在對(duì)鏡像文件中的EMS應(yīng)用程序進(jìn)行修改時(shí),對(duì)鏡像中的bootloader程序或整個(gè)鏡像文件造成誤修改,使bootloader引導(dǎo)程序或鏡像文件不能正常加載;另一種情況是在對(duì)bootloader引導(dǎo)程序進(jìn)行升級(jí)時(shí)出現(xiàn)突然斷電等情況,造成bootloader程序升級(jí)不完整。以上兩種情況下對(duì)bootloader程序的破壞都會(huì)造成系統(tǒng)在重新上電時(shí)出現(xiàn)錯(cuò)誤。而其解決方法只能是通過(guò)維護(hù)人員將E⑶進(jìn)行開(kāi)蓋操作,使用Trace32或者P&E等仿真器重新刷寫ECU,從而大大增加了維護(hù)人員的工作量。

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

[0008]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種自動(dòng)更新的bootloader裝置及更新方法,實(shí)現(xiàn)對(duì)ECU中bootloader引導(dǎo)程序的故障恢復(fù)或版本更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,,大大減小了維護(hù)人員的工作量。
[0009]一種自動(dòng)更新的bootloader裝置,包括:
[0010]bootloader引導(dǎo)程序第一模塊和bootloader引導(dǎo)程序第二模塊;
[0011 ] 所述bootloader弓丨導(dǎo)程序第一模塊,用于運(yùn)行bootloader弓丨導(dǎo)程序;
[0012]所述bootloader引導(dǎo)程序第二模塊,用于根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。
[0013]優(yōu)選地,所述bootloader引導(dǎo)程序第二模塊安裝在所述bootloader引導(dǎo)程序第一模塊之后,在所述bootloader引導(dǎo)程序第一模塊不能正常運(yùn)行bootloader引導(dǎo)程序時(shí),順序運(yùn)行所述bootloader引導(dǎo)程序第二模塊。[0014]優(yōu)選地,所述bootloader引導(dǎo)程序第二模塊,還包括:更新失敗反饋?zhàn)幽K;
[0015]所述更新失敗反饋?zhàn)幽K,用于在使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序無(wú)法正常更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序時(shí),向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
[0016]優(yōu)選地,所述bootloader引導(dǎo)程序第二模塊,還包括:當(dāng)前進(jìn)程反饋?zhàn)幽K;
[0017]所述當(dāng)前進(jìn)程反饋?zhàn)幽K,用于在接收到所述上位機(jī)的查詢指令后,向所述上位機(jī)反饋當(dāng)前運(yùn)行的程序信息。
[0018]優(yōu)選地,所述bootloader引導(dǎo)程序第一模塊還包括:引導(dǎo)程序更新跳轉(zhuǎn)子模塊;
[0019]所述引導(dǎo)程序更新跳轉(zhuǎn)模塊,用于在接收到所述上位機(jī)發(fā)送的bootloader引導(dǎo)程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序第二模塊。
[0020]優(yōu)選地,還包括:EMS應(yīng)用程序模塊;
[0021]所述EMS應(yīng)用程序模塊,用于在所述bootloader引導(dǎo)程序正常運(yùn)行后運(yùn)行EMS應(yīng)用程序。
[0022]優(yōu)選地,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用程序更新子模塊;
[0023]所述EMS應(yīng)用程序更新子模塊,用于根據(jù)上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序模塊中的EMS應(yīng)用程序。
[0024]優(yōu)選地,所述EMS應(yīng)用程序模塊中還包括:應(yīng)用程序更新跳轉(zhuǎn)子模塊;
[0025]所述應(yīng)用程序更新跳轉(zhuǎn)子模塊,用于在接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序第一模塊中的EMS應(yīng)用程序更新子模塊。
[0026]優(yōu)選地,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用計(jì)時(shí)加載子模塊;
[0027]所述EMS應(yīng)用計(jì)時(shí)加載子模塊,用于在所述EMS應(yīng)用程序模塊運(yùn)行之前,在指定時(shí)間內(nèi)等待所述上位機(jī)發(fā)送的所述EMS應(yīng)用更新指令;所述指定時(shí)間為所述上位機(jī)發(fā)送所述EMS應(yīng)用更新指令的時(shí)間窗。
[0028]優(yōu)選地,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用程序檢測(cè)子模塊;
[0029]所述EMS應(yīng)用程序檢測(cè)子模塊,用于檢測(cè)所述EMS應(yīng)用程序是否正確,若檢測(cè)到所述EMS應(yīng)用程序不正確,將所述bootloader引導(dǎo)程序第一模塊設(shè)置為等待狀態(tài)。
[0030]一種自動(dòng)更新的bootloader方法,包括:
[0031]運(yùn)行bootloader引導(dǎo)程序;
[0032]檢測(cè)bootloader引導(dǎo)程序是否需要更新;
[0033]若所述bootlader引導(dǎo)程序需要更新,根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序。
[0034]優(yōu)選地,在所述根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序之后,還包括:
[0035]若無(wú)法使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序,向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
[0036]優(yōu)選地,還包括:
[0037]若所述bootloader引導(dǎo)程序正常運(yùn)行,則運(yùn)行EMS應(yīng)用程序。
[0038]優(yōu)選地,在運(yùn)行EMS應(yīng)用程序之后還包括:
[0039]若接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令,跳轉(zhuǎn)運(yùn)行所述bootloader弓丨導(dǎo)程序,根據(jù)所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序。
[0040]優(yōu)選地,在所述運(yùn)行EMS應(yīng)用程序之前,還包括:
[0041]在所述指定時(shí)間內(nèi)等待接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新指令;
[0042]若在所述指定時(shí)間內(nèi)接收到所述上位機(jī)發(fā)送的更新EMS應(yīng)用程序指令,則接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
[0043]優(yōu)選地,在所述運(yùn)行EMS應(yīng)用程序之前,還包括:
[0044]檢測(cè)所述EMS應(yīng)用程序是否正確;
[0045]若檢測(cè)到所述EMS應(yīng)用程序不正確,將所述bootloader引導(dǎo)程序等待狀態(tài),接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
[0046]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0047]在本發(fā)明中,包括bootloader引導(dǎo)程序第一模塊和bootloader引導(dǎo)程序第二模塊。其中,bootloader引導(dǎo)程序第一模塊用于運(yùn)行bootloader引導(dǎo)程序。bootloader引導(dǎo)程序第二模塊用于根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。通過(guò)使用以上裝置,可以實(shí)現(xiàn)對(duì)E⑶中的bootloader引導(dǎo)程序故障響應(yīng)恢復(fù)或版本更新操作,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
【專利附圖】

【附圖說(shuō)明】
[0048]圖1是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第一實(shí)施例的原理框圖;
[0049]圖2是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第二實(shí)施例的原理框圖;
[0050]圖3是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第三實(shí)施例的原理框圖;
[0051]圖4是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第四實(shí)施例的原理框圖;
[0052]圖5是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第五實(shí)施例的原理框圖;
[0053]圖6是本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第六實(shí)施例的原理框圖;
[0054]圖7是本發(fā)明提供的一種自動(dòng)更新的bootloader方法第一實(shí)施例的流程圖;
[0055]圖8是本發(fā)明提供的一種自動(dòng)更新的bootloader方法第二實(shí)施例的流程圖;
[0056]圖9是本發(fā)明提供的一種自動(dòng)更新的bootloader方法第三實(shí)施例的流程圖;
[0057]圖10是本發(fā)明提供的一種自動(dòng)更新的bootloader方法第四實(shí)施例的流程圖。
[0058]圖11是本發(fā)明提供的一種自動(dòng)更新的bootloader方法第五實(shí)施例的流程圖。
【具體實(shí)施方式】
[0059]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,,下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做詳細(xì)的說(shuō)明。
[0060]為了方便介紹本發(fā)明,首先介紹一下E⑶啟動(dòng)時(shí)候的執(zhí)行順序。
[0061]在一般E⑶的正常啟動(dòng)過(guò)程中,首先應(yīng)該加載bootloader引導(dǎo)加載程序,在bootloader引導(dǎo)加載程序正常運(yùn)行的情況下,再加載EMS應(yīng)用程序,運(yùn)行其中的基礎(chǔ)軟件和應(yīng)用軟件。
[0062]參見(jiàn)圖1,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第一實(shí)施例的原理框圖。[0063]在本實(shí)施例中,本裝置100包括:
[0064]bootloader引導(dǎo)程序第一模塊10和bootloader引導(dǎo)程序第二模塊20。
[0065]所述bootloader引導(dǎo)程序第一模塊10,用于運(yùn)行bootloader引導(dǎo)程序。
[0066]所述bootloader弓丨導(dǎo)程序第二模塊20,用于根據(jù)上位機(jī)40發(fā)送的bootloader弓丨導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。
[0067]在bootloader引導(dǎo)程序第一模塊10中,存儲(chǔ)有bootloader引導(dǎo)程序。而在bootloader引導(dǎo)程序第二模塊20中,存儲(chǔ)有接收程序和更新bootloader引導(dǎo)程序的寫入程序。
[0068]在實(shí)際使用時(shí),bootloader引導(dǎo)程序第一模塊10首先運(yùn)行bootloader引導(dǎo)程序。
[0069]在某些情況下,bootloader引導(dǎo)程序會(huì)因?yàn)檎`修改或突然斷電等情況出現(xiàn)無(wú)法正常運(yùn)行加載的問(wèn)題。因此,可以將bootloader引導(dǎo)程序第二模塊20安裝在所述bootloader引導(dǎo)程序第一模塊10之后。這樣,在出現(xiàn)bootloader引導(dǎo)程序第一模塊10不能正常運(yùn)行bootloader弓丨導(dǎo)程序時(shí),,順序運(yùn)行所述bootloader弓丨導(dǎo)程序第二模塊20。另外,如果出現(xiàn)bootloader引導(dǎo)程序不能正常加載的情況此時(shí),還可以通過(guò)故障燈或消息指令等方式對(duì)用戶或上位機(jī)40進(jìn)行提示,告知bootloader引導(dǎo)程序不能正常運(yùn)行。
[0070]在另外一些情況下時(shí),在上位機(jī)40中還可能存在需要bootloader引導(dǎo)程序的新版本,需要替換bootloader第一模塊10中的舊版本的bootloader引導(dǎo)程序。
[0071]在出現(xiàn)以上情況時(shí),可以將控制權(quán)跳轉(zhuǎn)到bootloader引導(dǎo)程序第二模塊20來(lái)執(zhí)行其中的程序。由于在bootloader引導(dǎo)程序第二模塊20中存儲(chǔ)有接收上位機(jī)40的接收程序和bootloader引導(dǎo)程序?qū)懭氤绦?。因此,,用戶可以將上位機(jī)40與本裝置進(jìn)行連接,通過(guò)上位機(jī)40將bootloader弓I導(dǎo)更新程序發(fā)送到bootloader弓I導(dǎo)程序第二模塊20,并由bootloader引導(dǎo)程序第二模塊20將接到的bootloader引導(dǎo)更新程序更新bootloader引導(dǎo)程序第一模塊10中的bootloader引導(dǎo)程序,實(shí)現(xiàn)對(duì)bootloader引導(dǎo)程序的重新寫入。
[0072]在本實(shí)施例中,包括bootloader引導(dǎo)程序第一模塊和bootloader引導(dǎo)程序第二模塊。其中,bootloader引導(dǎo)程序第一模塊用于運(yùn)行bootloader引導(dǎo)程序。bootloader引導(dǎo)程序第二模塊用于根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。通過(guò)使用以上裝置,可以實(shí)現(xiàn)對(duì)E⑶的故障響應(yīng)恢復(fù)或版本更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0073]參見(jiàn)圖2,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第二實(shí)施例的原理框圖。
[0074]在本實(shí)施例中,所述bootloader引導(dǎo)程序第二模塊20,還包括:更新失敗反饋?zhàn)幽K201。
[0075]所述更新失敗反饋?zhàn)幽K201,用于在使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序無(wú)法正常更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序時(shí),向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
[0076]在bootloader引導(dǎo)程序第一模塊10不能正常運(yùn)行bootloader的情況下,上位機(jī)40可以將bootloader弓丨導(dǎo)程序傳送到bootloader弓丨導(dǎo)程序第二模塊20中,由bootloader引導(dǎo)程序第二模塊20進(jìn)行更新操作。[0077]但在實(shí)際發(fā)生故障時(shí),上位機(jī)40并不知道是bootloader引導(dǎo)程序出現(xiàn)問(wèn)題,還是其它程序(例如EMS應(yīng)用程序)出現(xiàn)問(wèn)題。因此,上位機(jī)40可能會(huì)發(fā)送EMS應(yīng)用程序進(jìn)行更新。
[0078]如果bootloader引導(dǎo)程序第二模塊20根據(jù)上位機(jī)40發(fā)送的更新程序無(wú)法正常對(duì)bootloader引導(dǎo)程序進(jìn)行更新寫入時(shí),更新失敗反饋?zhàn)幽K201可以向上位機(jī)40發(fā)送消息,提示上位機(jī)40程序更新操作錯(cuò)誤。
[0079]上位機(jī)40在接收到程序更新操作錯(cuò)誤后,可以根據(jù)其中的內(nèi)容重新發(fā)送更新程序。例如:上位機(jī)在第一次發(fā)送的是EMS應(yīng)用更新程序,在接收到更新失敗反饋?zhàn)幽K201發(fā)出的更新錯(cuò)誤信息后,改為發(fā)送bootloader引導(dǎo)更新程序。
[0080]在本實(shí)施例中,在bootloader引導(dǎo)程序第二模塊中還包括:更新失敗反饋?zhàn)幽K。更新失敗反饋?zhàn)幽K用于在無(wú)法正常使用所述bootloader引導(dǎo)更新程序進(jìn)行更新操作時(shí)向所述上位機(jī)發(fā)送更新錯(cuò)誤消息。通過(guò)使用以上裝置,可以實(shí)現(xiàn)在上位機(jī)發(fā)送錯(cuò)誤更新文件時(shí)對(duì)上位機(jī)及時(shí)進(jìn)行錯(cuò)誤消息反饋,從而由上位機(jī)再次發(fā)送正確的更新文件進(jìn)行操作,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0081]參見(jiàn)圖3,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第三實(shí)施例的原理框圖。
[0082]在本實(shí)施例中,所述bootloader弓丨導(dǎo)程序第二模塊20還包括:當(dāng)前進(jìn)程反饋?zhàn)幽K 202。
[0083]所述當(dāng)前進(jìn)程反饋?zhàn)幽K202,用于在接收到所述上位機(jī)的查詢指令后,向所述上位機(jī)反饋當(dāng)前運(yùn)行的程序信息。
[0084]在有些情況下,上位機(jī)40為了進(jìn)行程序更新或其它調(diào)試等需要,還要了解bootloader裝置中的當(dāng)前程序運(yùn)行信息。因此,可以在bootloader引導(dǎo)程序第二模塊20中設(shè)置當(dāng)前進(jìn)程反饋?zhàn)幽K202。當(dāng)前進(jìn)程反饋?zhàn)幽K202用于在接收到上位機(jī)的查詢指令后,向上位機(jī)返回當(dāng)前運(yùn)行的程序信息。例如:上位機(jī)向本裝置發(fā)送請(qǐng)求,詢問(wèn)當(dāng)前正在運(yùn)行的程序或模塊。假設(shè)當(dāng)前bootloader裝置中正在運(yùn)行的是bootloader引導(dǎo)程序,則當(dāng)前進(jìn)程反饋?zhàn)幽K202向上位機(jī)反饋bootloader引導(dǎo)程序的信息。
[0085]在本實(shí)施例中,在bootloader弓丨導(dǎo)程序第一模塊10還包括:弓I導(dǎo)程序更新跳轉(zhuǎn)子模塊101。
[0086]所述引導(dǎo)程序更新跳轉(zhuǎn)模塊101,用于在接收到所述上位機(jī)發(fā)送的bootloader引導(dǎo)程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序第二模塊。
[0087]在需要對(duì)bootloader引導(dǎo)程序進(jìn)行更新時(shí),上位機(jī)首先使用當(dāng)前進(jìn)程反饋?zhàn)幽K202詢問(wèn)當(dāng)前運(yùn)行的程序或模塊,如果反饋的結(jié)果為bootloader引導(dǎo)程序正在運(yùn)行或bootloader引導(dǎo)程序第一模塊正在運(yùn)行,貝U上位機(jī)可以向bootloader引導(dǎo)程序第一模塊10中的引導(dǎo)程序更新跳轉(zhuǎn)子模塊101發(fā)送跳轉(zhuǎn)指令。引導(dǎo)程序更新跳轉(zhuǎn)子模塊101在接收到跳轉(zhuǎn)指令后,,將從正在運(yùn)行的bootloader引導(dǎo)程序中斷,跳轉(zhuǎn)執(zhí)行bootloader引導(dǎo)程序第二模塊中的程序。這樣,bootloader引導(dǎo)程序第二模塊中的接收程序和更新程序就可以接收上位機(jī)的更新程序,對(duì)bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序進(jìn)行更新。[0088]通過(guò)使用以上裝置,可以實(shí)現(xiàn)在正常使用情況下對(duì)bootloader引導(dǎo)程序的自動(dòng)更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0089]參見(jiàn)圖4,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第四實(shí)施例的原理框圖。
[0090]在本實(shí)施例中,還包括:EMS應(yīng)用程序模塊30。
[0091]所述EMS應(yīng)用程序模塊30,用于在所述bootloader引導(dǎo)程序正常運(yùn)行后運(yùn)行EMS應(yīng)用程序。
[0092]在bootloader引導(dǎo)程序第一模塊10正常運(yùn)行bootloader引導(dǎo)程序后,就可以開(kāi)始運(yùn)行后續(xù)的EMS應(yīng)用程序。因此,在本實(shí)施例中可以在bootloader引導(dǎo)程序第一模塊10和bootloader引導(dǎo)程序第二模塊20后,安裝EMS應(yīng)用程序模塊30,在bootloader引導(dǎo)程序正常運(yùn)行后運(yùn)行EMS應(yīng)用程序。
[0093]在本實(shí)施例中,在bootloader引導(dǎo)程序第一模塊10中還包括:EMS應(yīng)用程序更新子模塊102。
[0094]所述EMS應(yīng)用程序更新子模塊102,用于將所述上位機(jī)40發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序模塊30中的EMS應(yīng)用程序。
[0095]由于在實(shí)際使用中,EMS應(yīng)用程序也有可能因?yàn)檎`修改或突然斷電等情況導(dǎo)致EMS應(yīng)用程序無(wú)法正常運(yùn)行,或者需要運(yùn)行新版本的EMS應(yīng)用程序。因此,EMS應(yīng)用程序也存在需要進(jìn)行EMS程序更新的技術(shù)要求。
[0096]為了實(shí)現(xiàn)以上功能,可以在bootloader引導(dǎo)程序第一模塊10中設(shè)置EMS應(yīng)用程序更新子模塊102。
[0097]在bootloader引導(dǎo)程序第一模塊10正常運(yùn)行bootloader引導(dǎo)程序后,開(kāi)始由EMS應(yīng)用程序模塊30來(lái)運(yùn)行EMS應(yīng)用程序。如果EMS應(yīng)用程序模塊30在運(yùn)行EMS應(yīng)用程序出現(xiàn)錯(cuò)誤時(shí)(可以通過(guò)故障燈或消息指令等方式對(duì)用戶或上位機(jī)40進(jìn)行提示),或者在上位機(jī)中存在了 EMS應(yīng)用程序的新版本,需要對(duì)EMS應(yīng)用程序模塊30中的EMS應(yīng)用程序進(jìn)行更新替換時(shí),可以將控制權(quán)跳轉(zhuǎn)到EMS應(yīng)用程序更新子模塊102等待用戶或上位機(jī)40的指令和更新程序。
[0098]在上位機(jī)40連接本裝置后,通過(guò)向bootloader引導(dǎo)程序第一模塊10中的EMS應(yīng)用程序更新子模塊102發(fā)送正確的EMS應(yīng)用更新程序,由EMS應(yīng)用程序更新子模塊102來(lái)更新EMS應(yīng)用程序。
[0099]為了能夠?qū)崿F(xiàn)對(duì)EMS應(yīng)用程序在任意時(shí)刻的更新操作,可以在EMS應(yīng)用程序模塊中安裝應(yīng)用程序更新跳轉(zhuǎn)子模塊103,用于在接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行bootloader引導(dǎo)程序第一模塊10中的EMS應(yīng)用程序更新子模塊102。這樣,不管當(dāng)前運(yùn)行的是什么內(nèi)容的EMS應(yīng)用程序,都可以在接收到上位機(jī)的EMS應(yīng)用程序更新指令后中斷運(yùn)行,將控制器跳轉(zhuǎn)到EMS應(yīng)用程序更新子模塊102進(jìn)行執(zhí)行。
[0100]在本實(shí)施例中,在bootloader引導(dǎo)程序第一模塊中設(shè)置EMS應(yīng)用程序更新子模塊,可以在EMS應(yīng)用程序無(wú)法正常運(yùn)行或需要進(jìn)行升級(jí)時(shí),將上位機(jī)發(fā)送的EMS應(yīng)用程序通過(guò)EMS應(yīng)用程序更新模塊進(jìn)行更新操作。通過(guò)使用以上裝置,可以實(shí)現(xiàn)EMS應(yīng)用程序的故障響應(yīng)或程序版本升級(jí),避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0101]參見(jiàn)圖5,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第五實(shí)施例的原理框圖。
[0102]在本實(shí)施例中,所述bootloader引導(dǎo)程序第一模塊10還包括:EMS應(yīng)用計(jì)時(shí)加載子模塊103。
[0103]所述EMS應(yīng)用計(jì)時(shí)加載子模塊103,用于在所述EMS應(yīng)用程序模塊運(yùn)行之前,在指定時(shí)間內(nèi)等待所述上位機(jī)發(fā)送的所述EMS應(yīng)用更新指令;所述指定時(shí)間為所述上位機(jī)發(fā)送所述EMS應(yīng)用更新指令的時(shí)間窗。
[0104]在bootloader引導(dǎo)程序正常運(yùn)行后,開(kāi)始啟動(dòng)EMS應(yīng)用程序模塊30來(lái)運(yùn)行EMS應(yīng)用程序。
[0105]但由于在上位機(jī)40可能存在新版本的EMS應(yīng)用程序,,因此可以在EMS應(yīng)用程序運(yùn)行前由EMS應(yīng)用計(jì)時(shí)加載子模塊103計(jì)時(shí)等待一定時(shí)間,例如50ms。如果在這段時(shí)間窗內(nèi)接收到上位機(jī)40發(fā)送的EMS應(yīng)用更新指令,則跳轉(zhuǎn)執(zhí)行EMS應(yīng)用程序更新子模塊102來(lái)接收上位機(jī)40之后發(fā)送的EMS應(yīng)用更新程序更新本裝置中的EMS應(yīng)用程序。如果沒(méi)有接收到上位機(jī)40的EMS應(yīng)用更新程序,則繼續(xù)正常啟動(dòng)EMS應(yīng)用程序模塊30運(yùn)行其中的EMS應(yīng)用程序。
[0106]在本實(shí)施例中,通過(guò)在bootloader弓丨導(dǎo)程序第一模塊設(shè)置EMS應(yīng)用計(jì)時(shí)加載子模塊,可以在指定時(shí)間內(nèi)等待上位機(jī)的更新指令,為自動(dòng)更新EMS應(yīng)用程序提供合理的時(shí)間窗口,方便了對(duì)ECU中EMS應(yīng)用程序的更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0107]參見(jiàn)圖6,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader裝置第六實(shí)施例的原理框圖。
[0108]在本實(shí)施例中,在所述bootloader引導(dǎo)程序第一模塊10中還可以包括:EMS應(yīng)用程序檢測(cè)子模塊104。
[0109]所述EMS應(yīng)用程序檢測(cè)子模塊104,用于檢測(cè)所述EMS應(yīng)用程序是否正確,若檢測(cè)到所述EMS應(yīng)用程序不正確,則將所述bootloader引導(dǎo)程序第一模塊設(shè)置為等待狀態(tài)。
[0110]在運(yùn)行EMS應(yīng)用程序之前時(shí),為了能夠確定EMS應(yīng)用程序的完整性,可以在bootloader引導(dǎo)程序第一模塊10中設(shè)置EMS應(yīng)用程序檢測(cè)子模塊103。EMS應(yīng)用程序檢測(cè)子模塊104可以檢測(cè)在EMS應(yīng)用程序模塊30中的EMS應(yīng)用程序是否完整,如果完整則由EMS應(yīng)用程序模塊30進(jìn)行運(yùn)行加載。如果不完整,則認(rèn)為EMS應(yīng)用程序受損,可以通過(guò)故障燈或消息指令等方式對(duì)用戶或上位機(jī)40進(jìn)行提示。同時(shí),可以將bootloader引導(dǎo)程序第一模塊10設(shè)置為等待狀態(tài),直至上位機(jī)對(duì)EMS應(yīng)用程序故障進(jìn)行響應(yīng),例如上位機(jī)40發(fā)送EMS應(yīng)用更新程序更新EMS應(yīng)用程度模塊中受損的EMS應(yīng)用程序。
[0111]通過(guò)在bootloader引導(dǎo)程序第一模塊中設(shè)置EMS應(yīng)用程序檢測(cè)子模塊,可以實(shí)現(xiàn)在每次啟動(dòng)EMS應(yīng)用程序模塊前都自動(dòng)檢測(cè)EMS應(yīng)用程序是否完整,能夠及時(shí)的確定EMS應(yīng)用程序的問(wèn)題,并結(jié)合EMS應(yīng)用程序更新子模塊實(shí)現(xiàn)了對(duì)損壞的EMS應(yīng)用程序的更新更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0112]基于上述提供的一種自動(dòng)更新的bootloader裝置,本發(fā)明還提供了一種自動(dòng)更新bootloader的方法,下面結(jié)合具體實(shí)施例來(lái)詳細(xì)說(shuō)明其組成部分。
[0113]參見(jiàn)圖7,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader方法第一實(shí)施例的流程圖。
[0114]在本實(shí)施例中,包括:
[0115]SlOl:運(yùn)行 bootloader 引導(dǎo)程序。
[0116]S102:檢測(cè)bootloader引導(dǎo)程序是否需要更新。
[0117]S103:若所述bootlader引導(dǎo)程序需要更新,根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序。
[0118]在啟動(dòng)本裝置后,首先運(yùn)行bootloader引導(dǎo)程序。
[0119]在某些情況下,bootloader引導(dǎo)程序會(huì)因?yàn)檎`修改、突然斷電等情況出現(xiàn)無(wú)法正常加載的問(wèn)題,需要檢測(cè)bootloader引導(dǎo)程序是否正常運(yùn)行。在這種情況下,可以通過(guò)故障燈或消息指令等方式對(duì)用戶或上位機(jī)40進(jìn)行提示,或直接暫停執(zhí)行后面的程序,等待上位機(jī)40的指令。
[0120]在另一些情況下,在上位機(jī)存在新版本的bootloader引導(dǎo)程序,需要對(duì)本裝置中存儲(chǔ)的bootloader引導(dǎo)程序進(jìn)行更新替換。
[0121]在以上情況出現(xiàn)時(shí),可以連接上位機(jī),通過(guò)上位機(jī)將bootloader引導(dǎo)更新程序發(fā)送到本地,并使用接到的bootloader引導(dǎo)更新程序更新本地的bootloader引導(dǎo)程序,實(shí)現(xiàn)對(duì)bootloader引導(dǎo)程序的重新寫入。
[0122]為了保證更新操作的完成,可以在根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序之后,還包括:
[0123]若無(wú)法使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序,向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
[0124]在本實(shí)施例中,首先運(yùn)行bootloader引導(dǎo)程序,之后檢測(cè)bootloader引導(dǎo)程序是否需要更新,若bootlader引導(dǎo)程序需要更新,則根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序。通過(guò)使用以上方法,可以實(shí)現(xiàn)對(duì)bootloader引導(dǎo)程序的故障響應(yīng)恢復(fù),避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0125]參見(jiàn)圖8,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader方法第二實(shí)施例的流程圖。
[0126]本實(shí)施例中的步驟S201-203與自動(dòng)更新的bootloader方法第一實(shí)施例中的步驟S101-S103相同,在此不再重復(fù)介紹。
[0127]在本實(shí)施例中,所述根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序之后,還包括;
[0128]S204:檢測(cè)使用所述bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序是否正常完成。
[0129]S205:若無(wú)法正常使用所述bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序,則向所述上位機(jī)發(fā)送更新錯(cuò)誤消息。
[0130]在bootloader引導(dǎo)程序不能正常運(yùn)行或進(jìn)行版本更新的情況下,上位機(jī)可以將bootloader引導(dǎo)更新程序發(fā)送到本地更新bootloader引導(dǎo)程序。[0131]但在實(shí)際操作時(shí),由于各種原因可能在對(duì)bootloader引導(dǎo)程序進(jìn)行更新時(shí)可能不能正常完成;或者上位機(jī)可能并不知道是bootloader引導(dǎo)程序出現(xiàn)問(wèn)題,還是EMS應(yīng)用程序出現(xiàn)問(wèn)題,上位機(jī)可能會(huì)發(fā)送錯(cuò)誤的更新程序。
[0132]在根據(jù)上位機(jī)發(fā)送的更新程序無(wú)法完成本地bootloader引導(dǎo)程序的更新操作后,用戶或上位機(jī)在更新完成后會(huì)向本地發(fā)送查詢指令,查詢bootloader引導(dǎo)程序更新結(jié)果。在接收到查詢指令后,可以將更新錯(cuò)誤信息發(fā)送到上位機(jī)進(jìn)行反饋;或者可以直接向上位機(jī)發(fā)送更新錯(cuò)誤信息,提示本地程序更新操作錯(cuò)誤。
[0133]上位機(jī)在接收到程序更新操作錯(cuò)誤后,可以根據(jù)其中的內(nèi)容重新發(fā)送更新程序。如上位機(jī)第一次發(fā)送的是EMS應(yīng)用更新程序,在接收到更新錯(cuò)誤信息后,改為發(fā)送bootloader引導(dǎo)更新程序。
[0134]在本實(shí)施例中,在根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新bootloader引導(dǎo)程序之后,還包括:若無(wú)法使用上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新bootloader引導(dǎo)程序,向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。通過(guò)使用以上方法,可以實(shí)現(xiàn)在更新失敗后對(duì)上位機(jī)及時(shí)進(jìn)行錯(cuò)誤信息反饋,從而由上位機(jī)再次發(fā)送正確的更新程序進(jìn)行更新操作,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0135]參見(jiàn)圖9,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader方法第三實(shí)施例的流程圖。
[0136]本實(shí)施例中的步驟S301-303與自動(dòng)更新的bootloader方法第一實(shí)施例中的步驟S101-S103相同,在此不再重復(fù)介紹。
[0137]在本實(shí)施例中,還包括:
[0138]S304:若所述bootloader引導(dǎo)程序正常運(yùn)行,則運(yùn)行EMS應(yīng)用程序。
[0139]在bootloader引導(dǎo)程序正常運(yùn)行后,就可以開(kāi)始運(yùn)行后續(xù)的EMS應(yīng)用程序。
[0140]由于在實(shí)際使用中,EMS應(yīng)用程序有可能因?yàn)檎`修改或突然斷電等情況導(dǎo)致EMS應(yīng)用程序無(wú)法正常運(yùn)行,或者需要運(yùn)行新版本的EMS應(yīng)用程序。因此,EMS應(yīng)用程序也存在需要進(jìn)行EMS程序更新的技術(shù)要求。
[0141]因此,在本實(shí)施例中,還包括:
[0142]S305:判斷是否接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令。
[0143]S306:若接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令,跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序,根據(jù)所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序。
[0144]在有些情況下,在上位機(jī)可能存在新版本的EMS應(yīng)用程序,需要對(duì)本地的EMS應(yīng)用程序進(jìn)行更新替換。在這種情況下,上位機(jī)可能隨時(shí)會(huì)向本地發(fā)送EMS應(yīng)用程序更新指令。
[0145]在接收到EMS應(yīng)用程序更新指令后,可以中止當(dāng)前正在運(yùn)行的EMS應(yīng)用程序,將跳轉(zhuǎn)執(zhí)行bootloader引導(dǎo)程序。其中,在bootloader引導(dǎo)程序中包括有EMS應(yīng)用程序的寫入程序。在上位機(jī)連接到本地后,可以使用將接收到的新版本的EMS應(yīng)用更新程序更新替換本地的EMS應(yīng)用程序。
[0146]在本實(shí)施例中,在bootloader引導(dǎo)程序正常運(yùn)行的情況下,則運(yùn)行EMS應(yīng)用程序。如果接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令,跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序,根據(jù)所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序。通過(guò)使用以上方法,可以實(shí)現(xiàn)對(duì)EMS應(yīng)用程序的故障響應(yīng)和程序版本升級(jí),避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0147]參見(jiàn)圖10,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader方法第四實(shí)施例的流程圖。
[0148]本實(shí)施例中的步驟S401-S403和S406與自動(dòng)更新的bootloader方法第三實(shí)施例中的步驟S301-S303和S304相同,在此不再重復(fù)介紹。
[0149]在本實(shí)施例中,在所述運(yùn)行EMS應(yīng)用程序之前,還包括:
[0150]S404:在所述指定時(shí)間內(nèi)等待接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新指令。
[0151]S405:若在所述指定時(shí)間內(nèi)接收到所述上位機(jī)發(fā)送的更新EMS應(yīng)用程序指令,則接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
[0152]在bootloader引導(dǎo)程序正常運(yùn)行后,開(kāi)始運(yùn)行EMS應(yīng)用程序。
[0153]但由于在上位機(jī)可能存在新版本的EMS應(yīng)用程序,因此,可以在EMS應(yīng)用程序運(yùn)行前等待一定時(shí)間,例如50ms。如果在這段時(shí)間窗內(nèi)接收到上位機(jī)40發(fā)送的EMS應(yīng)用更新指令,則認(rèn)為上位機(jī)存在新版本的EMS應(yīng)用程序,需要對(duì)本地EMS應(yīng)用程序進(jìn)行更新,根據(jù)上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地的EMS應(yīng)用程序。如果沒(méi)有接收到上位機(jī)發(fā)送的應(yīng)用更新程序,則繼續(xù)正常運(yùn)行EMS應(yīng)用程序。
[0154]在本實(shí)施例中,通過(guò)在指定時(shí)間內(nèi)等待接收上位機(jī)發(fā)送的EMS應(yīng)用更新指令,可以為上位機(jī)提供時(shí)間窗口進(jìn)行新版本更新交互,方便了對(duì)ECU中EMS應(yīng)用程序的更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的
工作量。
[0155]參見(jiàn)圖11,該圖為本發(fā)明提供的一種自動(dòng)更新的bootloader方法第五實(shí)施例的流程圖。
[0156]本實(shí)施例中的步驟S501-S503和S506與自動(dòng)更新的bootloader方法第三實(shí)施例中的步驟S301-S303和S304相同,在此不再重復(fù)介紹。
[0157]在本實(shí)施例中,在所述運(yùn)行EMS應(yīng)用程序之前,還包括:
[0158]S504:檢測(cè)所述EMS應(yīng)用程序是否正確。
[0159]S505:若檢測(cè)到所述EMS應(yīng)用程序不正確,將所述bootloader引導(dǎo)程序等待狀態(tài),接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
[0160]在運(yùn)行EMS應(yīng)用程序之前時(shí),為了能夠確定EMS應(yīng)用程序的完整性,可以檢測(cè)EMS應(yīng)用程序是否完整,如果檢測(cè)到EMS應(yīng)用程序完整,則運(yùn)行該EMS應(yīng)用程序。如果檢測(cè)到EMS應(yīng)用程序不完整,則認(rèn)為EMS應(yīng)用程序受損,可以通過(guò)故障燈或消息指令等方式對(duì)用戶或上位機(jī)進(jìn)行提示,同時(shí),等待上位機(jī)發(fā)送EMS應(yīng)用更新程序進(jìn)行更新操作。
[0161]在本實(shí)施例中,在運(yùn)行EMS應(yīng)用程序之前檢測(cè)EMS應(yīng)用程序是否正確,如果檢測(cè)到EMS應(yīng)用程序不正確,接收上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。通過(guò)使用以上方法,可以實(shí)現(xiàn)在每次啟動(dòng)EMS應(yīng)用程序模塊前都自動(dòng)檢測(cè)EMS應(yīng)用程序是否完整,能夠及時(shí)的確定EMS應(yīng)用程序的問(wèn)題,并結(jié)合EMS應(yīng)用程序更新子模塊實(shí)現(xiàn)了對(duì)損壞的EMS應(yīng)用程序的更新更新,避免了現(xiàn)有技術(shù)中維護(hù)人員需要將ECU開(kāi)蓋進(jìn)行程序重置的繁瑣工作,大大減小了維護(hù)人員的工作量。
[0162]以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制。雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明。任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出許多可能的變動(dòng)和修飾,或修改為等同變化的等效實(shí)施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所做的任何簡(jiǎn)單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍內(nèi)。
【權(quán)利要求】
1.一種自動(dòng)更新的bootloader裝置,其特征在于,包括: bootloader引導(dǎo)程序第一模塊和bootloader引導(dǎo)程序第二模塊; 所述bootloader引導(dǎo)程序第一模塊,用于運(yùn)行bootloader引導(dǎo)程序; 所述bootloader引導(dǎo)程序第二模塊,用于根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第二模塊安裝在所述bootloader引導(dǎo)程序第一模塊之后,在所述bootloader引導(dǎo)程序第一模塊不能正常運(yùn)行bootloader引導(dǎo)程序時(shí),順序運(yùn)行所述bootloader引導(dǎo)程序第二模塊。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第二模塊,還包括:更新失敗反饋?zhàn)幽K; 所述更新失敗反饋?zhàn)幽K,用于在使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序無(wú)法正常更新所述bootloader引導(dǎo)程序第一模塊中的bootloader引導(dǎo)程序時(shí),向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第二模塊,還包括:當(dāng)前進(jìn)程反饋?zhàn)幽K; 所述當(dāng)前進(jìn)程反饋?zhàn)幽K,用于在接收到所述上位機(jī)的查詢指令后,向所述上位機(jī)反饋當(dāng)前運(yùn)行的程序信息。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第一模塊還包括:引導(dǎo)程序更新跳轉(zhuǎn)子模塊; 所述引導(dǎo)程序更新跳轉(zhuǎn)模塊,用于在接收到所述上位機(jī)發(fā)送的bootloader引導(dǎo)程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序第二模塊。
6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,還包括::EMS應(yīng)用程序模塊; 所述EMS應(yīng)用程序模塊,用于在所述bootloader引導(dǎo)程序正常運(yùn)行后運(yùn)行EMS應(yīng)用程序。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用程序更新子模塊; 所述EMS應(yīng)用程序更新子模塊,用于根據(jù)上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序模塊中的EMS應(yīng)用程序。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述EMS應(yīng)用程序模塊中還包括:應(yīng)用程序更新跳轉(zhuǎn)子模塊; 所述應(yīng)用程序更新跳轉(zhuǎn)子模塊,用于在接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令時(shí),跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序第一模塊中的EMS應(yīng)用程序更新子模塊。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用計(jì)時(shí)加載子模塊; 所述EMS應(yīng)用計(jì)時(shí)加載子模塊,用于在所述EMS應(yīng)用程序模塊運(yùn)行之前,在指定時(shí)間內(nèi)等待所述上位機(jī)發(fā)送的所述EMS應(yīng)用更新指令;所述指定時(shí)間為所述上位機(jī)發(fā)送所述EMS應(yīng)用更新指令的時(shí)間窗。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述bootloader引導(dǎo)程序第一模塊還包括:EMS應(yīng)用程序檢測(cè)子模塊;所述EMS應(yīng)用程序檢測(cè)子模塊,用于檢測(cè)所述EMS應(yīng)用程序是否正確,若檢測(cè)到所述EMS應(yīng)用程序不正確,將所述bootloader引導(dǎo)程序第一模塊設(shè)置為等待狀態(tài)。
11.一種自動(dòng)更新的bootloader方法,其特征在于,包括: 運(yùn)行bootloader引導(dǎo)程序; 檢測(cè)bootloader引導(dǎo)程序是否需要更新; 若所述bootlader引導(dǎo)程序需要更新,根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,在所述根據(jù)上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序之后,還包括: 若無(wú)法使用所述上位機(jī)發(fā)送的bootloader引導(dǎo)更新程序更新所述bootloader引導(dǎo)程序,向所述上位機(jī)發(fā)送更新錯(cuò)誤信息。
13.根據(jù)權(quán)利 要求11所述的方法,其特征在于,還包括: 若所述bootloader引導(dǎo)程序正常運(yùn)行,則運(yùn)行EMS應(yīng)用程序。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,在運(yùn)行EMS應(yīng)用程序之后還包括: 若接收到所述上位機(jī)發(fā)送的EMS應(yīng)用程序更新指令,跳轉(zhuǎn)運(yùn)行所述bootloader引導(dǎo)程序,根據(jù)所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新所述EMS應(yīng)用程序。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,在所述運(yùn)行EMS應(yīng)用程序之前,還包括: 在所述指定時(shí)間內(nèi)等待接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新指令; 若在所述指定時(shí)間內(nèi)接收到所述上位機(jī)發(fā)送的更新EMS應(yīng)用程序指令,則接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,在所述運(yùn)行EMS應(yīng)用程序之前,還包括: 檢測(cè)所述EMS應(yīng)用程序是否正確; 若檢測(cè)到所述EMS應(yīng)用程序不正確,將所述bootloader引導(dǎo)程序等待狀態(tài),接收所述上位機(jī)發(fā)送的EMS應(yīng)用更新程序更新本地所述EMS應(yīng)用程序。
【文檔編號(hào)】G06F9/445GK103995712SQ201410153269
【公開(kāi)日】2014年8月20日 申請(qǐng)日期:2014年4月16日 優(yōu)先權(quán)日:2014年4月16日
【發(fā)明者】史家濤, 劉曉波, 紀(jì)小娟, 陳娜娜, 劉名 申請(qǐng)人:濰柴動(dòng)力股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1