国产精品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>

      一種軟件遠程升級的方法

      文檔序號:6438370閱讀:188來源:國知局
      專利名稱:一種軟件遠程升級的方法
      技術領域
      本發(fā)明實施例涉及單片機技術領域,尤其涉及一種對單片機進行軟件遠程升級的方法。
      背景技術
      通常,可以利用一段監(jiān)控程序通過單片機通用的內(nèi)部USART (Universal Synchronous/Asynchronous Receiver/Transmitter, ilM / ^/ν Φ^fft1Bt / ^3 !) 接口與PC機通信,實現(xiàn)對單片機內(nèi)部Flash存儲器的數(shù)據(jù)進行監(jiān)控和更新,從而實現(xiàn)單片機程序的遠程升級。其中,對單片機進行軟件升級的實現(xiàn)方式是監(jiān)控程序接收來自PC機的指令,根據(jù)接收到的指令擦除單片機Flash的數(shù)據(jù),然后根據(jù)接收到的指令和數(shù)據(jù)更新Flash的程序區(qū)數(shù)據(jù)。更新Flash的程序區(qū)數(shù)據(jù)具體是指接收軟件升級所需要的應用軟件的代碼,將接收到的應用軟件的代碼加載到Flash中。軟件升級所需要的監(jiān)控程序保存在Flash存儲器的兩個存儲段中。在擦除單片機 Flash的數(shù)據(jù)時,不能擦除存放監(jiān)控程序的這兩個存儲段。如果監(jiān)控程序占用了 FLASH存儲器的兩段高地址內(nèi)存,那么應用程序的中斷向量就要存放在用戶Flash存儲區(qū)的末端。單片機中的中斷程序地址存放位置的分配從OxFFEO到OxFFFF,并且中斷程序地址存放位置中存放的是監(jiān)控程序中相應的中斷程序地址。由于在軟件升級過程中,需要擦除Flash中的數(shù)據(jù),而應用程序的中斷向量也會被擦除。因此,建立軟件升級所需要的應用程序時,應用程序的中斷向量在Flash存儲器中的存放位置會發(fā)生改變。當中斷發(fā)生時,單片機在FLASH存儲器的默認中斷程序地址存放位置查找中斷向量,該中斷向量是相應的中斷程序地址,跳到這個中斷程序地址處執(zhí)行中斷程序。由于 FLASH存儲器中默認中斷程序地址存放位置存放的是監(jiān)控程序的中斷向量,因此當中斷發(fā)生時單片機執(zhí)行的是監(jiān)控程序中的中斷程序。這個中斷程序?qū)崿F(xiàn)的功能是跳轉(zhuǎn)至應用程序中相應的中斷程序處并執(zhí)行。這也就是所謂的中斷地址重映射,需要增加一條跳轉(zhuǎn)指令才能進入真正的應用程序的中斷程序,也就增加了中斷的響應時間。如上所述,在運行應用程序時,需要增加一條跳轉(zhuǎn)指令才能進入應用程序中的中斷程序,增加了應用程序運行時中斷的響應時間。

      發(fā)明內(nèi)容
      本發(fā)明的實施例提供了一種軟件遠程升級的方法,從而解決應用程序運行時中斷響應時間長的問題。本發(fā)明的目的是通過以下技術方案實現(xiàn)的 一種軟件遠程升級的方法,包括
      生成軟件升級所需要的應用程序代碼;
      所述生成軟件升級所需要的應用程序代碼包括按照預定的地址分配規(guī)則,為軟件升級所需要的應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段;
      向所述單片機發(fā)送所述應用程序代碼;
      在所述單片機上運行監(jiān)控程序,接收所述應用程序代碼,并將所述應用程序代碼寫到所述單片機的存儲器中;
      所述將所述應用程序代碼寫到所述單片機的存儲器中包括將所述應用程序代碼的中斷向量保存到為其分配的中斷程序地址存放位置上的部分地址段中; 退出所述監(jiān)控程序,運行所述應用程序。由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例中,按照預定的地址分配規(guī)則生成軟件升級所需要的應用程序代碼。由于預定的地址分配規(guī)則中,在單片機的存儲器中的中斷程序地址存放位置上為應用程序的中斷向量分配了固定的存放地址, 因此在更新應用軟件的過程中,不需要改變中斷向量的存放位置。避免了應用軟件運行過程中中斷地址重映射,縮短了中斷的響應時間,提高了應用程序的中斷響應速度。另外,本發(fā)明的實施例還提供一種軟件安裝的方法,解決應用程序運行時中斷響應時間長的問題。本發(fā)明的目的是通過以下技術方案實現(xiàn)的 一種軟件安裝的方法,包括
      生成應用程序代碼;
      所述生成應用程序代碼包括按照預定的地址分配規(guī)則,為應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段; 生成監(jiān)控程序代碼;
      所述生成監(jiān)控程序代碼包括按照預定的地址分配規(guī)則,為監(jiān)控程序的中斷向量分配所述存儲器中的中斷程序地址存放位置上的部分地址段;為應用程序的中斷向量分配的地址段與為監(jiān)控程序的中斷向量分配的地址段不重復;
      將所述應用程序代碼和所述監(jiān)控程序代碼下載到單片機的所述存儲器中; 運行所述應用程序。一種軟件安裝的方法,包括
      分別生成應用程序代碼和監(jiān)控程序代碼;
      按照分配的存放地址順序,將所述應用程序代碼和所述監(jiān)控程序代碼進行組合; 所述將所述應用程序代碼和所述監(jiān)控程序代碼進行組合包括 如果相同的中斷向量存放地址對應的位置上既有監(jiān)控程序代碼、又有應用程序代碼, 則按照預定的地址分配規(guī)則,在為監(jiān)控程序的中斷向量分配的存放地址對應的位置保留監(jiān)控程序的代碼,在為應用程序的中斷向量分配的存放地址對應的位置保留應用程序的代碼;所述為監(jiān)控程序的中斷向量分配的存放地址和所述為應用程序的中斷向量的存放地址均是指單片機的存儲器中的中斷程序地址存放位置上的部分地址段,且為應用程序的中斷向量分配的地址段與為監(jiān)控程序的中斷向量分配的地址段不重復; 將組合后得到的代碼下載到單片機的存儲器中; 運行所述應用程序。由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例中,按照預定的地址分配規(guī)則生成軟件安裝所需要的應用程序代碼和監(jiān)控程序代碼。由于預定的地址分配規(guī)則中,在單片機的存儲器中的中斷程序地址存放位置上為應用程序的中斷向量分配了固定的存放地址,且該存放地址與監(jiān)控程序的中斷向量的存放地址不沖突,因此避免了應用軟件運行過程中中斷地址重映射,縮短了中斷的響應時間,提高了應用程序的中斷響應速度。


      圖1為本發(fā)明應用實施例一提供的方法流程圖2為本發(fā)明應用實施例二提供的串行通信總線系統(tǒng)結(jié)構(gòu)示意圖; 圖3為本發(fā)明實施例三提供的方法流程圖。
      具體實施例方式本發(fā)明實施例提供了一種軟件遠程升級的方法,其實現(xiàn)方式包括如下操作 步驟1、生成軟件升級所需要的應用程序代碼;
      其中,生成應用程序代碼的過程中,為各部分代碼段分配在單片機的存儲器中的存放地址。特別的,按照預定的地址分配規(guī)則,為軟件升級所需要的應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段; 步驟2、向單片機發(fā)送所述應用程序代碼;
      步驟3、在單片機上運行監(jiān)控程序,通過所述監(jiān)控程序接收所述應用程序代碼,并將所述應用程序代碼寫到單片機的存儲器中;
      其中,步驟3的具體實現(xiàn)方式可以是,由監(jiān)控程序按照應用程序代碼中為各部分代碼段分配的存放地址,將應用程序代碼寫到單片機的存儲器中。例如,將所述應用程序代碼的中斷向量保存到為其分配的中斷程序地址存放位置上的部分地址段中。步驟4、退出所述監(jiān)控程序,運行所述應用程序。本發(fā)明實施例提供的方法,預先對單片機的存儲器中空間進行了分配,特別是對中斷程序地址存放位置進行了分配,使得其一部分地址段用來存放監(jiān)控程序的中斷向量, 另外一部分地址段用來存放應用程序的中斷向量。按照預定的地址分配規(guī)則生成軟件升級所需要的應用程序代碼。由于預定的地址分配規(guī)則中,在單片機的存儲器中的中斷程序地址存放位置上為應用程序的中斷向量分配了固定的存放地址,因此在更新應用軟件的過程中,不需要改變中斷向量的存放位置。避免了應用軟件運行時中斷地址重映射,縮短了中斷的響應時間,提高了應用程序的中斷響應速度。本發(fā)明實施例中,所述的單片機的存儲器可以但不僅限于是指,單片機的!^alsh 存儲器。另外,在現(xiàn)有技術中,也沒有對串行設備進行軟件升級的實現(xiàn)方式。本發(fā)明實施例提供的方法,還可以實現(xiàn)對串行設備進行軟件遠程升級。其實現(xiàn)方式可以是,首先確定需要升級的串行設備單片機地址。則軟件升級的過程具體是針對需要升級的串行設備單片機進行的。相應的,上述步驟1具體是指,針對所述需要升級的串行設備單片機,生成軟件升級所需要的應用程序代碼;上述步驟2具體是指,按照所述需要升級的串行設備單片機地址, 向所述需要升級的串行設備單片機發(fā)送所述應用程序代碼。本發(fā)明實施例還提供了一種軟件安裝的方法,其實現(xiàn)方式包括如下操作 步驟1、生成應用程序代碼;
      其中,生成應用程序代碼的過程中,為各部分代碼段分配在單片機的存儲器中的存放地址。特別的,按照預定的地址分配規(guī)則,為應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段; 步驟2、生成監(jiān)控程序代碼;
      其中,生成監(jiān)控程序代碼的過程中,為各部分代碼段分配在單片機的存儲器中的存放地址。特別的,按照預定的地址分配規(guī)則,為監(jiān)控程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段。為應用程序代碼分配的地址段與為監(jiān)控程序代碼分配的地址段不重復。特別的, 為應用程序的中斷向量分配的地址段與為監(jiān)控程序的中斷向量分配的地址段不重復。應當指出的是,上述步驟1和步驟2不存在時序上的先后順序的限定。步驟3、將所述應用程序代碼和所述監(jiān)控程序代碼下載到單片機的存儲器中;
      具體的,按照分配的地址段,在單片機的存儲器中分別存儲應用程序代碼和監(jiān)控程序代碼。步驟4、運行所述應用程序。由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例中,按照預定的地址分配規(guī)則生成軟件安裝所需要的應用程序代碼和監(jiān)控程序代碼。由于預定的地址分配規(guī)則中,在單片機的存儲器中的中斷程序地址存放位置上為應用程序的中斷向量分配了固定的存放地址,且該存放地址與監(jiān)控程序的中斷向量的存放地址不沖突,因此避免了應用軟件運行過程中中斷地址重映射,縮短了中斷的響應時間,提高了應用程序的中斷響應速度。上述軟件安裝過程中,在步驟3之前,還可以按照分配的存放地址順序,將所述應用程序代碼和所述監(jiān)控程序代碼進行組合;則,步驟3具體是指將所述組合后得到的代碼下載到單片機的存儲器中。本發(fā)明實施例提供的軟件安裝方法,還可以應用在串行設備單片機上。那么,在進行上述軟件安裝操作之前,該方法還包括確定需要安裝軟件的串行設備單片機地址。相應的,所述生成應用程序代碼和生成監(jiān)控程序代碼是指,針對需要安裝軟件的串行設備單片機,生成應用程序代碼和監(jiān)控程序代碼;將所述應用程序代碼和所述監(jiān)控程序代碼下載到單片機的存儲器中是指,按照所述需要安裝軟件的串行設備單片機地址,將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述需要安裝軟件的串行設備單片機的存儲器中。本發(fā)明實施例還提供了另一種軟件安裝的方法,其實現(xiàn)方式包括如下操作 步驟1、分別生成應用程序代碼和監(jiān)控程序代碼;
      其中,生成應用程序代碼的過程中,為各部分代碼段分配在單片機的存儲器中的存放地址。步驟2、按照分配的存放地址順序,將所述應用程序代碼和所述監(jiān)控程序代碼進行組合;
      其中,如果相同的中斷向量存放地址對應的位置上既有監(jiān)控程序代碼、又有應用程序代碼,則按照預定的地址分配規(guī)則,在為監(jiān)控程序的中斷向量分配的存放地址對應的位置保留監(jiān)控程序的代碼,在為應用程序的中斷向量分配的存放地址對應的位置保留應用程序的代碼;所述為監(jiān)控程序的中斷向量分配的存放地址和所述為應用程序的中斷向量的存放地址均是指單片機的存儲器中的中斷程序地址存放位置上的部分地址段,且為應用程序的中斷向量分配的地址段與為監(jiān)控程序的中斷向量分配的地址段不重復。例如,如果預定的地址分配規(guī)則中,將單片機的存儲器的中斷程序地址存放位置的OxFFEO到OxFFFD地址段分配給應用程序的中斷向量,將OxFFFE到OxFFFF地址段分配給監(jiān)控程序的中斷向量。則在組合過程中,如果中斷程序地址存放位置上既有監(jiān)控程序代碼, 又有應用程序代碼。那么,OxFFEO到OxFFFD地址段對應的位置保留應用程序代碼,OxFFFE 到OxFFFF地址段對應的位置保留監(jiān)控程序代碼。如果應用程序的中斷向量代碼為 OFFEO
      FF FF FF FF FF FF FF FF FF FF 80 EE 00 EF 80 EF FF FF 00 ED FF FF FF FF FF FF FF FF 00 EE 00 CO Q
      監(jiān)控程序的中斷向量代碼為 OFFEO
      FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 EC Q
      則組合后,這部分的代碼為 OFFEO
      FF FF FF FF FF FF FF FF FF FF 80 EE 00 EF 80 EF FF FF 00 ED FF FF FF FF FF FF FF FF 00 EE 00 EC Q
      步驟3、將組合后得到的代碼下載到單片機的存儲器中;
      具體的,按照分配的地址段,在單片機的存儲器中分別存儲應用程序代碼和監(jiān)控程序代碼。步驟4、運行所述應用程序。由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例中,按照預定的地址分配規(guī)則生成軟件安裝所需要的應用程序代碼和監(jiān)控程序代碼。由于預定的地址分配規(guī)則中,在單片機的存儲器中的中斷程序地址存放位置上為應用程序的中斷向量分配了固定的存放地址,且該存放地址與監(jiān)控程序的中斷向量的存放地址不沖突,因此避免了應用軟件運行過程中中斷地址重映射,縮短了中斷的響應時間,提高了應用程序的中斷響應速度。本發(fā)明實施例提供的軟件安裝方法,還可以應用在串行設備單片機上。那么,在進行上述軟件安裝操作之前,該方法還包括確定需要安裝軟件的串行設備單片機地址。
      8
      相應的,所述分別述生成應用程序代碼和生成監(jiān)控程序代碼是指,針對需要安裝軟件的串行設備單片機,分別生成應用程序代碼和監(jiān)控程序代碼;所述將組合后得到的代碼下載到單片機的存儲器中是指,按照所述需要安裝軟件的串行設備單片機地址,將組合后得到的代碼下載到所述需要安裝軟件的串行設備單片機的存儲器中。下面將結(jié)合附圖,對本發(fā)明在具體應用中的實現(xiàn)方式進行詳細說明。在本發(fā)明的以下各個實施例中,預先設定了地址分配規(guī)則。該地址分配規(guī)則對 Flash存儲器中的中斷程序地址存放位置進行了分配,將OxFFEO到OxFFFD地址段分配給應用程序的中斷向量,將OxFFFE到OxFFFF地址段分配給監(jiān)控程序的中斷向量。由于監(jiān)控程序用到的中斷向量僅為復位向量,因此可以將監(jiān)控程序的中斷向量視為復位向量。在OxFFEO到OxFFFD地址段為應用程序的各個中斷向量分配存儲空間時,可以按照具體需要隨意分配。比如給每一個中斷向量分配一個固定的1 字節(jié)存儲空間,這樣中斷向量的入口地址也就固定,在以后升級的過程中,只要中斷向量不做改動,或者改動后范圍不超過1 字節(jié),則既可不用更新FLASH中的中斷向量段,確保更新過程安全。應用實施例一
      本應用實施例一從上位機側(cè),對本發(fā)明提供的軟件遠程升級的方法進行詳細說明。其實現(xiàn)方式如圖1所示,具體包括如下操作
      步驟11、上位機向目標單片機發(fā)送查詢命令,以查詢目標單片機當前的運行狀態(tài); 其中,上位機是指對目標單片機進行遠程軟件升級的設備,可以是PC機等設備。步驟12、上位機根據(jù)目標單片機的反饋,判斷目標單片機當前的運行狀態(tài),如果目標單片機當前的運行狀態(tài)是用戶狀態(tài),則向目標單片機發(fā)送切換至升級狀態(tài)的命令,使得目標單片機運行在升級狀態(tài),執(zhí)行步驟13 ;如果目標單片機當前的運行狀態(tài)是升級狀態(tài), 則直接執(zhí)行步驟13 ;
      步驟13、上位機向目標單片機發(fā)送擦除命令,以便目標單片機擦除Flash存儲器的數(shù)
      據(jù);
      其中,可以通過擦除命令指示單片機擦除Flash存儲器中特定區(qū)域(不包括監(jiān)控程序存放位置)的數(shù)據(jù),也可以通過擦除命令指示單片機擦除Flash存儲器中除了監(jiān)控程序存放位置以外的全部數(shù)據(jù)。步驟14、上位機檢查擦除是否成功,如果是,執(zhí)行步驟15,否則,返回步驟13 ; 步驟15、上位機通過寫命令往目標單片機中寫入軟件升級所需要的應用程序代碼; 其中,在該步驟之前,上位機已經(jīng)完成了生成應用程序代碼的操作,其具體實現(xiàn)方式可
      參照上述本發(fā)明實施例的方式,這里不再贅述。步驟16、上位機檢查寫入軟件升級所需要的應用程序代碼的校驗碼是否正確,如果正確,則執(zhí)行步驟17,否則,返回步驟13 ;
      步驟17、上位機向目標單板發(fā)送切換至用戶狀態(tài)的命令;
      步驟18、上位機查看升級后的應用程序版本信息,測試升級后的應用程序運行狀況,如果測試通過,則完成升級操作,否則,返回步驟12。應用實施例二
      本發(fā)明應用實施例二提供的方法,可以對串行設備進行軟件遠程升級。以圖2所示的串行通信總線系統(tǒng)為例,現(xiàn)場主機通過串行通信總線與η個串行設備連接,監(jiān)控中心服務器通過以太網(wǎng)與現(xiàn)場主機連接。在正常工作模式下,η個串行設備工作在用戶狀態(tài),現(xiàn)場主機實時查詢η個串行設備的采集數(shù)據(jù),并通過以太網(wǎng)上傳到監(jiān)控中心服務器。在遠程升級模式下,現(xiàn)場主機處于命令透傳模式,監(jiān)控中心服務器直接與串行設備通信,然后逐個對串行設備進行軟件遠程升級。其中,命令透傳模式是指現(xiàn)場主機轉(zhuǎn)發(fā)監(jiān)控中心服務器與串行設備之間的通信內(nèi)容,而不對通信內(nèi)容進行修改。由于對串行設備進行升級的實質(zhì)是對串行設備單片機進行軟件升級,因此,以下對單片機η進行升級均是指對串行設備η進行升級。如果需要對單片機η進行軟件遠程升級,則監(jiān)控中心服務器設置發(fā)送給單片機的命令地址為單片機η的地址。然后,通過應用實施例一的處理過程,即可實現(xiàn)針對單片機η 的軟件遠程升級。其中,監(jiān)控中心服務器即應用實施例一中所述的上位機。另外,還可以實現(xiàn)串行設備的批量升級。那么,監(jiān)控中心服務器按照設定的多個目標單片機的地址,依次對各個目標單片機進行軟件遠程升級。作為舉例而非限定,監(jiān)控中心服務器可以設置連續(xù)地址的多個目標單片機,則在批量升級過程中,通過地址遞增或遞減的方式,依次對各個目標單片機進行軟件的遠程升級。應用實施例三
      本應用實施例三從單片機側(cè),對本發(fā)明提供的軟件遠程升級的方法進行詳細說明。其實現(xiàn)方式如圖3所示,具體包括如下操作 步驟31、單片機進行初始化;
      例如,對接口、端口狀態(tài)等單片機外圍資源進行初始化;
      步驟32、單片機讀取程序狀態(tài)標志(作為舉例而非限定,該標志在Flash存儲器中的存放地址是0xFC00),如果該標志不是0x5A5A,則跳轉(zhuǎn)到監(jiān)控程序開始地址、并執(zhí)行步驟34, 如果該標志是0x5A5A,則執(zhí)行步驟33 ;
      步驟33、單片機持續(xù)1.5秒對與上位機的接口進行監(jiān)控,如果在此期間接收到切換至升級狀態(tài)的命令,則跳轉(zhuǎn)到監(jiān)控程序開始地址,如果沒有接收到切換至升級狀態(tài)的命令,則跳轉(zhuǎn)至應用程序開始地址;
      如果跳轉(zhuǎn)到監(jiān)控程序開始地址,則進入升級狀態(tài),如果跳轉(zhuǎn)到應用程序開始地址,則進入用戶狀態(tài)。無論在用戶狀態(tài)還是升級狀態(tài),單片機都可以接收命令來修改程序狀態(tài)標志, 并且可以接收重新啟動命令。只要上位機發(fā)送修改狀態(tài)標志命令和重啟命令就可以實現(xiàn)單片機的運行狀態(tài)切換。如果跳轉(zhuǎn)到監(jiān)控程序開始地址,則步驟34、單片機的監(jiān)控程序接收目標單片機的擦除命令,根據(jù)該擦除命令對Flash存儲器的數(shù)據(jù)進行擦除;
      其中,可以單片機可以根據(jù)擦除命令的指示擦除Flash存儲器中特定區(qū)域(不包括監(jiān)控程序存放位置)的數(shù)據(jù),也可以根據(jù)擦除命令的指示擦除Flash存儲器中除了監(jiān)控程序存放位置以外的全部數(shù)據(jù)。步驟35、單片機的監(jiān)控程序在接收到寫命令后,將接收到的應用程序代碼保存到 Flash存儲器中;
      特別的,根據(jù)代碼中開始地址的指示,將應用程序的中斷向量保存到中斷程序地址存放位置上的相應地址段中。
      步驟36、單片機的監(jiān)控程序根據(jù)上位機的指示,對保存的應用程序代碼的校驗碼進行檢查,并將檢查結(jié)果上報給上位機;
      步驟37、單片機的監(jiān)控程序根據(jù)接收到的切換至用戶狀態(tài)的命令,跳轉(zhuǎn)到中斷程序地址存放位置上的相應地址讀取應用程序的中斷向量,以執(zhí)行升級后的應用程序。本發(fā)明實施例三所述的單片機,可以是串行設備的單片機。以上所述,僅為本發(fā)明較佳的具體實施方式
      ,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求的保護范圍為準。
      權(quán)利要求
      1.一種軟件遠程升級的方法,其特征在于,包括 生成軟件升級所需要的應用程序代碼;所述生成軟件升級所需要的應用程序代碼包括按照預定的地址分配規(guī)則,為軟件升級所需要的應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段;向所述單片機發(fā)送所述應用程序代碼;在所述單片機上運行監(jiān)控程序,接收所述應用程序代碼,并將所述應用程序代碼寫到所述存儲器中;所述將所述應用程序代碼寫到所述存儲器中包括將所述應用程序代碼的中斷向量保存到為其分配的中斷程序地址存放位置上的部分地址段中;退出所述監(jiān)控程序,運行所述應用程序。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在生成軟件升級所需要的應用程序代碼之前,該方法還包括確定需要升級的串行設備單片機地址;所述生成軟件升級所需要的應用程序代碼是指,針對所述需要升級的串行設備單片機,生成軟件升級所需要的應用程序代碼;所述向所述單片機發(fā)送所述應用程序代碼是指,按照所述需要升級的串行設備單片機地址,向所述需要升級的串行設備單片機發(fā)送所述應用程序代碼。
      3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述地址分配規(guī)則規(guī)定中斷程序地址存放位置上分配給所述應用程序的地址段為非復位向量地址段; 中斷程序地址存放位置上分配給所述監(jiān)控程序的地址段為復位向量地址段。
      4.一種軟件安裝的方法,其特征在于,包括 生成應用程序代碼;所述生成應用程序代碼包括按照預定的地址分配規(guī)則,為應用程序的中斷向量分配單片機的存儲器中的中斷程序地址存放位置上的部分地址段; 生成監(jiān)控程序代碼;所述生成監(jiān)控程序代碼包括按照預定的地址分配規(guī)則,為監(jiān)控程序的中斷向量分配所述存儲器中的中斷程序地址存放位置上的部分地址段;為應用程序的中斷向量分配的地址段與為監(jiān)控程序的中斷向量分配的地址段不重復;將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述存儲器中; 運行所述應用程序。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述存儲器中之前,該方法還包括按照分配的存放地址順序,將所述應用程序代碼和所述監(jiān)控程序代碼進行組合;貝1J,將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述存儲器中包括將所述組合后得到的代碼下載到所述存儲器中。
      6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,在生成應用程序代碼之前,該方法還包括確定需要安裝軟件的串行設備單片機地址;所述生成應用程序代碼和生成監(jiān)控程序代碼是指,針對需要安裝軟件的串行設備單片機,生成應用程序代碼和監(jiān)控程序代碼;將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述存儲器中是指,按照所述需要安裝軟件的串行設備單片機地址,將所述應用程序代碼和所述監(jiān)控程序代碼下載到所述需要安裝軟件的串行設備單片機的存儲器中。
      7.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述地址分配規(guī)則規(guī)定中斷程序地址存放位置上分配給所述應用程序的地址段為非復位向量地址段; 中斷程序地址存放位置上分配給所述監(jiān)控程序的地址段為復位向量地址段。
      8.一種軟件安裝的方法,其特征在于,包括 分別生成應用程序代碼和監(jiān)控程序代碼;按照分配的存放地址順序,將所述應用程序代碼和所述監(jiān)控程序代碼進行組合; 所述將所述應用程序代碼和所述監(jiān)控程序代碼進行組合包括 如果相同的中斷向量存放地址對應的位置上既有監(jiān)控程序代碼、又有應用程序代碼, 則按照預定的地址分配規(guī)則,在為監(jiān)控程序的中斷向量分配的存放地址對應的位置保留監(jiān)控程序的代碼,在為應用程序的中斷向量分配的存放地址對應的位置保留應用程序的代碼;所述為監(jiān)控程序的中斷向量分配的存放地址和所述為應用程序的中斷向量的存放地址均是指單片機的存儲器中的中斷程序地址存放位置上的部分地址段; 將組合后得到的代碼下載到所述存儲器中; 運行所述應用程序。
      9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在分別生成應用程序代碼和監(jiān)控程序代碼之前,該方法還包括確定需要安裝軟件的串行設備單片機地址;所述分別述生成應用程序代碼和生成監(jiān)控程序代碼是指,針對需要安裝軟件的串行設備單片機,分別生成應用程序代碼和監(jiān)控程序代碼;所述將組合后得到的代碼下載到所述存儲器中是指,按照所述需要安裝軟件的串行設備單片機地址,將組合后得到的代碼下載到所述需要安裝軟件的串行設備單片機的存儲器中。
      10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述地址分配規(guī)則規(guī)定中斷程序地址存放位置上分配給所述應用程序的地址段為非復位向量地址段;中斷程序地址存放位置上分配給所述監(jiān)控程序的地址段為復位向量地址段。
      全文摘要
      一種軟件遠程升級的方法,包括將軟件升級所需要的監(jiān)控程序代碼和應用程序代碼按照地址順序進行組合;對于地址相同的代碼,按照預定的分配規(guī)則,如果地址是分配給監(jiān)控程序的,則保留監(jiān)控程序代碼,如果地址是分配給應用程序的,則保留應用程序代碼;將組合后得到的代碼下載到單片機中;執(zhí)行下載的代碼,對單片機的存儲器進行軟件升級。本發(fā)明還提供一種軟件安裝方法。由于按照預定的分配規(guī)則對監(jiān)控程序代碼和應用程序代碼進行保存,避免了相同地址存放不同內(nèi)容導致的代碼沖突問題,這樣也就不需要對應用程序的中斷向量進行地址修改,進而也就不需要進行中斷地址映射,縮短了中斷的響應時間,提高了中斷響應速度。
      文檔編號G06F9/445GK102402444SQ20111036055
      公開日2012年4月4日 申請日期2011年11月15日 優(yōu)先權(quán)日2011年11月15日
      發(fā)明者鄭興凱 申請人:北京世紀瑞爾技術股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1