新四季網

脫離仿真器支持環境的dsp軟體升級系統及其升級方法

2023-08-13 05:22:21

專利名稱:脫離仿真器支持環境的dsp軟體升級系統及其升級方法
技術領域:
本發明涉及一種升級系統及其升級方法,特別是涉及一種脫離仿真器支持環境的DSP軟體升級系統及其升級方法。
背景技術:
隨著DSP(Digital Signal Processing,數位訊號處理)晶片功能的強大和應用領域的飛速擴展,各種工控、軍事設備對複雜DSP系統的需求急劇增加,由此帶來DSP軟體維護複雜性和頻繁度的提高,特別是為了應對日益頻繁的簡單而有效的外場維護升級需求,急需設計出一套具有高安全可靠性、可重用性、需求設備簡單的軟體升級實現方法。TI公司的C5000,C6000系列DSP晶片是當前市面上佔有率大的高性能數位訊號處理器。該類DSP具有如下共同特點:沒有內部ROM ;統一地址映射;上電可從外部ROM/FLASH自舉引導啟動;啟動之前需要從FLASH首地址起始的位置通過DMA方式或者直接字節拷貝方式複製連續的IKB或者64KB固定大小的代碼到內部程序存儲RAM中再運行,沒有通用CPU的硬體複雜,這些特點給片上軟體系統的升級帶來一定的困難。

