一種控制power-pc中cpu啟動切換的系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法,該系統(tǒng)包括:控制單元,用于控制CPU從選定的閃存啟動;閃存單元,包括NOR閃存和NAND閃存,NOR閃存和NAND閃存分別存儲啟動文件;CPU,通過讀取閃存單元中存儲的啟動文件進(jìn)行啟動;本地總線,用于連接控制單元、閃存單元和CPU,控制單元、閃存單元、CPU之間通過本地總線傳輸數(shù)據(jù);CPU默認(rèn)通過NOR閃存啟動,當(dāng)CPU通過NOR閃存啟動不成功時,控制單元控制CPU通過NAND閃存啟動,能夠自行復(fù)位并改由NAND閃存啟動,使得CPU在無法通過NOR閃存啟動時能夠通過其他閃存啟動。
【專利說明】—種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及CPU啟動管理領(lǐng)域,尤其涉及一種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法。
【背景技術(shù)】
[0002]POffER-PC架構(gòu)中的CPU可以從不同類型的存儲介質(zhì)上啟動,通常是從NOR閃存(NOR flash)啟動,也可以從NAND閃存(NAND flash)或SD卡上啟動。根據(jù)POWER-PC的設(shè)計理念,從NOR閃存啟動是最優(yōu)選擇,這也是現(xiàn)有設(shè)備中最常用的啟動方式,也有設(shè)計鑒于NOR閃存的儲存空間小,不足以容納整個啟動文件,選擇將u-boot文件置于NOR Flash中,而將image文件置于NAND閃存或者SD卡中。以上幾種設(shè)計中,當(dāng)NOR閃存中的文件出現(xiàn)問題或者NOR閃存中的文件被不慎修改的時候,設(shè)備就完全癱瘓,無法啟動,而維修的方法只能是更換NOR閃存。
【發(fā)明內(nèi)容】
[0003]本發(fā)明鑒于上述情況而作出,其目的是提供一種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法,當(dāng)CPU從NOR閃存無法啟動時,能夠自行復(fù)位并改由NAND閃存啟動,使得CPU在無法通過NOR閃存啟動時能夠通過其他閃存啟動。
[0004]根據(jù)本發(fā)明的一個方面,提供一種控制POWER-PC中CPU啟動切換的系統(tǒng),包括:
[0005]控制單元,用于控制CPU從選定的閃存啟動;
[0006]閃存單元,包括NOR閃存和NAND閃存,所述NOR閃存和NAND閃存分別存儲啟動文件;
[0007]CPU,通過讀取閃存單元中存儲的啟動文件進(jìn)行啟動;
[0008]本地總線,用于連接控制單元、閃存單元和CPU,控制單元、閃存單元、CPU之間通過本地總線傳輸數(shù)據(jù);
[0009]CPU默認(rèn)通過NOR閃存啟動,當(dāng)CPU通過NOR閃存啟動不成功時,控制單元控制CPU通過NAND閃存啟動。
[0010]其中,控制單元為復(fù)雜可編程邏輯器件(CPLD),其內(nèi)部通過編程實(shí)現(xiàn)本地總線協(xié)議。
[0011]所述控制單元通過內(nèi)部實(shí)現(xiàn)的狀態(tài)機(jī)控制CPU從選定的閃存啟動。
[0012]所述系統(tǒng)還包括電源模塊,所述狀態(tài)機(jī)通過電源模塊發(fā)送的p0Wer_g00d信號進(jìn)行復(fù)位。
[0013]進(jìn)一步地,所述控制CPU從選定的閃存啟動包括:
[0014]電源模塊為CPU上電,當(dāng)CPU上電成功后,電源模塊向控制單元發(fā)送power_good信號,控制單元收到該信號后,狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),此時CPU默認(rèn)通過讀取NOR閃存中存儲的啟動文件來啟動。
[0015]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。[0016]當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束。
[0017]當(dāng)CPU啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPU再次通過NOR閃存啟動。
[0018]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài)。
[0019]此時,控制單元輸出復(fù)位信號(reset)對CPU進(jìn)行復(fù)位,并改變啟動引腳配置值,將片選信號csO配置從nor_cs有效改為nand_cs有效,使得CPU重新通過NAND閃存啟動,并將狀態(tài)機(jī)轉(zhuǎn)入NAND_B00T狀態(tài)。
[0020]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0021]當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束,并將啟動文件寫入NOR閃存中。
[0022]當(dāng)CPU啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPU再次通過NOR閃存啟動。
[0023]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài)。
[0024]此時,控制單元輸出復(fù)位信號對CPU進(jìn)行復(fù)位,并改變啟動引腳配置值,將片選信號csO配置從nand_cs有效改為nor_cs有效,使得CPU再次通過NOR閃存啟動,并將狀態(tài)機(jī)再次轉(zhuǎn)入N0R_B00T狀態(tài)。
[0025]如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
[0026]所述系統(tǒng)還包括地址鎖存器,用于保存本地總線中的地址信息。
[0027]根據(jù)本發(fā)明的另一方面,提供一種控制POWER-PC中CPU啟動切換的方法,包括以下步驟:
[0028]步驟SI,電源模塊為CPU上電。
[0029]步驟S2,當(dāng)CPU上電成功后,電源模塊向控制單元發(fā)送power_good信號,控制單元收到該信號后,狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),此時CPU默認(rèn)通過讀取NOR閃存中存儲的啟動文件來啟動;
[0030]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0031]步驟S3,當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼,則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束;
[0032]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S4。
[0033]步驟S4,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,將片選信號csO配置從nor_cs有效改為nand_cs有效,使得CPU重新通過NAND閃存啟動,狀態(tài)機(jī)進(jìn)入NAND_B00T 狀態(tài);
[0034]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0035]步驟S5,當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束;
[0036]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S6。
[0037]步驟S6,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,將片選信號csO配置從nand_cs有效改為nor_cs有效,使得CPU再次通過NOR閃存啟動,狀態(tài)機(jī)再次進(jìn)Λ NOR_BOOT 狀態(tài)。
[0038]如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
[0039]步驟S3和步驟S5中,當(dāng)CPU啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_BOOT狀態(tài),CPU再次通過NOR閃存啟動。
[0040]根據(jù)本發(fā)明,提供了一種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法,當(dāng)CPU從NOR閃存無法啟動時,能夠自行復(fù)位并改由NAND閃存啟動,使得CPU在無法通過NOR閃存啟動時能夠通過其他閃存啟動,并且在CPU通過NAND閃存啟動后,將啟動文件重新寫入NOR閃存中,使得下次CPU啟動時能夠通過NOR閃存啟動,從而避免了拆修設(shè)備的問題。
【專利附圖】
【附圖說明】
[0041]圖1是本發(fā)明的一種控制POWER-PC中CPU啟動切換的系統(tǒng)的結(jié)構(gòu)示意圖;
[0042]圖2是本發(fā)明的控制單元的狀態(tài)機(jī)的示意圖;
[0043]圖3是本發(fā)明的一種控制POWER-PC中CPU啟動切換的方法的流程示意圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0045]本發(fā)明提供一種控制POWER-PC中CPU啟動切換的系統(tǒng)及方法,當(dāng)CPU從NOR閃存無法啟動時,能夠自行復(fù)位并改由NAND閃存啟動,使得CPU在無法通過NOR閃存啟動時能夠通過其他閃存啟動,并且在CPU通過NAND閃存啟動后,通過將啟動文件重新寫入NOR閃存中重新燒寫NOR閃存使之有效,使得下次CPU啟動時能夠通過NOR閃存啟動,從而避免了拆修設(shè)備的問題。
[0046]圖1是本發(fā)明的一種控制POWER-PC中CPU啟動切換的系統(tǒng)的結(jié)構(gòu)示意圖。
[0047]圖2是本發(fā)明的控制單元的狀態(tài)機(jī)的示意圖。
[0048]如圖1、圖2所示,一種控制POWER-PC中CPU啟動切換的系統(tǒng),包括:
[0049]控制單元102,用于控制CPUlOl從選定的閃存啟動;
[0050]閃存單元,包括NOR閃存103和NAND閃存104,NOR閃存103和NAND閃存104分別存儲啟動文件;
[0051]CPU101,通過讀取閃存單元中存儲的啟動文件進(jìn)行啟動;
[0052]本地總線105,用于連接控制單元102、閃存單元和CPU101,控制單元102、閃存單元、CPUlOl之間通過本地總線105傳輸數(shù)據(jù)。
[0053]CPUlOl默認(rèn)通過NOR閃存103啟動,當(dāng)CPUlOl通過NOR閃存103啟動不成功時,控制單元102控制CPUlOl通過NAND閃存104啟動。
[0054]其中,控制單元102為復(fù)雜可編程邏輯器件(CPLD),如Altera公司的MAXII系列EPM570T100C5,使用verliog編寫代碼,資源使用率60 %,其內(nèi)部通過編程實(shí)現(xiàn)本地總線105協(xié)議。
[0055]控制單元102、閃存單元中的NOR閃存103和NAND閃存104、CPUlOl之間通過本地總線105連接并傳輸數(shù)據(jù)。
[0056]NOR閃存103和NAND閃存104分別存儲CPUlOl啟動所需的啟動文件。
[0057]控制單元102通過內(nèi)部實(shí)現(xiàn)的狀態(tài)機(jī)控制CPUlOl從選定的閃存啟動。
[0058]所述系統(tǒng)還包括電源模塊106,狀態(tài)機(jī)通過電源模塊106發(fā)送的power_good信號進(jìn)行復(fù)位。
[0059]進(jìn)一步地,所述系統(tǒng)還包括地址鎖存器107,用于保存本地總線105中的地址信
肩、O
[0060]進(jìn)一步地,所述控制CPUlOl從選定的閃存啟動包括:
[0061]電源模塊106為CPUlOl上電,當(dāng)CPUlOl上電成功后,電源模塊106向控制單元102發(fā)送power_good信號,控制單元102收到該信號后,狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),此時CPUlOl默認(rèn)通過讀取NOR閃存103中存儲的啟動文件來啟動。
[0062]如果CPUlOl啟動成功,CPUlOl向控制單元102的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0063]當(dāng)控制單元102的狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài)后,控制單元102對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束。
[0064]當(dāng)CPUlOl啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPUlOl再次通過NOR閃存103啟動。
[0065]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài)。
[0066]此時,控制單元102輸出復(fù)位信號對CPUlOl進(jìn)行復(fù)位,并改變啟動引腳配置值,將片選信號csO配置從nor_cs有效改為nand_cs有效,使得CPUlOl重新通過NAND閃存104啟動,并將狀態(tài)機(jī)轉(zhuǎn)入NAND_B00T狀態(tài)。
[0067]如果CPUlOl啟動成功,CPUlOl向控制單元102的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0068]當(dāng)控制單元102的狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài)后,控制單元102對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束,并將啟動文件寫入NOR閃存103中。
[0069]因?yàn)樵诖酥癈PU沒有通過NOR閃存啟動成功,說明NOR閃存中的啟動文件存在問題或者已經(jīng)被修改,所以當(dāng)CPU通過NAND閃存啟動成功后,將啟動文件重新寫入NOR閃存中,使得下次CPU啟動時能夠通過NOR閃存啟動。
[0070]當(dāng)CPUlOl啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPUlOl再次通過NOR閃存103啟動。
[0071]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài)。
[0072]此時,控制單元102輸出復(fù)位信號對CPUlOl進(jìn)行復(fù)位,并改變啟動引腳配置值,將片選信號csO配置從nand_cs有效改為nor_cs有效,使得CPUlOl再次通過NOR閃存103啟動,并將狀態(tài)機(jī)再次轉(zhuǎn)入N0R_B00T狀態(tài)。
[0073]如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
[0074]此時說明CPU從NOR閃存和NAND閃存均無法啟動成功。
[0075]圖3是本發(fā)明的一種控制POWER-PC中CPU啟動切換的方法的流程示意圖。
[0076]如圖3所示,一種控制POWER-PC中CPU啟動切換的方法,包括以下步驟:[0077]步驟SI,電源模塊為CPU上電。
[0078]步驟S2,當(dāng)CPU上電成功后,電源模塊向控制單元發(fā)送power_good信號,控制單元收到該信號后,狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),此時CPU默認(rèn)通過讀取NOR閃存中存儲的啟動文件來啟動;
[0079]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0080]步驟S3,當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼,則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束;
[0081]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S4。
[0082]步驟S4,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,將片選信號csO配置從nor_cs有效改為nand_cs有效,使得CPU重新通過NAND閃存啟動,狀態(tài)機(jī)進(jìn)入NAND_B00T 狀態(tài);
[0083]如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼。
[0084]步驟S5,當(dāng)控制單元的狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài)后,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束;
[0085]如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S6 ;
[0086]步驟S6,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,將片選信號csO配置從nand_cs有效改為nor_cs有效,使得CPU再次通過NOR閃存啟動,狀態(tài)機(jī)再次進(jìn)入N0R_B00T狀態(tài);
[0087]如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
[0088]步驟S3和步驟S5中,當(dāng)CPU啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_BOOT狀態(tài),CPU再次通過NOR閃存啟動。
[0089]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【權(quán)利要求】
1.一種控制POWER-PC中CPU啟動切換的系統(tǒng),其特征在于,包括: 控制單元,用于控制CPU從選定的閃存啟動; 閃存單元,包括NOR閃存和NAND閃存,所述NOR閃存和NAND閃存分別存儲啟動文件; CPU,通過讀取閃存單元中存儲的啟動文件進(jìn)行啟動; 本地總線,用于連接控制單元、閃存單元和CPU,控制單元、閃存單元、CPU之間通過本地總線傳輸數(shù)據(jù); CPU默認(rèn)通過NOR閃存啟動,當(dāng)CPU通過NOR閃存啟動不成功時,控制單元控制CPU通過NAND閃存啟動。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述控制單元通過狀態(tài)機(jī)控制CPU從選定的閃存啟動。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括電源模塊,所述狀態(tài)機(jī)通過電源模塊發(fā)送的power_good信號進(jìn)行復(fù)位。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述控制CPU從選定的閃存啟動包括: 電源模塊為CPU上電,當(dāng)CPU上電成功后,電源模塊向控制單元發(fā)送p0Wer_g00d信號,狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPU默認(rèn)通過NOR閃存啟動; 如果CPU啟動成功,C PU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼; 控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束; 如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài); 控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,使得CPU重新通過NAND閃存啟動,狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài); 如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼; 控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束; 如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài); 控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,使得CPU再次通過NOR閃存啟動,狀態(tài)機(jī)再次進(jìn)入N0R_B00T狀態(tài); 如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,當(dāng)CPU通過NAND閃存啟動成功后,將啟動文件寫入NOR閃存中。
6.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的系統(tǒng),其特征在于,所述控制單元為復(fù)雜可編程邏輯器件,所述復(fù)雜可編程邏輯器件內(nèi)部通過編程實(shí)現(xiàn)本地總線協(xié)議。
7.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括地址鎖存器,用于保存本地總線中的地址信息。
8.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的系統(tǒng),其特征在于,當(dāng)CPU啟動完成之后,若出現(xiàn)復(fù)位信號則狀態(tài)機(jī)進(jìn)入N0R_B00T狀態(tài),CPU通過NOR閃存啟動。
9.一種控制POWER-PC中CPU啟動切換的方法,其特征在于,包括步驟: 步驟SI,電源模塊為CPU上電; 步驟S2,當(dāng)CPU上電成功后,電源模塊向控制單元發(fā)送power_good信號,控制單元的狀態(tài)機(jī)進(jìn)入NOR_BOOT狀態(tài),CPU默認(rèn)通過NOR閃存啟動; 如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼; 步驟S3,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼,則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束; 如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S4 ; 步驟S4,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,使得CPU重新通過NAND閃存啟動,狀態(tài)機(jī)進(jìn)入NAND_B00T狀態(tài); 如果CPU啟動成功,CPU向控制單元的0x00寄存器寫入0x55作為校驗(yàn)碼; 步驟S5,控制單元對0x00寄存器進(jìn)行實(shí)時查詢,如果查到所述校驗(yàn)碼則狀態(tài)機(jī)進(jìn)入Β00Τ_0Κ狀態(tài),啟動過程結(jié)束; 如果20秒內(nèi)沒有查到所述校驗(yàn)碼,狀態(tài)機(jī)進(jìn)入CHANGE_CFG狀態(tài),并轉(zhuǎn)入步驟S6 ; 步驟S6,控制單元輸出復(fù)位信號復(fù)位CPU,并改變啟動引腳配置值,使得CPU再次通過NOR閃存啟動,狀態(tài)機(jī)再次進(jìn)入N0R_B00T狀態(tài); 如CPU再次無法啟動成功,則狀態(tài)機(jī)停留在N0R_B00T狀態(tài)。
10.根據(jù) 權(quán)利要求9所述的方法,其特征在于,所述步驟SI之前還包括:CPU、控制單元、NOR閃存、NAND閃存之間通過本地總線相連,并且NOR閃存和NAND閃存中分別存儲用于(PU啟動的啟動文件。
【文檔編號】G06F1/24GK103995754SQ201410165168
【公開日】2014年8月20日 申請日期:2014年4月23日 優(yōu)先權(quán)日:2014年4月23日
【發(fā)明者】林旭東 申請人:漢柏科技有限公司