軟件版本升級方法和單板的制作方法
【技術領域】
[0001]本發明涉及軟件升級和維護領域,尤其涉及軟件版本升級方法和單板。
【背景技術】
[0002]基于嵌入式系統的產品經常會使用多種不同大小或型號等配置不一的外圍器件(如RAM/FLASH等)來實現多價格層次以滿足不同梯度市場的需求,對用戶應用來說,提供的功能項并不改變,產品型號一般不需要改變。在boot (啟動)階段,CPU到BootLoader (引導加載程序)的某一固定地址讀取啟動參數及RAM/FLASH等外圍器件配置參數對其進行初始化,配置參數由BootLoader程序提供,且必須與單板的器件類型匹配,否則無法啟動。此時若單純以產品型號來區分,在BootLoader程序中只保存一份外圍器件配置參數,則獨立的產品種類會以指數式增加,且BootLoader相互不兼容,維護極為不便。若在BootLoader程序中針對每一種外圍器件的組合保存一份配置參數,則BootLoader體積會逐漸變大,也不利于以后的升級及維護。
【發明內容】
[0003]本發明的主要目的旨在解決嵌入式系統中基于同一型號不同外圍器件的軟件版本升級和維護的問題。
[0004]為實現上述目的,本發明提供一種軟件版本升級方法,應用于單板中,所述軟件版本升級方法包括以下步驟:
[0005]加載用于升級FLASH芯片中燒結的第一 BootLoader的第二 BootLoader至內存芯片;
[0006]獲取FLASH芯片中的第一 BootLoader的外圍器件配置參數,其中,所述外圍器件配置參數存儲在所述FLASH芯片的預定位置;
[0007]寫入所述外圍器件配置參數至內存芯片中的所述第二 BootLoader的對應參數位置,得到包含所述外圍器件配置參數的第二 BootLoader ;
[0008]寫入包含所述外圍器件配置參數的第二 BootLoader至所述Flash芯片,以替換所述第一 BootLoader。
[0009]優選地,所述升級方法還包括:
[0010]加載用于升級的其他文件至內存芯片,其中,所述其他文件為除所述第二bootloader之外的升級文件;
[0011]寫入所述其他文件至所述FLASH芯片,以替換對應的舊版本文件。
[0012]優選地,所述加載用于升級FLASH芯片中燒結的第一 BootLoader的第二BootLoader至內存芯片的步驟之前,還包括:
[0013]建立映射表,將外圍器件和所述外圍器件配置參數建立對應關系。
[0014]優選地,所述加載用于升級FLASH芯片中燒結的第一 BootLoader的第二BootLoader至內存芯片之后還包括CRC校驗步驟,如果校驗成功,則執行獲取FLASH芯片中的第一 BootLoader的外圍器件配置參數的步驟,所述CRC校驗步驟為:
[0015]校驗所述第一 BootLoader的校驗值和所述第二 BootLoader的校驗值是否相同,如果相同,則校驗成功。
[0016]優選地,所述寫入所述外圍器件配置參數至內存芯片中的所述第二 BootLoader的對應參數位置,得到包含所述外圍器件配置參數的第二 BootLoader的步驟之后還包括檢測步驟,如果校驗成功,則執行寫入包含所述外圍器件配置參數的第二 BootLoader至所述Flash芯片,以替換所述第一 BootLoader的步驟,所述檢測步驟為:
[0017]檢測所述第一 BootLoader的該預定位置和所述第二 BootLoader的該對應參數位置是否一致,如果位置對應一致,則檢測成功。
[0018]為了解決以上的技術問題,本發明還提供一種單板,所述單板包括:
[0019]加載模塊,用于加載用于升級FLASH芯片中燒結的第一 BootLoader的第二BootLoader至內存芯片;
[0020]獲取模塊,用于獲取FLASH芯片中的第一BootLoader的外圍器件配置參數,其中,所述外圍器件配置參數存儲在所述FLASH芯片的預定位置;
[0021]寫入模塊,用于寫入所述外圍器件配置參數至內存芯片中的所述第二 BootLoader的對應參數位置,得到包含所述外圍器件配置參數的第二 BootLoader ;還用于寫入包含所述外圍器件配置參數的第二 BootLoader至所述Flash芯片,以替換所述第一 BootLoader。
[0022]優選地,所述單板,
[0023]加載模塊,還用于包括寫入模塊,用于加載用于升級的其他文件至內存芯片,其中,所述其他文件為除所述第二 bootloader之外的升級文件;
[0024]寫入模塊,還用于寫入所述其他文件至所述FLASH芯片,以替換對應的舊版本文件。
[0025]所述單板還包括映射模塊,用于建立映射表,將外圍器件和所述外圍器件配置參數建立對應關系。
[0026]優選地,所述單板還包括校驗模塊,校驗所述第一 BootLoader的校驗值和所述第二 BootLoader的校驗值是否相同,如果相同,則校驗成功。
[0027]優選地,所述單板還包括檢測模塊,檢測所述第一 BootLoader的該預定位置和所述第二 BootLoader的該對應參數位置是否一致,如果位置對應一致,則檢測成功。
[0028]本發明提供的軟件版本升級方法包括以下步驟:加載用于升級FLASH芯片中燒結的第一 BootLoader的第二 BootLoader至內存芯片;獲取FLASH芯片中的第一 BootLoader的外圍器件配置參數,其中,所述外圍器件配置參數存儲在所述FLASH芯片的預定位置;寫入所述外圍器件配置參數至內存芯片中的所述第二 BootLoader的對應參數位置,得到包含所述外圍器件配置參數的第二 BootLoader ;寫入包含所述外圍器件配置參數的第二BootLoader至所述Flash芯片,以替換所述第一 BootLoader。本發明提供的軟件版本升級方法所能實現的有益效果為在后續升級同一型號產品的軟件時,不必根據外圍器件的不同,升級不同類型版本軟件,只需保留一份配置參數和一個升級版本軟件,就能解決軟件升級時和外圍器件兼容的問題,從而減少了軟件升級和維護的麻煩,實現了成本上的節約。
【附圖說明】
[0029]圖1為本發明軟件版本升級方法第一實施例的流程示意圖;
[0030]圖2為本發明軟件版本升級方法第二實施例的流程示意圖;
[0031]圖3為本發明軟件版本升級方法第三實施例的流程示意圖;
[0032]圖4為本發明單板一實施例的結構示意圖。
[0033]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0034]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0035]本發明提供一種軟件版本升級方法,參照圖1,圖1為本發明軟件版本升級方法第一實施例的流程示意圖,在第一實施例中,該軟件版本升級方法包括:
[0036]步驟S100、加載用于升級FLASH芯片中燒結的第一 BootLoader的第二BootLoader至內存芯片。
[0037]兼入式系統采用“BootLoader+0S (Operating System,操作系統)”結構,BootLoader 米用 uboot (Universal Boot Loader,通用 bootloader 引導程序),OS 米用Linux系統。BootLoader軟件制作時,要根據不同的外圍器件的類型和大小以及軟件升級方式的不同制作多份BootLoader升級軟件,比如說,外圍器件可以是內存芯片,也可以是閃存芯片,在本實施例中,內存芯片采用RAM芯片,閃存芯片采用Flash芯片,其中Flash芯片和RAM芯片會采用不同大小不同型號的芯片,其中,可選用的Flash芯片包括smallpage256Mb Nand Flash 和 large pageIGb Nand Flash 兩種,可選用的 RAM 芯片包括 IGbDDR2 (Double Data Rate2,四倍資料率同步動態隨機存取內存)、lGb DDR3 (Double DataRate3,八倍資料率同步動態隨機存取內存)、512Mb DDR2、512Mb DDR3四種,軟件寫入方式包括Flash芯片燒錄方式和單板升級方式,對于兼入式系統的整體產品來說,如果只是存儲的空間不同,而總體提供的功能項不變,那么產品在命名時型號將不改變,在硬件方面保證Flash芯片及RAM芯片大小和型號的兼容,如果按照現有的軟件寫入方式,在軟件方面,需要兼容外圍芯片的8種類型大小和兩種不同的軟件寫入方式,需要8份燒結版本軟件、8份版本升級軟件,則至少需要制作16份文件才能保證產品完全運行。而在本實例中,只要制作8份燒結版本軟件、I份升級版本軟件即可保證產品完全運行,因為燒結版本軟件在產線量產時就已經寫入,則在后期產品維護中只需要一份升級軟件就可以實現不同外圍器件的軟件版本兼容。
[0038]當燒結版本軟件燒錄時,根據單板上外圍器件的配置,單板將對應外圍器件的燒結版本軟件的第一 BootLoader以及OS的內核和文件系統寫入Flash芯片的O地址中,OS的內核及文件系統可不做修改直接寫入,其中,外圍器件配置參數放置在第一 BootLoader的預定位置,此時單板可以正常啟動燒結版本軟件。軟件升級維護時,單板連接網絡,升級版本軟件的第二 BootLoader通過網絡下載到單板上,單板有自己的Iinux操作系統,單板加載用于升級FLASH芯片中燒結的第一 BootLoader的第二 BootLoader至內存芯片。
[0039]步驟S200、獲取FLASH芯片中的第一 BootLoader的外圍器件配置參數