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

      一種實現(xiàn)自動雙flash啟動cpu系統(tǒng)的方法

      文檔序號:6372548閱讀:377來源:國知局
      專利名稱:一種實現(xiàn)自動雙flash啟動cpu系統(tǒng)的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式CPU系統(tǒng)域,尤其是涉及一種實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法。
      背景技術(shù)
      當今的嵌入式系統(tǒng)應(yīng)用中通用做法是采用單一 FLASH啟動引導(dǎo)CPU加載bootrom及應(yīng)用程序版本的方式,而這種方式在通信設(shè)備的嵌入式平臺更是被廣泛應(yīng)用。這種單FLASH啟動CPU的方法,都是在工廠生產(chǎn)時,將引導(dǎo)程序bootrom燒錄至該FLASH中,然后由該bootrom引導(dǎo)應(yīng)用程序啟動,啟動后該bootrom可通過串口,網(wǎng)口及其其它接口對bootrom和應(yīng)用程序進行在線升級,這樣就會存在由于以下原因造成系統(tǒng)啟動失敗,必須通過回廠重新燒錄才能解決問題1、在升級bootrom時,突然斷電或者其它原因升級失敗時,造成引導(dǎo)程序錯誤;2、FLASH芯片本身問題,在一定的讀寫次數(shù)之后,F(xiàn)LASH某些區(qū)域出現(xiàn) 錯誤,造成引導(dǎo)失敗;升級錯誤的bootrom程序至FLASH中,導(dǎo)致啟動失敗。一旦bootrom無法啟動,由于現(xiàn)場無法回退或者恢復(fù),給項目實施造成重大故障。

      發(fā)明內(nèi)容
      本發(fā)明的目的就是提供一種操作簡單、可控性強、安全可靠,且能智能切換的實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法。本發(fā)明的實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,包括以下步驟
      I、出廠時主FLASHl和備FLASH2都已經(jīng)燒錄啟動代碼,系統(tǒng)上電后CPLD內(nèi)部復(fù)位開始初始化,當CPLD初始化完成后,CPLD將片選CS#切換到默認狀態(tài)CS1#,即主FLASHl被選中,此時CPLD輸出復(fù)位信號給CPU,CPU復(fù)位完成后,開始從主FLASH中讀取數(shù)據(jù)并完成初始化。2、CPU正常啟動后,輸出連續(xù)WDO信號給CPLD,CPLD收到WDO信號后,CPU加載成功,整個過程結(jié)束;如CPLD沒有收到CPU給出的WDO信號,假設(shè)CPU初始化完成需要15秒,若CPU復(fù)位后30秒內(nèi)沒有給CPLD發(fā)送WDO信號,則CPLD認定CPU沒有正常啟動,開啟備用FLASH2,將片選CS#切換到CS2#,然后復(fù)位CPU系統(tǒng),CPU復(fù)位完成后,開始從備FLASH2中讀取數(shù)據(jù)并完成初始化,CPLD輸出復(fù)位信號后,將告警信號拉高,將告警LED燈點亮告知用戶主FLASHl已經(jīng)被破壞。3、當需要升級新的啟動代碼時,用戶必須獲得廠商授權(quán)獲得操作命令才能通過CPU在線升級程序更新FLASH中的啟動代碼,由CPU輸出使能信號ENABLE#,即將ENABLE#拉低,CPLD檢測到ENABLE#為低電平后,將片選的切換開關(guān)交由CPU來控制,此時CPLD檢測L0W/HIGHT信號,若CPU將L0W/HIGHT信號拉高,說明CPU需要操作主FLASH1,CPLD將CPU發(fā)出的片選CS#切換到CS1#’即選中主FLASHl,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后將ENABLE#拉高退出升級步驟,通過命令行對CPU寫復(fù)位寄存器方式復(fù)位CPU系統(tǒng),若CPU能正常起來說明升級成功,若升級后啟動不了,說明升級代碼有問題,CPLD將自動切換到備FLASH2啟動,然后重復(fù)上述步驟進行主FLASHl再升級;若CPU將LOW/HIGHT信號拉低,說明CPU需要操作備FLASH2,CPLD將CPU發(fā)出的片選CS#切換到CS2#,即選中備FLASH2,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后軟復(fù)位CPU重啟系統(tǒng);系統(tǒng)升級后,用戶需將CPU命令將LOW/HIGHT信號拉高,CPLD將CPU發(fā)出的片選CS#切換到CS1#,即選中主FLASH1,然后CPLD清除告警將告警信號拉低,恢復(fù)默認狀態(tài)。本發(fā)明的實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,兩片F(xiàn)LASH,CPU, CPLD (可編程控制邏輯),當其中主FLASH啟動CPU失敗后,所述CPLD將根據(jù)自己本身的定時器確定一個規(guī)定的正常啟動時間,在正常情況下CPU在這段時間已經(jīng)完成初始化,并通過喂狗信號WDO發(fā)出連續(xù)的脈沖方波給CPLD,若CPU在通過主片F(xiàn)LASH啟動不起來后,CPU掛起不能發(fā)出WDO信號,超過規(guī)定時間后,CPLD將備份FLASH選中并輸出復(fù)位信號到CPU,讓CPU從備份FLASH啟動。若CPLD切換到備份FLASH后,輸出告警信號點亮外置的LED燈通知用戶主FLASH已經(jīng)無法正常啟動。另外,當CPU啟動后需要升級FLASH,為了預(yù)防誤操作,CPU啟動后正常發(fā)出WDO信號情況下,CPU設(shè)置只有授權(quán)的用戶才能使能CPLD啟動對主備FLASH的讀寫升級,否則CPLD將切斷FLASH的片選,使CPU在啟動正常工作后無法訪問FLASH,這種 方式避免了用戶的誤操作,極大地提高了產(chǎn)品的可靠性。本發(fā)明的實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,可以保證在其中一塊FLASH無法啟動的情況下自動切換到備份FLASH引導(dǎo)CPU正常啟動,無需添加撥碼開關(guān)或按鈕等手動切換方式就能自動智能完成CPU的正常啟動,由備份FLASH啟動后還能提供自動告警功能告知用戶主FLASH啟動異常,用戶還可以在授權(quán)情況下通過CPU指令來升級需要更新的FLASH,主備FLASH自動智能切換,操作簡單,可控性強,可靠性高。


      圖I為本發(fā)明的整體實現(xiàn)邏輯框 圖2為本發(fā)明的部分控制和告警原理 圖3為本發(fā)明的2個FLASH之間切換原理圖。
      具體實施例方式下面結(jié)合附圖及具體實例對本發(fā)明作進一步的詳細說明。一種實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,兩片F(xiàn)LASH在出廠之前都燒錄有啟動程序bootrom以及整個系統(tǒng)完整的應(yīng)用程序。如圖2所示,本發(fā)明采用的CPU與CPLD之間控制握手原理圖,圖中的RESET#為CPLD復(fù)位整個CPU系統(tǒng)的復(fù)位信號;WD0為CPU系統(tǒng)啟動初始化完成后輸出給CPLD的喂狗信號,可以為周期is的脈沖波。ENABLE#為獲得授權(quán)的用戶需要升級FLASH時候通過命令控制CPU將該信號拉低使能升級功能,然后CPLD通過讀取LOW/HIGHT信號確定將CPU片選CS#切換到CS1#或者CS2# ;如圖3所示,在圖3中CPLD相當一個切換開關(guān),若CPU將LOW/HIGHT置為高電平(默認),CPLD將CS#與CS1#相連,選中主FLASH,若CPU將LOW/HIGHT置為低電平,CPLD將CS#與CS2#相連,選中備FLASH,這樣通過CPU與CPLD之間的控制,用戶可以根據(jù)需要選擇需要升級的FLASH。
      本發(fā)明采用兩片F(xiàn)LASH :主FLASH和備FLASH,即附圖3中的FLASHl和FLASH2,F(xiàn)LASHl作為主FLASH,一般情況下CPU的啟動都是從該片讀取命令完成啟動,若主片引導(dǎo)(PU啟動失敗后才會切換到FLASH2即備FLASH引導(dǎo)啟動。這兩片F(xiàn)LASH在生產(chǎn)出廠時,燒錄一樣的代碼,確保兩片F(xiàn)LASH中的鏡像是一樣的。具體方法是
      I、出廠時主FLASHl和備FLASH2都已經(jīng)燒錄啟動代碼VI. O版本,系統(tǒng)上電后CPLD內(nèi)部復(fù)位開始初始化,當CPLD初始化完成后,CPLD將片選CS#切換到默認狀態(tài)CS1#,即主FLASHl被選中,此時CPLD輸出復(fù)位信號給CPU,CPU復(fù)位完成后,開始從主FLASH中讀取數(shù)據(jù)并完成初始化。2、CPU正常啟動后,輸出連續(xù)WDO信號給CPLD,CPLD收到WDO信號后,CPU加載成功,整個過程結(jié)束;如CPLD沒有收到CPU給出的WDO信號,假設(shè)CPU初始化完成需要15秒,若CPU復(fù)位后30秒內(nèi)沒有給CPLD發(fā)送WDO信號,則CPLD認定CPU沒有正常啟動,開啟備用FLASH2,將片選CS#切換到CS2#,然后復(fù)位CPU系統(tǒng),CPU復(fù)位完成后,開始從備FLASH2中讀取數(shù)據(jù)并完成初始化,CPLD輸出復(fù)位信號后,將告警信號拉高,將告警LED燈點亮告知用戶主FLASHl已經(jīng)被破壞。3、當需要升級新的啟動代碼時,用戶必須獲得廠商授權(quán)獲得操作命令才能通過CPU在線升級程序更新FLASH中的啟動代碼,由CPU輸出使能信號ENABLE#,即將ENABLE#拉低,CPLD檢測到ENABLE#為低電平后,將片選的切換開關(guān)交由CPU來控制,此時CPLD檢測LOW/HIGHT信號,若CPU將LOW/HIGHT信號拉高,說明CPU需要操作主FLASH1,CPLD將CPU發(fā)出的片選CS#切換到CS1#,即選中主FLASHl,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后將ENABLE#拉高退出升級步驟,通過命令行對CPU寫復(fù)位寄存器方式復(fù)位CPU系統(tǒng),若CPU能正常起來說明升級成功,若升級后啟動不了,說明升級代碼有問題,CPLD將自動切換到備FLASH2啟動,然后重復(fù)上述步驟進行主FLASHl再升級;若CPU將LOW/HIGHT信號拉低,說明CPU需要操作備FLASH2,CPLD將CPU發(fā)出的片選CS#切換到CS2#,即選中備FLASH2,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后軟復(fù)位CPU重啟系統(tǒng);系統(tǒng)升級后,用戶需將CPU命令將LOW/HIGHT信號拉高,CPLD將CPU發(fā)出的片選CS#切換到CS1#,即選中主FLASH1,然后CPLD清除告警將告警信號拉低,恢復(fù)默認狀態(tài)。
      權(quán)利要求
      1.一種實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,其特征在于它包括以下步驟 (1)、出廠時主FLASHl和備FLASH2都已經(jīng)燒錄啟動代碼,系統(tǒng)上電后CPLD內(nèi)部復(fù)位開始初始化,當CPLD初始化完成后,CPLD將片選CS#切換到默認狀態(tài)CS1#,即主FLASHl被選中,此時CPLD輸出復(fù)位信號給CPU,CPU復(fù)位完成后,開始從主FLASH中讀取數(shù)據(jù)并完成初始化; (2)、CPU正常啟動后,輸出連續(xù)WDO信號給CPLD,CPLD收到WDO信號后,CPU加載成功,整個過程結(jié)束;如CPLD沒有收到CPU給出的WDO信號,則CPLD認定CPU沒有正常啟動,開啟備用FLASH2,將片選CS#切換到CS2#,然后復(fù)位CPU系統(tǒng),CPU復(fù)位完成后,開始從備FLASH2中讀取數(shù)據(jù)并完成初始化,CPLD輸出復(fù)位信號后,將告警信號拉高,將告警LED燈點亮告知用戶主FLASHl已經(jīng)被破壞; (3)、當需要升級新的啟動代碼時,用戶必須獲得廠商授權(quán)獲得操作命令才能通過CPU 在線升級程序更新FLASH中的啟動代碼,由CPU輸出使能信號ENABLE#,即將ENABLE#拉低,CPLD檢測到ENABLE#為低電平后,將片選的切換開關(guān)交由CPU來控制,此時CPLD檢測LOW/HIGHT信號,若CPU將L0W/HIGHT信號拉高,說明CPU需要操作主FLASH1,CPLD將CPU發(fā)出的片選CS#切換到CS1#’即選中主FLASH1,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后,將ENABLE#拉高退出升級步驟,通過命令行對CPU寫復(fù)位寄存器方式復(fù)位CPU系統(tǒng),若CPU能正常起來說明升級成功,若升級后啟動不了,CPLD將自動切換到備FLASH2啟動,然后重復(fù)上述步驟進行主FLASHl再升級;若CPU將L0W/HIGHT信號拉低,說明CPU需要操作備FLASH2,CPLD將CPU發(fā)出的片選CS#切換到CS2#,即選中備FLASH2,然后CPU通過命令行對主FLASHl進行軟件在線升級,升級完成后軟復(fù)位CPU重啟系統(tǒng);系統(tǒng)升級后,用戶需將CPU命令將L0W/HIGHT信號拉高,CPLD將CPU發(fā)出的片選CS#切換到CS1#,即選中主FLASH1,然后CPLD清除告警將告警信號拉低,恢復(fù)默認狀態(tài)。
      全文摘要
      一種實現(xiàn)自動雙FLASH啟動CPU系統(tǒng)的方法,采用兩片F(xiàn)LASH啟動CPU,當其中主FLASH啟動CPU失敗后,CPLD將備份FLASH選中并輸出復(fù)位信號到CPU,讓CPU從備份FLASH啟動。當CPU啟動后需要升級FLASH,CPU設(shè)置只有授權(quán)的用戶才能使能CPLD啟動對主備FLASH的讀寫升級,這種方式避免了用戶的誤操作,極大地提高了產(chǎn)品的可靠性。本發(fā)明可以保證在其中一塊FLASH無法啟動的情況下自動切換到備份FLASH引導(dǎo)CPU正常啟動,無需添加撥碼開關(guān)或按鈕等手動切換方式就能自動智能完成CPU的正常啟動,主備FLASH自動智能切換,操作簡單,可控性強,可靠性高。
      文檔編號G06F11/14GK102736941SQ20121022563
      公開日2012年10月17日 申請日期2012年7月3日 優(yōu)先權(quán)日2012年7月3日
      發(fā)明者李健 申請人:江西省電力公司信息通信分公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1