• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    通過接著片外Flash實現單片機程序升級的方法技術

    技術編號:8366711 閱讀:248 留言:0更新日期:2013-02-28 05:01
    本發明專利技術公開了一種通過接著片外Flash實現單片機程序升級的方法,具有如下步驟:S100.選定ROM至少劃分成Bootloader區和應用程序區的單片機;S200.選定一片外Flash,將該片外Flash與單片機連接;S300.向所述單片機發送至少包含升級固件程序大小的升級命令,單片機根據所述升級固件程序大小,在所述片外Flash應用程序緩沖區擦除出相應的空間;S400.目標單片機接收固件程序,將固件程序寫入片外Flash應用程序緩沖區;通過在片外Flash中安裝固件升級程序、設立升級標識以及引入多次啟動校驗,在不大量占用單片機ROM的情況下,使得ROM的利用率大幅度提高,而且經過了多次啟動校驗,可以有效地避免引升級固件程序損壞或不完整,而造成單片機無法啟動的情況發生。

    【技術實現步驟摘要】

    本專利技術涉及專利分類號中G06計算;推算;計數G06F電數字數據處理G06F9/00程序控制裝置,例如,控制器G06F9/06應用存入的程序的,即應用處理設備的內部存儲來接收程序并保持程序的G06F9/44用于執行專門程序的裝置G06F9/445程序的裝載或啟動。
    技術介紹
    隨著控制設備不斷的復雜化、功能多樣化使得系統不再可能只依靠一種控制程序來滿足不同的用戶,并且同一個用戶的需求也不是一成不變。這就要求控制系統能夠支持固件程序的升級功能,在售前或售后都能方便的更新固件程序。現有主流的升級方式有2種 一種是在BootLoader中包含與上位機的通訊代碼,將上位機發送的固件實時寫入到單片機的ROM中。這種方式實現比較因難,需要在Bootloader中實現與上位機的通訊,并且要保證固件程序數據的可靠傳輸,增加超時重發及校驗等功能后Bootloader占用ROM也大,使得應用程序可用的ROM變小。另外一種是將單片機ROM分成三部分,Bootloader區、應用程序區I、應用程序區2,兩個應用程序區每次升級時輪換使用,Bootloader決定啟用哪個應用程序,這種方式法對單片機ROM利用率最低,通常都小于單片機ROM的一半。
    技術實現思路
    針對以上問題的提出,本專利技術提供了一種,具有如下步驟S100.選定ROM至少劃分成存儲引導程序的Bootloader區和裝載固件程序的應用程序區的單片機;S200.選定一存儲容量不小于所述單片機ROM中應用程序區容量的片外Flash,將該片外Flash與單片機連接;S300.向所述單片機發送至少包含升級固件程序大小的升級命令,單片機根據所述升級固件程序大小,在所述片外Flash應用程序緩沖區擦除出相應的空間;S400.目標單片機接收固件程序,將固件程序寫入片外Flash應用程序緩沖區;S500.重啟單片機,單片機將所述片外Flash應用程序緩沖區的升級固件程序復制到單片機ROM中的應用程序區,替換原有的固件程序,完成單片機程序升級。所述步驟S400中還具有如下步驟S410.待所述單片機將固件程序完全寫入片外Flash應用程序緩沖區后,校驗所述寫入的固件程序,若校驗無誤,在片外Flash中開辟一個區域,寫入升級標志,該標志至少包含固件程序長度及存儲校驗信息。所述步驟S500具體包括步驟S510.重啟單片機,運行所述Bootloader區中的引導程序,檢測所述片外Flash是否有升級標志;S520.若經檢測片外Flash有升級標志,單片機將所述片外Flash中存入的固件程序,寫入自身ROM中的應用程序區,完成固件升級;S530.若經檢測片外Flash沒有升級標志,單片機ROM中Bootloader區中的引導程序,直接引導單片機ROM中應用程序區中的固件程序運行,不進行升級。所述步驟S520具體包含S521.單片機檢測到片外Flash有升級標志后,單片機的Bootloader區中的引導程序檢測片外Flash應用程序緩沖區中存入的固件程序校驗是否正確; S522.若經校驗,所述應用程序緩沖區中的固件程序正確,單片機將固件程序寫入自身ROM中的應用程序區,清除升級標志后重啟單片機,完成升級;S523.若經校驗,所述應用程序緩沖區中的固件程序不正確,單片機不進行升級,同時提示錯誤;所述Bootloader區中的引導程序引導單片機ROM中原固件程序運行。由于采用了上述技術方案,本專利技術提供的,通過在片外Flash中安裝固件升級程序、設立升級標識以及引入多次啟動校驗,在不大量占用單片機ROM的情況下,使得ROM的利用率大幅度提高,而且經過了多次啟動校驗,可以有效地避免引升級固件程序損壞或不完整,而造成單片機無法啟動的情況發生。附圖說明為了更清楚的說明本專利技術的實施例或現有技術的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本專利技術單片機程序升級系統示意圖;圖2為本專利技術單片機片內ROM與片外FLASH芯片功能區域劃分示意圖;圖3為本專利技術的流程圖。具體實施例方式為使本專利技術的實施例的目的、技術方案和優點更加清楚,下面結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚完整的描述一種,包括如下步驟S100.選取一單片機作為升級目標單片機,在該單片機的ROM中,劃分出安裝引導程序的Bootloader區和安裝固件程序的應用程序區,升級的目的就是將應用程序區中的原有固件程序更換為其它固件程序。在本專利技術中,采用Ti的LM3S8938,其有256K ByteR0M、64K Byte RAM,支持以太網、CAN、串口等通訊端口,應用程序中采用了 TCP通訊,固件程序升級端口也使用LAN。BootLoader區使用4K Byte即可,其余252K Byte均做為應用程序區。S200.選定一片外Flash,只要要求該片外Flash的容量要大于步驟S 100中單片機ROM下應用程序區的容量。同時在片外Flash中劃分出一個不小于單片機ROM下應用程序區容量的應用程序緩沖區、一個升級標志區和多個用戶數據區。所述分區可實現劃分,減少單片機的工作量,也可以在升級過程中,交由單片機劃分。將單片機通過總線與片外Flash以及上位機相連接,可以選用多種的接口,如LAN、RS232、RS422、RS485和CAN等接口。單片機的片外FLASH可以使用小體積、大容量、低成本的SST25VF040,其有4M Bit(512KByte)的存儲空間,升級標志區劃分為4K Byte,應用程序緩存區劃分為252Κ Byte,其余256K Byte可用于用戶數據區。S300.上位機通過總線向所述單片機發送升級命令,該命令至少包含升級固件程序大小。單片機在接收到命令后,首先根據所述升級固件程序大小,在所述片外Flash應用程序緩沖區擦除出相應的空間。若實現沒有在片外Flash中劃分出應用程序緩沖區,單片機也可在片外Flash中開辟出一個與固件程序大小相符合的區域,作為應用程序緩沖區。S400.完成應用程序緩沖區的開辟后,目標單片機接收上位機傳送的固件程序,將固件程序首先寫入片外Flash應用程序緩沖區。在本專利技術中的固件程序是分包傳送的,每個包可以傳送IK字節的數據。 S500.帶固件程序完全寫入所述片外Flash應用程序緩沖區后,重啟單片機,單片機將所述片外Flash應用程序緩沖區的升級固件程序復制到單片機ROM中的應用程序區,替換原有的固件程序,完成單片機程序升級。考慮到,在固件程序由上位機經單片機寫入所述片外Flash的過程中,可能會因為多種原因,造成固件程序傳輸錯誤或不完整;所傳送的固件程序本身也可能不適用于單片機,從而造成升級的失敗。優選的,在所述步驟S400中還包括步驟S410 當所述單片機將固件程序完全寫入片外Flash應用程序緩沖區后,單片機會對寫入的固件升級程序進行校驗。如果經校驗寫入片外Flash應用程序緩沖區的升級固件程序正確無誤,則單片機會在片外Flash中開辟一個區域,寫入升級標志,該升級標志包含固件程序的長度及存儲了與升級固件程序相對本文檔來自技高網...

    【技術保護點】
    一種通過接著片外Flash實現單片機程序升級的方法,具有如下步驟:S100.選定ROM至少劃分成存儲引導程序的Bootloader區和裝載固件程序的應用程序區的單片機;S200.選定一存儲容量不小于所述單片機ROM中應用程序區容量的片外Flash,將該片外Flash與單片機連接;S300.向所述單片機發送至少包含升級固件程序大小的升級命令,單片機根據所述升級固件程序大小,在所述片外Flash應用程序緩沖區擦除出相應的空間;S400.目標單片機接收固件程序,將固件程序寫入片外Flash應用程序緩沖區;S500.重啟單片機,單片機將所述片外Flash應用程序緩沖區的升級固件程序復制到單片機ROM中的應用程序區,替換原有的固件程序,完成單片機程序升級。

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:程鵬劉振興郭彬
    申請(專利權)人:大連捷成實業發展有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV中文无码字幕色三| 精品人妻无码专区中文字幕| 久久久久亚洲AV无码专区首JN| 无码区日韩特区永久免费系列 | 亚洲av无码专区青青草原| 无码人妻精品一区二区三区久久久| yy111111少妇影院里无码| 色综合久久久久无码专区| 亚洲Av无码国产情品久久| av无码国产在线看免费网站| 亚洲一区AV无码少妇电影☆| 久久AV无码精品人妻出轨| 久久亚洲日韩看片无码| 中文字幕精品无码一区二区三区 | 亚洲国产91精品无码专区| 色窝窝无码一区二区三区色欲| 一本大道久久东京热无码AV| 亚洲精品无码久久久久APP| 无码日韩人妻精品久久蜜桃| 国产色综合久久无码有码| 无码视频一区二区三区| 亚洲国产精品无码中文lv| 亚洲爆乳无码一区二区三区| 中文字幕丰满乱子无码视频| 少妇人妻av无码专区| 亚洲国产精品无码久久久秋霞1| 亚洲熟妇无码久久精品| 无码h黄动漫在线播放网站| 国产成人无码久久久精品一| 国产丝袜无码一区二区三区视频| 精品无码人妻久久久久久| 无码精品久久一区二区三区| 日韩人妻无码精品无码中文字幕| 国产精品无码无卡在线观看久 | 久久午夜无码免费| 久久人妻内射无码一区三区| 国产精品va无码一区二区| 久久久久亚洲AV无码专区首| 久久亚洲AV无码精品色午夜| 婷婷四虎东京热无码群交双飞视频| 精品成在人线AV无码免费看|