發明內容
本發明所要解決的技術問題是提供一種脫離仿真器支持環境的DSP軟體升級系統及其升級方法,其運用非易失數據程序存儲模塊駐留只讀引導啟動代碼,通過外設接口(如串行通信口,網口等)下載更新程序到DSP系統代碼駐留區,用離散量及非易失可讀寫標誌位控制系統啟動運行。本發明是通過下述技術方案來解決上述技術問題的:一種脫離仿真器支持環境的DSP軟體升級系統,其特徵在於,其包括運算處理模塊和非易失數據程序存儲模塊,運算處理模塊包括運算處理單元、程序數據內存單元、串口網絡通信單元、離散量輸入單元、數據加載緩存單元,程序數據內存單元、串口網絡通信單元、離散量輸入單元、數據加載緩存單元都與運算處理單元連接;非易失數據程序存儲模塊包括上電引導代碼駐留單元、配置參數駐留單元、最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元,上電引導代碼駐留單元通過配置參數駐留單元與最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元連接;運算處理單元作負責整個軟硬體的正常運行;程序數據內存單元用於支持運算處理單元對指令代碼的讀取、數據訪問;串口網絡通信單元接收並反饋更新操作指令及狀態信息,傳送升級數據包內容至數據加載緩存單元;離散量輸入單元結合配置參數駐留單元,用於輔助判斷運算處理模塊在上電復位時選非易失數據程序存儲模塊中所包含的最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元之中一個單元進行引導啟動;數據加載緩存單元用於緩存串口網絡通信單元傳送過來的新版DSP系統軟體代碼;上電引導代碼駐留單元用於系統上電復位完成時刻運算處理單元自引導運行上電引導代碼;配置參數駐留單元存放著當前起作用的版本的標誌位CVflag和其他配置參數,CVflag用於運算處理模塊執行上電引導代碼時判斷並加載啟動指定版本的軟體運行;最小系統駐留單元存放具有驅動串口網絡通信單元以及可執行FLASH讀寫的基本DSP軟體;第一版本系統程序駐留單元用於存放第一版本系統程序代碼;第二版本系統程序駐留單元用於存放第二版本系統程序代碼。優選地,所述非易失數據程序存儲模塊用一個快閃記憶體來存放各個駐留單元內容,快閃記憶體具有存儲區,存儲區可分為第一分區、第二分區、第三分區、第四分區、第五分區。本發明還提供一種脫離仿真器支持環境的DSP軟體升級系統的升級方法,該升級方法採用如上所述的脫離仿真器支持環境的DSP軟體升級系統,該升級方法包括以下步驟:步驟slOOOl,通過串口網絡通信單元從用戶輸入獲取升級指令,進入升級流程;步驟S10002,通過串口網絡通信單元獲取上位機傳送過來的升級代碼,也即新一版的軟體,暫存到數據加載緩存單元,同時獲取該代碼文件的二進位CRC校驗和,用於升級包完整性檢驗;步驟S10003,用CRC校驗方法校驗數據加載緩存單元中的升級代碼,對比上位機傳輸過來的二進位CRC校驗和,確認升級包傳輸的完整性;通過S10003中的CRC校驗,如果出現校驗和錯誤,則程序將跳轉到步驟sl004,提示相應錯誤信息,終止升級流程,等待用戶處理;如果校驗和正確,則轉至升級流程中的下一步 S10013 ;步驟S10013,判斷配置參數的值,從配置參數駐留單元中讀出標誌位CVflag的值,與0x5A5A進行比較,如果數值相等,則流程跳轉到步驟S10113,否則,標誌位CVflag等於其他任何值都跳轉到步驟S10213執行處理;步驟S10113,執行升級代碼在非易失數據程序存儲模塊對應第四分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動最新更新的系統;步驟S11113,對燒寫完成的代碼進行CRC校驗,保證更新代碼的完整性和可用性;如果CRC校驗出錯,則流程跳轉至S10004,終止升級程序,提示錯誤信息,等待用戶處理,否則進入步驟S12113 ;步驟S12113,更新配置參數駐留單元中的標誌位CVflag值,使其等於0xA5A5 ;更新的作用是保證當下一次系統進行上電啟動時上電引導程序能正確選擇第四分區中更新的系統運行;步驟S13113,校驗配置參數,也即讀出配置參數駐留單元中的標誌位CVflag值,與0xA5A5進行匹配,如果相等則表明步驟S12113中的更新操作是成功的,此時程序轉到步驟S10005,完成軟體的安全升級,否則是不成功的,流程跳轉到S10004,提示相應錯誤,等待用戶處理;
在步驟S10013中,如果判斷當前CVflag的值不等於0x5A5A,則升級流程會進入步驟S10213,選擇更新軟體到所示的第三分區;步驟S10213,與步驟S10113相似的,執行升級代碼在非易失數據程序存儲模塊對應第三分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動第三分區中最新更新的系統;步驟S11213,同步驟sllll3,校驗第三分區中更新的代碼;如果校驗出錯,流程跳轉至S10004,提示錯誤信息並終止升級流程,否則校驗成功,進入步驟S12213 ;步驟s 12213,同步驟s 12113,執行配置參數駐留單元中的標誌位CVf lag值的更新操作,對標誌位CVflag寫入0x5A5A,確保下一次系統進行上電啟動時上電引導程序能正確選擇第三分區中更新的系統運行;步驟S13213,與步驟S13113相同。本發明的積極進步效果在於:本發明避免了更新DSP代碼需要仿真器支持的缺點,通過外設接口自由更新;引導啟動代碼和系統代碼具有相互獨立性,兩者工程不用聯合編譯,利於系統及應用代碼的編寫;更新代碼運用分區駐留及狀態位輔助加載的方式,避免更新過程失敗時無法重啟或恢復系統,真正做到系統更新過程安全可靠。


圖1為本發明脫離仿真器支持環境的DSP軟體升級系統的原理框圖。圖2為本發明中FLASH存儲區分區示意圖。圖3為本發明脫離仿真器支持環境的DSP軟體升級系統的升級方法的流程圖。圖4為本發明脫離仿真器支持環境的DSP軟體升級系統的升級方法帶來的軟體啟動加載方法的流程圖。
具體實施例方式為了使本發明實施例的技術方案以及有點更加清楚明白,下面結合附圖並舉實施例進行進一步詳細說明。參考圖1,是本發明軟體升級系統的具體實施例的結構示意圖。如圖所示,本發明脫離仿真器支持環境的DSP軟體升級系統主要包括運算處理模塊10和非易失數據程序存儲模塊11。下面對運算處理模塊10和非易失數據程序存儲模塊11以及其相互關係進行詳細說明。所述運算處理模塊10,用於運行期望當前運行版本的系統,處理任務數據,與外界進行通信,以及訪問非易失數據程序存儲模塊U,維護系統升級。運算處理模塊10包括運算處理單元101、程序數據內存單元102、串口網絡通信單元103、離散量輸入單元104、數據加載緩存單元105,程序數據內存單元102、串口網絡通信單元103、離散量輸入單元104、數據加載緩存單元105都與運算處理單元101連接。此處,所述運算處理單元101作為本發明實施例中的核心處理單元,也即DSP處理器單元,負責整個軟硬體的正常運行。在本發明實施例中處於統籌安全升級DSP軟體的操作和監控。程序數據內存單元102,用於支持運算處理單元101對指令代碼的讀取、數據訪問坐寸O串口網絡通信單元103,此單元在本發明實施例中接收並反饋更新操作指令及狀態信息,傳送升級數據包內容至數據加載緩存單元105。離散量輸入單元104,此單元在本發明實施例中結合非易失數據程序存儲模塊11所包含的配置參數駐留單元112,用於輔助判斷運算處理模塊10在上電復位時選非易失數據程序存儲模塊11中所包含的最小系統駐留單元113、第一版本系統程序駐留單元114、第二版本系統程序駐留單元115之中一個單元進行引導啟動。數據加載緩存單元105,用於緩存串口網絡通信單元103傳送過來的新版DSP系統軟體代碼,提供給運算處理單元進行新版DSP系統軟體代碼的校驗、更新等。所述非易失數據程序存儲模塊11,用於存儲程序代碼,提供運算處理模塊10以程序指令、非易失配置參數等。非易失數據程序存儲模塊11包括上電引導代碼駐留單元111、配置參數駐留單元112、最小系統駐留單元113、第一版本系統程序駐留單元114、第二版本系統程序駐留單元115,上電引導代碼駐留單元111通過配置參數駐留單元112與最小系統駐留單元113、第一版本系統程序駐留單元114、第二版本系統程序駐留單元115連接。上電引導代碼駐留單元111,用於系統上電復位完成時刻運算處理單元10通過DMA自引導運行上電引導代碼,引導系統的啟動,此部分代碼帶防寫功能,只能讀取,不能更改或者擦除。配置參數駐留單元112,其中主要存放著當前起作用的版本的標誌位CVflag和其他參數信息,CVflag用於運算處理模塊10執行上電引導代碼時判斷並加載啟動指定版本的軟體運行,CVflag=0x5A5A表示從第三分區所在的A版系統程序加載運行,CVflag=0xA5A5表示從第四分區所在的B版系統程序加載運行,其它數據內容無效,並且強制引導程序選擇從最小系統所在的第二分區加載系統。配置參數駐留單元設有配置參數,不僅僅包括配置參數CVflag。配置參數有很多種,用處和用途也不一樣,而CVflag只是所有配置參數中的一個參數而已。CVflag的英文意思為current version flag,代表當前起作用的系統版本的標誌位,CVflag=0x5A5A,代表當前起作用的DSP系統版本在第三分區中,CVflag=0xA5A5代表當前起作用的DSP系統版本軟體在第四分區中。DSP引導啟動代碼要根據CVflag的當前值來判斷引導啟動第三分區還是第四分區中的系統代碼。最小系統駐留單兀113,在本發明實施例中存放具有驅動串口網絡通彳目單兀103以及可執行FLASH讀寫等功能的基本DSP軟體,此部分軟體只能讀取,不能更改或擦除,即帶防寫功能,通過上電引導代碼的加載和啟動。第一版本系統程序駐留單元114,用於存放A版本系統程序代碼,此A版本系統可以稱為第一版本系統,包含驅動系統所有單元以及其他應用的功能。第二版本系統程序駐留單元115,用於存放B版系統程序代碼,此B版本系統可以稱為第二版本系統,可認為是第一版本軟體的升級版本。非易失數據程序存儲模塊11的硬體載體通常是非易失性電可擦除型存儲晶片(NOR FLASH)。為了更好的闡述本發明,用圖2結合非易失數據程序存儲模塊11中各單元駐留分區加以說明如下:圖2是FLASH存儲區分區示意圖,FLASH (快閃記憶體)用於存放本發明實施例中非易失數據程序存儲模塊中各個駐留單元內容。FLASH具有存儲區,存儲區可分為五個分區,即第一分區、第二分區、第三分區、第四分區、第五分區。圖2中第一分區首地址對應FLASH存儲區起始地址,假設FLASH的首地址在DSP統一地址映射中分配為0x64000000,且設定FLASH容量為4096KB (Kbyte),可將五個段分配如下:第一分區:0x6400000(T0x6400ffff (64KB),用於存放非易失數據/代碼存儲模塊11中的上電引導代碼駐留單元111的代碼內容。上電引導代碼駐留單元111,用於系統上電復位完成時刻運算處理單元10通過DMA方式自動搬移此代碼至程序數據內存單元102的O地址處自動運行,引導系統的啟動,此部分代碼帶防寫功能,只能讀取,不能更改或者擦除。第二分區:0x6401000(T0x6401ffff (64KB),用於存放非易失數據/代碼存儲模塊11中的最小系統駐留單元113所包含的代碼內容。最小系統駐留單兀113,在本發明實施例中存放具有驅動串口網絡通彳目單兀103以及可執行FLASH讀寫等功能的基本DSP軟體,此部分軟體只能讀取,不能更改或擦除,即帶防寫功能,通過上電引導代碼的加載和啟動。第三分區:0x6402000(T0x6405ffff (256KB),用於存放第一版本系統程序駐留單元114所包含的內容。第一版本系統程序駐留單元114,用於存放A版本系統程序代碼,此A版本系統可以稱為第一版本軟體,包含驅動系統所有單元以及其他應用的功能。第四分區:0x6406000(T0x6409ffff (256KB),用於存放第二版本系統程序駐留單元115所包含的內容。第二版本系統程序駐留單元115,用於存放B版系統程序代碼,此B版本系統可以稱為第二版本軟體,可認為是第一版本軟體的升級版本。第五分區:0x640A000(T0x640Affff (64KB),用於存放配置參數駐留單元112所包含的內容。配置參數駐留單元112,其中主要存放的是當前起作用的版本的標誌位CVflag,用於運算處理模塊10執行上電引導代碼時判斷並加載啟動指定版本的軟體運行,CVflag=0x5A5A表示從第三分區所在的A版系統程序加載運行,CVflag=0xA5A5表示從第四分區所在的B版系統程序加載運行,其它數據內容無效,並且強制引導程序選擇從最小系統所在的第二分區加載系統。0x5A5A是16位十六進位數值,表示本發明中給CVflag設定的值,CVflag可以等於0x5A5A或者0xA5A5。CVflag不能等於其他任何值,否則讀得CVflag為其他任何值得時候判斷CVflag值無效(也即CVflag值在更新中受到破壞)。DSP系統啟動過程中讀取CVflag的值(步驟S20023),如果CVf lag=0x5A5A代表系統弓丨導啟動時引導代碼選擇第三分區中所包含的系統啟動,而CVflag=0xA5A5表示選擇第四分區啟動。DSP系統升級過程中讀取CVflag的值(步驟S10013),如果CVflag=0x5A5A,表示當前在運行的系統在第三分區中,那麼新升級的系統代碼覆蓋第四分區中原有代碼,而不是覆蓋第三分區中此時正在運行的代碼,達到安全升級的目的。步驟S10013中如果CVflag=0xA5A5就不再贅述。參考圖3,為本發明脫離仿真器支持環境的DSP軟體升級系統的升級方法的流程示意圖。如圖3所示,該實施例實施過程包括如下步驟:步驟S10001,通過串口網絡通信單元從用戶輸入獲取升級指令,進入升級流程。步驟S10002,通過串口網絡通信單元獲取上位機傳送過來的升級代碼,也即新一版的軟體,暫存到數據加載緩存單元,同時獲取該代碼文件的二進位CRC校驗和,用於升級包完整性檢驗。步驟S10003,用CRC校驗方法校驗數據加載緩存單元中的升級代碼,對比上位機傳輸過來的二進位CRC校驗和,確認升級包傳輸的完整性。通過S10003中的CRC校驗,如果出現校驗和錯誤,則程序將跳轉到步驟sl004,提示相應錯誤信息,終止升級流程,等待用戶處理。如果校驗和正確,則轉至升級流程中的下一步 S10013。步驟S10013,判斷配置參數的值,從配置參數駐留單元中讀出標誌位CVflag的值,與0x5A5A進行比較,如果數值相等,則流程跳轉到步驟S10113,否則,標誌位CVflag等於其他任何值都跳轉到步驟S10213執行處理。步驟S10113,執行升級代碼在非易失數據程序存儲模塊對應如圖2中第四分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動最新更新的系統。步驟S11113,對燒寫完成的代碼進行CRC校驗,保證更新代碼的完整性和可用性。如果CRC校驗出錯,則流程跳轉至S10004,終止升級程序,提示錯誤信息,等待用戶處理,否則進入步驟S12113。步驟S12113,更新配置參數駐留單元中的標誌位CVflag值,使其等於0xA5A5。更新的作用是保證當下一次系統如圖4進行上電啟動時上電引導程序能正確選擇第四分區中更新的系統運行。步驟S13113,校驗配置參數,也即讀出配置參數駐留單元中的標誌位CVflag值,與0xA5A5進行匹配,如果相等則表明步驟S12113中的更新操作是成功的,此時程序轉到步驟S10005,完成軟體的安全升級,否則是不成功的,流程跳轉到S10004,提示相應錯誤,等待用戶處理。在步驟sl0013中,如果當前CVflag的值不等於0x5A5A,貝U升級流程會進入步驟S10213,選擇更新軟體到圖2中所示的第三分區。升級流程中步驟sl0013、sl3113、sl3213、s20023、s20123是讀取配置參數中的CVflag項,而步驟sl2113、sl2213是重新設置CVflag的值。步驟S10213,與步驟S10113相似的,執行升級代碼在非易失數據程序存儲模塊對應如圖2中第三分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動第三分區中最新更新的系統。步驟S11213,同步驟S11113,校驗第三分區中更新的代碼。如果校驗出錯,流程跳轉至S10004,提示錯誤信息並終止升級流程,否則校驗成功,進入步驟S12213。步驟s 12213,同步驟s 12113,執行配置參數駐留單元中的標誌位CVf lag值的更新操作,對標誌位CVflag寫入0x5A5A,確保下一次系統如圖4進行上電啟動時上電引導程序能正確選擇第三分區中更新的系統運行。步驟S13213,與步驟sl3113相同,在此不再贅述。
上述升級步驟是安全可靠的,在升級過程中的任何一環節出現死機、掉電等異常狀況都不會導致系統無法重新啟動或者無法再次用本發明軟體升級方法進行升級。本發明軟體升級方法的實施例流程的完整實現,依賴於如圖4所描述的軟體啟動加載方法實施例的流程。參考圖4,本發明脫離仿真器支持環境的DSP軟體升級系統的升級方法帶來的軟體啟動加載方法實施例流程示意圖。如圖4所示,該實施例實施過程如下:步驟s20001,DSP系統上電啟動,在系統復位信號結束時刻,DSP自動通過DMA方式從非易失數據程序存儲模塊的上電引導代碼駐留單元拷貝上電引導代碼到程序數據內存單元的O地址處開始執行,或者直接把程序指針指向上電引導代碼的首地址開始執行。步驟S20002,執行上電引導代碼,在此過程中,弓丨導代碼會通過獲取離散量輸入單元的值來判斷是否直接啟動最小系統。步驟S20003,判斷離散量輸入的值,如果獲取的離散量輸入值為低電平,則引導代碼選擇從最小系統駐留單元中的最小系統代碼啟動。如果獲取的離散量輸入值為高電平,則引導流程需要通過步驟S20023進一步判斷。步驟S20013,上電引導程序選擇啟動最小系統,此系統駐留在非易失數據/代碼存儲模塊11的最小系統駐留單元113中,對應於圖2中的第二分區。最小系統,或者A版本系統亦或B版本系統啟動之後都將進入步驟S20004執行程序任務處理。步驟S20023,此情況是在步驟s20003中獲取的離散量輸入值為高電平的情況下發生的,當進入S20023時,上電引導程序會去非易失數據程序存儲模塊11中的配置參數駐留單元112讀取標誌位CVf lag的值,如果CVflag=0x5A5A,則引導程序執行步驟s20223,力口載啟動第三分區中的系統代碼,也即A版本系統程序,否則執行步驟S20123,進入再一次比較判斷。步驟S20223,引導程序完成系統引導,加載第一版本系統程序駐留單元中的系統執行,進入步驟S20004。步驟S20123,當步驟s20023中第一次判斷CVflag的值不等於0x5A5A時,進入步驟S20123,第二次判斷標誌位CVflag值,比較是否等於0xA5A5,如果相等,則可斷定需要引導啟動第四分區中的系統代碼,也即跳轉到步驟S21123,否則引導程序認為CVflag的值是個無效的值,從而轉入引導啟動最小系統代碼的流程上來。標誌位CVflag中值無效可能是上一次更新系統在步驟S12113或者S12213中出錯所致。步驟s21123,標誌似CVflag=0xA5A5,弓丨導程序完成系統引導,加載弟_■版本系統程序駐留單元中的系統程序執行,進入步驟S20004。無論啟動最小系統或者第三分區或第三分區中的系統程序,都進入程序任務處理的步驟S20004中,此步驟的程序處理中必須包含圖3中所有操作所需內容,能接受用戶升級指令,完成系統升級任務。步驟S20005,系統下電結束流程操作,在正常完成用戶任務處理及程序後臺處理下電結束。綜合圖3和圖4的描述,為了實現DSP系統軟體的安全升級和對最新升級系統軟體的正確引導啟動,配置參數的更新起到關鍵作用。
假設當前正常啟動系統情況下上電引導代碼是引導第三分區中的系統代碼啟動,則此時配置參數CVflag=0x5A5A。按照圖4中本發明軟體系統啟動過程實施例流程示意圖,執行步驟為 s20001->s20002->s20003->s20023->s20223->s20004。而當系統當前的配置參數CVflag=0xA5A5時,上電引導代碼將會引導啟動第四分區中的系統代碼,按照圖4中本發明軟體系統啟動過程實施例流程示意圖,執行步驟為s20001->s20002->s20003->s20023->s20123->s21123->s20004o如果配置參數的值CVflag既不 等於0x5A5A,也不等於0xA5A5,我們就認為配置參數中的值無效,此時上電引導代碼將會引導啟動最小系統代碼執行,按照圖4中本發明軟體系統啟動過程實施例流程示意圖,執行步驟為s20001->s20002->s20003->s20023->s20123->s20013->s20004o當用戶認為配置參數中的值有效,即CVflag=0x5A5A或者CVf lag=0xA5A5,且需要從第三分區啟動(此時CVflag=0x5A5A)或者從第四分區啟動(此時CVflag=0xA5A5)系統代碼,然而系統並未正常啟動,則我們認為更新軟體過程中非易失數據程序存儲模塊中系統程序更新燒寫過程意外,未能正常完成系統更新。此時,需要用戶設置離散量輸入單元的輸入電平為低電平,重新啟動最小系統進入程序任務處理過程進行系統升級。按照圖4中本發明軟體系統啟動過程實施例流程示意圖,執行步驟為s20001->s20002->s20003->s20013->s20004。在上電引導程序引導執行最小系統運行的時候,如果系統需要升級DSP系統軟體,最小系統升級任務會提示用戶選擇確認升級的新系統存放在如圖2所示的第三分區還是第四分區,如果存放在第三分區,則最小系統更新DSP系統軟體過程中會設定更新後的配置參數CVflag=0x5A5A,否則用戶只能選擇新升級的系統存放在第四分區,最小系統設定更新後的配置參數CVflag=0xA5A5。這樣在更新完成並設置離散量輸入單元為高電平的情況下,下次上電啟動時引導程序會自動選擇最新升級的系統代碼執行。如果當前執行的是第三分區中系統代碼的任務,用戶需要進行系統升級,則可以肯定當前配置參數CVflag=0x5A5A,根據本發明軟體安全升級實施例流程圖所示,系統通過串口網絡通信單元接受新升級系統的緩存代碼,校驗並燒寫第四分區,覆蓋第四分區中原有的系統代碼,並且更新配置參數的值,使得CVflag=0xA5A5,確保下次上電的時候引導代碼自動引導執行第四分區中的新系統。此升級流程執行步驟為sl0001->sl0002->sl0003->sl0013->sl0113->sllll3->sl2113->sl3113->sl0005。如若在上面第一段內容(「如果當前執行的是第三分區中系統代碼的任務…S10005」)的實現升級過程中發生斷電、死機等異常,並且在步驟S10113中燒寫失敗,第四分區中原有代碼遭受破壞,此時重新啟動系統時引導代碼還是會自動選擇第三分區中的系統代碼執行,因為配置參數的值是0x5A5A,並未發生更新。如果在上面第一段內容的升級過程中斷電、死機等異常發生在步驟S12113中,此時配置參數的值遭到破壞,重新啟動系統時引導代碼會引導最小系統啟動,用戶可以參照上面第二段內容(「在上電引導程序…系統代碼執行」)中的描述進行系統軟體的升級。如果當前執行的是第四分區中系統代碼的任務,用戶需要進行系統升級,則可以肯定當前配置參數CVflag=0xA5A5,正常升級流程執行步驟為sl0001->sl0002->sl0003->sl0013->sl0213->sll213->sl2213->sl3213->sl0005。
如若在上面第一段內容(「如果當前執行的是第四分區中系統代碼的任務…S10005」)的實現升級過程中發生斷電、死機等異常,並且在步驟S10213中燒寫失敗,第三分區中原有代碼遭受破壞,此時重新啟動系統時引導代碼還是會自動選擇第四分區中的系統代碼執行,因為配置參數的值是0xA5A5,並未發生更新。如果在上面第一段內容的升級過程中斷電、死機等異常發生在步驟S12213中,此時配置參數的值遭到破壞,重新啟動系統時引導代碼會引導最小系統啟動,用戶可以參照上面第四段內容(「在上電引導程序…系統代碼執行」)中的描述進行系統軟體的升級。綜上所述,在系統升級過程中,無論任何階段發生升級故障,系統都能在重新上電之後再次進行正常升級,直到升級完成。而且更新的系統軟體是自動覆蓋上一版本的系統軟體,而非當前正在運行版本的系統軟體。本領域的技術人員可以對本發明進行各種改型和改變。因此,本發明覆蓋了落入所附的權利要求書及其等同物的範圍內的各`種改型和改變。
權利要求
1.一種脫離仿真器支持環境的DSP軟體升級系統,其特徵在於,其包括運算處理模塊和非易失數據程序存儲模塊,運算處理模塊包括運算處理單元、程序數據內存單元、串口網絡通信單元、離散量輸入單元、數據加載緩存單元,程序數據內存單元、串口網絡通信單元、離散量輸入單元、數據加載緩存單元都與運算處理單元連接;非易失數據程序存儲模塊包括上電引導代碼駐留單元、配置參數駐留單元、最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元,上電引導代碼駐留單元通過配置參數駐留單元與最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元連接; 運算處理單元作負責整個軟硬體的正常運行; 程序數據內存單元用於支持運算處理單元對指令代碼的讀取、數據訪問; 串口網絡通信單元接收並反饋更新操作指令及狀態信息,傳送升級數據包內容至數據加載緩存單元; 離散量輸入單元結合配置參數駐留單元,用於輔助判斷運算處理模塊在上電復位時選非易失數據程序存儲模塊中所包含的最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元之中一個單元進行引導啟動; 數據加載緩存單元用於緩存串口網絡通信單元傳送過來的新版DSP系統軟體代碼;上電引導代碼駐留單元用於系統上電復位完成時刻運算處理單元自引導運行上電引導代碼; 配置參數駐留單元存放著當前起作用的版本的標誌位CVflag和其他參數信息,CVflag用於運算處理模塊執行上電引導代碼時判斷並加載啟動指定版本的軟體運行; 最小系統駐留單兀存放具有驅動串口網絡通/[目單兀以及可執行FLASH讀與的基本DSP軟體; 第一版本系統程序駐留單元用於存放第一版本系統程序代碼; 第二版本系統程序駐留單元用於存放第二版本系統程序代碼。
2.按權利要求1所述的脫離仿真器支持環境的DSP軟體升級系統,其特徵在於,所述非易失數據程序存儲模塊用一個快閃記憶體來存放各個駐留單元內容,快閃記憶體具有存儲區,存儲區可分為第一分區、第二分區、第三分區、第四分區、第五分區。
3.一種脫離仿真器支持環境的DSP軟體升級系統的升級方法,其特徵在於,該升級方法採用如權利要求2所述的脫離仿真器支持環境的DSP軟體升級系統,該升級方法包括以下步驟: 步驟SlOOOl,通過串口網絡通信單元從用戶輸入獲取升級指令,進入升級流程; 步驟S10002,通過串口網絡通信單元獲取上位機傳送過來的升級代碼,也即新一版的軟體,暫存到數據加載緩存單元,同時獲取該代碼文件的二進位CRC校驗和,用於升級包完整性檢驗; 步驟S10003,用CRC校驗方法校驗數據加載緩存單元中的升級代碼,對比上位機傳輸過來的二進位CRC校驗和,確認升級包傳輸的完整性; 通過S10003中的CRC校驗,如果出現校驗和錯誤,則程序將跳轉到步驟S1004,提示相應錯誤信息,終止升級流程,等待用戶處理;如果校驗和正確,則轉至升級流程中的下一步S10013 ; 步驟S10013,判斷配置參數的值,從配置參數駐留單元中讀出標誌位CVflag的值,與0x5A5A進行比較,如果數值相等,則流程跳轉到步驟SlOl 13,否則,標誌位CVflag等於其他任何值都跳轉到步驟S10213執行處理; 步驟S10113,執行升 級代碼在非易失數據程序存儲模塊對應第四分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動最新更新的系統; 步驟S11113,對燒寫完成的代碼進行CRC校驗,保證更新代碼的完整性和可用性;如果CRC校驗出錯,則流程跳轉至S10004,終止升級程序,提示錯誤信息,等待用戶處理,否則進入步驟S12113 ; 步驟S12113,更新配置參數駐留單元中的標誌位CVflag值,使其等於0xA5A5 ;更新的作用是保證當下一次系統進行上電啟動時上電引導程序能正確選擇第四分區中更新的系統運行; 步驟S13113,校驗配置參數,也即讀出配置參數駐留單元中的標誌位CVflag值,與0xA5A5進行匹配,如果相等則表明步驟S12113中的更新操作是成功的,此時程序轉到步驟S10005,完成軟體的安全升級,否則是不成功的,流程跳轉到S10004,提示相應錯誤,等待用戶處理; 在步驟sl0013中,如果判斷當前CVflag的值不等於0x5A5A,則升級流程會進入步驟S10213,選擇更新軟體到所示的第三分區; 步驟S10213,與步驟S10113相似的,執行升級代碼在非易失數據程序存儲模塊對應第三分區的固化燒寫,這樣更新過程會覆蓋該分區中原有的老版本軟體,當上電引導代碼引導該分區的系統軟體啟動時將啟動第三分區中最新更新的系統; 步驟S11213,同步驟S11113,校驗第三分區中更新的代碼;如果校驗出錯,流程跳轉至S10004,提示錯誤信息並終止升級流程,否則校驗成功,進入步驟S12213 ; 步驟S12213,同步驟S12113,執行配置參數駐留單元中的標誌位CVflag值的更新操作,對標誌位CVflag寫入0x5A5A,確保下一次系統進行上電啟動時上電引導程序能正確選擇第三分區中更新的系統運行; 步驟S13213,與步驟S13113相同。
全文摘要
本發明公開了一種脫離仿真器支持環境的DSP軟體升級系統及其升級方法,該升級系統包括運算處理模塊和非易失數據程序存儲模塊,運算處理模塊包括運算處理單元等單元,程序數據內存單元、串口網絡通信單元、離散量輸入單元、數據加載緩存單元都與運算處理單元連接;非易失數據程序存儲模塊包括上電引導代碼駐留單元、配置參數駐留單元、最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元,上電引導代碼駐留單元通過配置參數駐留單元與最小系統駐留單元、第一版本系統程序駐留單元、第二版本系統程序駐留單元連接;本發明運用非易失數據程序存儲模塊駐留只讀引導啟動代碼,結合外部離散量輸入單元及配置參數駐留單元中的一個系統版本標誌位做到系統更新過程安全可靠。
文檔編號G06F9/445GK103092659SQ20131003773
公開日2013年5月8日 申請日期2013年1月31日 優先權日2013年1月31日
發明者唐盛, 荊晶, 曲國遠, 吉沛琦 申請人:中國航空無線電電子研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