一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng)及方法
【專利摘要】本發(fā)明公開一種串口加載PowerPC引導(dǎo)文件的系統(tǒng)及方法,包括實(shí)現(xiàn)加載方案的電路板設(shè)計(jì)、CPLD的邏輯實(shí)現(xiàn)和PC端的加載軟件的設(shè)計(jì),在完成這三個(gè)模塊的要求后,通過PC端的加載軟件將文件通過串口發(fā)送給CPLD,經(jīng)過CPLD中的邏輯將文件編程到Norflash中完成系統(tǒng)的引導(dǎo)文件的加載。本發(fā)明實(shí)現(xiàn)一種簡潔的系統(tǒng)加載方法,通過在CPLD上實(shí)現(xiàn)Norflash編程的邏輯而不是在PC端軟件上實(shí)現(xiàn)編程算法,使得編程的速度得到了保證,同時(shí)該方案使得PC端軟件的開發(fā)也相當(dāng)簡單,只需要讀取需要加載的文件然后根據(jù)定義好的幀格式打包數(shù)據(jù)幀通過串口進(jìn)行發(fā)送即可。另外,本發(fā)明替代了專用的仿真器和編程環(huán)境,簡化了系統(tǒng)引導(dǎo)文件的加載流程,提高了前期的調(diào)試效率。
【專利說明】—種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及PowerPC (性能優(yōu)化的增強(qiáng)型精簡指令集中央處理器)引導(dǎo)文件加載方法,特別涉及一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng)及方法。
【背景技術(shù)】
[0002]PowerPC往往是作為系統(tǒng)的主要CPU (中央處理器)使用,系統(tǒng)啟動的第一階段是完成CPU系統(tǒng)的引導(dǎo),以往的PowerPC系統(tǒng)的啟動bin (二進(jìn)制)文件的加載是通過廠商提供的專用仿真器,采用下載器不但價(jià)格昂貴,而且需要在PC上安裝對應(yīng)的調(diào)試軟件,在完成調(diào)試軟件安裝后還需要根據(jù)硬件的設(shè)計(jì)方案對調(diào)試環(huán)境的相關(guān)參數(shù)進(jìn)行設(shè)置和調(diào)整,而且由于仿真器是不允許熱插拔操作的,因此對環(huán)境要求比較高。
[0003]由于接口方式一般使用的都是JTAG (聯(lián)合測試工作組)接口,因此需要在電路板設(shè)計(jì)時(shí)專門做JTAG部分的電路設(shè)計(jì)。對于裝箱的整機(jī)系統(tǒng),這樣的接口方式明顯是不方便使用的,由于需要專用的仿真器,因此只要系統(tǒng)引導(dǎo)損壞就需要拆開機(jī)箱將單板拆出插上仿真器進(jìn)行引導(dǎo)代碼的重新加載,此操作過程不僅麻煩而且效率低下。
【發(fā)明內(nèi)容】
[0004]針對【背景技術(shù)】存在的問題,本發(fā)明提供一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng)及方法。本發(fā)明的實(shí)現(xiàn)包括該加載方案的電路設(shè)計(jì)、CPLD (復(fù)雜可編程邏輯器件)的邏輯實(shí)現(xiàn)和PC (個(gè)人計(jì)算機(jī))端的加載軟件設(shè)計(jì)。
[0005]本發(fā)明目的在于實(shí)現(xiàn)PowerPC系統(tǒng)的引導(dǎo)文件快速加載及升級,節(jié)約大量人工搭建環(huán)境時(shí)間。
[0006]本發(fā)明的特點(diǎn)是采用通用的串行接口進(jìn)行CPU引導(dǎo)文件加載,由于一般前面板都會有CPU的調(diào)試串口,因此復(fù)用該接口即可,在系統(tǒng)啟動前使用該接口完成CPU引導(dǎo)文件加載,在系統(tǒng)啟動后該接口作為CPU的調(diào)試串口使用。
[0007]使用串行接口的方式不需要搭建額外的調(diào)試環(huán)境,只需要插上串口線連接PC和系統(tǒng)的CPU調(diào)試串口即可。通過PC端的上位機(jī)軟件加載相關(guān)的CPU引導(dǎo)文件完成系統(tǒng)的加載,操作簡單方便,而且任何時(shí)間系統(tǒng)引導(dǎo)損壞,只需要重新利用PC端的軟件加載一次即可,大大提高了效率。
[0008]解決該技術(shù)問題所采用的技術(shù)方案是:
一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng),包括裝有處理軟件的計(jì)算機(jī)以及集成在電路板上的中央處理器PowerPC、復(fù)雜可編程邏輯器件CPLD、非易失性閃存Norflash、電平轉(zhuǎn)換芯片、面板接口 ;PowerPC的本地總線連接到CPLD上,Norflash通過本地總線連接到CPLD上;計(jì)算機(jī)的串口通過串口線與面板接口連接,從面板接口接入的串口信號經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)換后連接到CPLD上,CPLD與PowerPC通過串口連接。
[0009]一種基于上述系統(tǒng)的串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,包括以下步驟,
步驟1:系統(tǒng)上電; 步驟2:下載CPLD程序,CPLD程序中實(shí)現(xiàn)串口的讀寫以及Norflash的擦除和讀寫操作邏輯;
步驟3:打開PC端的處理軟件Sflash ;
步驟4:操作Sf lash,選擇串口,配置串口參數(shù);
步驟5:選擇讀取Norflash或者編程N(yùn)orflash ;如果讀取Norflash,選擇讀取的基地址和讀取長度,點(diǎn)擊讀取flash,這時(shí)會彈出對話框選擇保存路徑和輸入文件名,確定后開始讀取過程;如果編程N(yùn)orflash,選擇要下載的文件,同時(shí)輸入基地址然后點(diǎn)擊開始編程;在讀取和編程N(yùn)orflash的過程中,在電路板上通過LED燈閃爍指示正在對Norflash進(jìn)行讀取或者是編程操作;
步驟6:文件讀取或者是燒寫完成,復(fù)位系統(tǒng)完成系統(tǒng)啟動。
[0010]所述處理軟件Sflash進(jìn)行編程N(yùn)orflash的過程包括以下步驟,
步驟1:配置“串口參數(shù)”,點(diǎn)擊“打開串口”按鈕;該步驟實(shí)現(xiàn)PC端串口的配置;
步驟2:點(diǎn)擊“瀏覽文件”按鈕,選擇編程的二進(jìn)制文件;該步驟實(shí)現(xiàn)編程文件的選擇;步驟3:在“地址”處輸入編程N(yùn)orflash的起始地址,“大小”處輸入框內(nèi)容會根據(jù)所選擇的文件自動進(jìn)行填充,點(diǎn)擊“開始編程”;該步驟實(shí)現(xiàn)編程操作啟動;
步驟4 =Sflash軟件收到“開始編程”指令后讀取所選擇的編程文件中的內(nèi)容進(jìn)行打包成規(guī)定的數(shù)據(jù)幀格式并通過串口將數(shù)據(jù)發(fā)出;
步驟5 =CPLD通過接收到PC的串口發(fā)送過來的數(shù)據(jù)幀后對數(shù)據(jù)幀進(jìn)行解包分析,提取數(shù)據(jù)幀中的指令信息和數(shù)據(jù)信息;
步驟6 =CPLD根據(jù)步驟5提取到的數(shù)據(jù)幀啟動對Norflash的寫操作;
步驟7:重復(fù)步驟4到步驟6直到數(shù)據(jù)全部發(fā)送完畢,Sflash界面顯示編程進(jìn)度,把數(shù)據(jù)往Norflash與入完成后彈出對話框提不完成編程flash。
[0011]所述處理軟件Sflash進(jìn)行讀取Norflash的過程包括以下步驟,
步驟1:配置“串口參數(shù)”,點(diǎn)擊“打開串口”按鈕;該步驟實(shí)現(xiàn)PC端串口的配置;
步驟2:在“地址”處輸入讀取Norflash的起始地址,“大小”處輸入要讀的文件大??;點(diǎn)擊“查看flash”按鈕,彈出讀取文件保存位置選擇框,定義文件名選擇好保存路徑;該步驟實(shí)現(xiàn)所要讀取的Norflash的數(shù)據(jù)位置和大小的確定以及保存路徑確定;
步驟3:在完成步驟2后彈出確定對話框,點(diǎn)擊“確定”,實(shí)現(xiàn)讀取操作啟動;
步驟4 =Sflash軟件收到讀取操作指令后會通過串口發(fā)出讀指令的數(shù)據(jù)幀;
步驟5 =CPLD通過接收到PC的串口發(fā)送過來的數(shù)據(jù)幀后對數(shù)據(jù)幀進(jìn)行解包分析,提取數(shù)據(jù)幀中的指令信息和數(shù)據(jù)信息;
步驟6 =CPLD根據(jù)步驟5提取到的數(shù)據(jù)幀啟動對Norflash的讀操作;
步驟7:將讀到的數(shù)據(jù)通過串口發(fā)送到Sflash ;
步驟8 =Sflash將串口接收到的數(shù)據(jù)寫入保存的文本中;
步驟9:重復(fù)步驟6到步驟8直到數(shù)據(jù)全部讀取完畢并寫入文本。
[0012]所述CPLD程序?qū)崿F(xiàn)串口的讀寫以及Norflash的擦除和讀寫,具體過程包括,
CPLD中通過邏輯實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)功能模塊,當(dāng)串口收到數(shù)據(jù)后,根據(jù)定義的數(shù)據(jù)幀格式解析該幀數(shù)據(jù)是讀操作、寫操作或是擦除操作;
如果是讀操作,則執(zhí)行如下步驟: 步驟1:解析數(shù)據(jù)巾貞中讀取Norflash的起始地址和讀取大??;
步驟2:將起始地址寫到Norflash的地址總線,設(shè)置已讀數(shù)據(jù)個(gè)數(shù)為O ;
步驟3:執(zhí)行Norflash讀操作的邏輯,讀取數(shù)據(jù);
步驟4:將讀取到的數(shù)據(jù)進(jìn)行緩存;
步驟5:將緩存的數(shù)據(jù)填充到串口的發(fā)送緩沖區(qū);
步驟6:啟動串口發(fā)送數(shù)據(jù);
步驟7:將地址加1,已讀數(shù)據(jù)個(gè)數(shù)加1,判斷已讀數(shù)據(jù)個(gè)數(shù)是否等于解析出的讀取數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有讀完,需要重復(fù)步驟3到步驟6 ;如果是則表示數(shù)據(jù)讀取完成;
如果是寫操作,則執(zhí)行如下步驟:
步驟1:解析數(shù)據(jù)幀中初始地址、寫入數(shù)據(jù)個(gè)數(shù)和數(shù)據(jù);
步驟2:將起始地址寫到Norflash的地址總線,將第一個(gè)數(shù)據(jù)寫到Norflash的數(shù)據(jù)總線,設(shè)置已寫數(shù)據(jù)個(gè)數(shù)為O;
步驟3:執(zhí)行Norflash寫操作邏輯,寫入數(shù)據(jù);
步驟4:將地址加I寫到Norflash的地址總線,同時(shí)將下一個(gè)數(shù)據(jù)寫到數(shù)據(jù)總線,將已寫入數(shù)據(jù)個(gè)數(shù)加I ;
步驟5:判斷已寫入數(shù)據(jù)個(gè)數(shù)是否等于解析出的寫入數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有寫完,需要重復(fù)步驟3到步驟4,如果是則表示已經(jīng)寫入完成;
如果是擦除操作,則執(zhí)行如下步驟:
步驟1:解析擦除初始地址和要擦除的扇區(qū)個(gè)數(shù);
步驟2:將初始地址寫到Norflash的地址總線;
步驟3:執(zhí)行Norflash的扇區(qū)擦除操作邏輯,擦除扇區(qū);
步驟4:將擦除的地址加上單個(gè)扇區(qū)的大小,得到下一個(gè)要擦除的扇區(qū)的起始地址;步驟5:根據(jù)解析到的扇區(qū)個(gè)數(shù),判斷目前擦除的是否是最后一個(gè)扇區(qū),如果不是則表示還有扇區(qū)未被擦除,需要重復(fù)步驟3到步驟4,如果是則表示所有扇區(qū)已經(jīng)被擦除完成。
[0013]本發(fā)明同現(xiàn)有技術(shù)相比所具有的優(yōu)點(diǎn)、特點(diǎn)或積極效果:
本發(fā)明實(shí)現(xiàn)一種簡潔的系統(tǒng)加載方法,通過在CPLD上實(shí)現(xiàn)Norflash編程的邏輯而不是在PC端軟件上實(shí)現(xiàn)編程算法,使得編程的速度得到了保證,同時(shí)該方案使得PC端軟件的開發(fā)也相當(dāng)簡單,只需要讀取需要加載的文件然后根據(jù)定義好的幀格式打包數(shù)據(jù)幀通過串口進(jìn)行發(fā)送即可。另外,本發(fā)明替代了專用的仿真器和編程環(huán)境,簡化了系統(tǒng)引導(dǎo)文件的加載流程,提高了前期的調(diào)試效率。
[0014]本發(fā)明通過簡單的串行接口將引導(dǎo)文件加載到啟動Norflash (非易失性閃存沖,只要PowerPC的硬件系統(tǒng)無誤,在完成加載后即可啟動,這樣大大簡化了系統(tǒng)啟動文件加載過程,加快了系統(tǒng)的調(diào)試進(jìn)度。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明系統(tǒng)的結(jié)構(gòu)框圖。
[0016]圖2為本發(fā)明中編程N(yùn)orflash的方法流程。
[0017]圖3為本發(fā)明讀取Norflash數(shù)據(jù)的方法流程。
[0018]圖4為本發(fā)明CPLD程序?qū)崿F(xiàn)串口的讀寫以及Norflash的擦除和讀寫流程。
[0019]圖5為本發(fā)明PC端軟件Sflash (PC端軟件名稱)的界面截圖。
【具體實(shí)施方式】
[0020]本發(fā)明的主旨在于簡化現(xiàn)有的PowerPC系統(tǒng)的引導(dǎo)文件加載方式,提供一種通過串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,本發(fā)明的目的是解決依賴專用仿真器和調(diào)試軟件的限制,提供一種簡潔的系統(tǒng)加載方法。通過該加載方式,可以縮短PowerPC系統(tǒng)引導(dǎo)啟動的調(diào)試時(shí)間,實(shí)現(xiàn)和仿真器下載相同的效果,大大簡化系統(tǒng)引導(dǎo)文件加載的過程。
[0021 ] 一種串口加載PowerPC系統(tǒng)弓丨導(dǎo)文件的系統(tǒng),包括裝有處理軟件的計(jì)算機(jī)以及集成在電路板上的中央處理器PowerPC、復(fù)雜可編程邏輯器件CPLD、非易失性閃存Norflash、電平轉(zhuǎn)換芯片、面板接口 ;PowerPC的本地總線連接到CPLD上,Norflash通過本地總線連接到CPLD上;計(jì)算機(jī)的串口通過串口線與面板接口連接,從面板接口接入的串口信號經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)換后連接到CPLD上,CPLD與PowerPC通過串口連接。
[0022]一種基于上述系統(tǒng)的串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,具體操作步驟為: 步驟1:電路板上電;
步驟2:下載CPLD程序,CPLD程序中實(shí)現(xiàn)串口的讀寫以及Norflash的擦除和讀寫操作邏輯;
步驟3:通過串口線連接PC和電路板串口 ;
步驟4:打開PC端軟件Sflash ;
步驟5:操作Sf lash,選擇串口,配置串口參數(shù);
步驟6:如果是要讀取NorfIash,選擇讀取的基地址和讀取長度,點(diǎn)擊“讀取flash”,這時(shí)會彈出對話框選擇保存路徑和輸入文件名,確定后開始讀取過程。如果要編程N(yùn)orflash,請選擇要下載的文件,同時(shí)輸入基地址(文件大小會根據(jù)選擇的文件大小自動填充),然后點(diǎn)擊開始編程開始編程過程。在讀取和編程N(yùn)orflash的過程中,在電路板上通過LED (發(fā)光二極管)燈閃爍指示正在對Norflash進(jìn)行讀取或者是編程操作。
[0023]步驟7:文件讀取或者是燒寫完成,復(fù)位系統(tǒng)完成系統(tǒng)啟動。
[0024]為實(shí)現(xiàn)上述目的,本發(fā)明要完成PowerPC系統(tǒng)引導(dǎo)文件的加載需要完成3個(gè)模塊,包括PowerPC系統(tǒng)的電路設(shè)計(jì)要求、PowerPC弓丨導(dǎo)CPLD的加載模塊實(shí)現(xiàn)、PC端加載軟件的實(shí)現(xiàn)。
[0025]PowerPC可以通過多種源進(jìn)行引導(dǎo),包括Norflash、SD (安全數(shù)字記憶卡)卡、I2C(飛利浦公司開發(fā)的兩線式串行總線)、SPI (串行外設(shè)接口)等等。該發(fā)明是針對Norflash引導(dǎo)做方案實(shí)現(xiàn),因此PowerPC系統(tǒng)在配置啟動模式時(shí)需要選擇Norflash的引導(dǎo)源。
[0026]要實(shí)現(xiàn)該發(fā)明,在電路設(shè)計(jì)上面需要注意PowerPC的1calbus (本地總線)總線不能直連到Norflash上,需要經(jīng)過CPLD之后再到Norflash。另外,PowerPC的調(diào)試串口也不能直接經(jīng)過電平轉(zhuǎn)換芯片后拉出到面板接口,需要經(jīng)過CPLD之后再拉出。電路設(shè)計(jì)如圖1。圖1中中央處理器指PowerPC,復(fù)雜可編程邏輯器件指CPLD,非易失性閃存指Norflash。即將PowerPC的本地總線連接到CPLD上,Norflash通過本地總線連接到CPLD上,從面板接口接入的串口信號經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)換后連接到CPLD上,該部分是硬件電路板上實(shí)現(xiàn)的電路連接。另外,要實(shí)現(xiàn)引導(dǎo)文件的加載,需要將硬件電路板面板接口和個(gè)人計(jì)算機(jī)的串口通過串口線連接。
[0027]實(shí)現(xiàn)該發(fā)明,在CPLD中需要實(shí)現(xiàn)的邏輯主要包括:串口數(shù)據(jù)收發(fā)、Norflash的擦除和讀寫操作等。數(shù)據(jù)寫入Norflash操作流程為:PC端打包好數(shù)據(jù)幀,PC端將數(shù)據(jù)通過串口發(fā)送給CPLD,CPLD將按照Norflash的指令格式完成Norflash的寫操作。從Norflash讀取數(shù)據(jù)的操作流程=PC端發(fā)送讀取指令,CPLD按照Norflash的指令格式完成Norflash的讀操作,CPLD將數(shù)據(jù)通過串口發(fā)送給PC端。操作流程如圖2和圖3。
[0028]實(shí)現(xiàn)該發(fā)明,在PC端的加載軟件需要實(shí)現(xiàn)的主要功能為串口數(shù)據(jù)的收發(fā),具體的數(shù)據(jù)幀格式需要配合CPLD邏輯,按照自定義指令格式標(biāo)準(zhǔn)打包好每幀數(shù)據(jù)。PC端軟件界面主要包括串口配置、Norf Iash讀取、Norf Iash編程等功能模塊。PC端軟件實(shí)現(xiàn)如圖4、圖5所示:
CPLD中通過邏輯實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)功能模塊,當(dāng)串口收到數(shù)據(jù)后,根據(jù)定義的數(shù)據(jù)幀格式解析該幀數(shù)據(jù)是讀操作、寫操作或是擦除操作;
如果是讀操作,則執(zhí)行如下步驟:
步驟1:解析數(shù)據(jù)巾貞中讀取Norflash的起始地址和讀取大??;
步驟2:將起始地址寫到Norflash的地址總線,設(shè)置已讀數(shù)據(jù)個(gè)數(shù)為O ;
步驟3:執(zhí)行Norflash讀操作的邏輯,讀取數(shù)據(jù);
步驟4:將讀取到的數(shù)據(jù)進(jìn)行緩存;
步驟5:將緩存的數(shù)據(jù)填充到串口的發(fā)送緩沖區(qū);
步驟6:啟動串口發(fā)送數(shù)據(jù);
步驟7:將地址加1,已讀數(shù)據(jù)個(gè)數(shù)加1,判斷已讀數(shù)據(jù)個(gè)數(shù)是否等于解析出的讀取數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有讀完,需要重復(fù)步驟3到步驟6 ;如果是則表示數(shù)據(jù)讀取完成;
如果是寫操作,則執(zhí)行如下步驟:
步驟1:解析數(shù)據(jù)幀中初始地址、寫入數(shù)據(jù)個(gè)數(shù)和數(shù)據(jù);
步驟2:將起始地址寫到Norflash的地址總線,將第一個(gè)數(shù)據(jù)寫到Norflash的數(shù)據(jù)總線,設(shè)置已寫數(shù)據(jù)個(gè)數(shù)為O;
步驟3:執(zhí)行Norflash寫操作邏輯,寫入數(shù)據(jù);
步驟4:將地址加I寫到Norflash的地址總線,同時(shí)將下一個(gè)數(shù)據(jù)寫到數(shù)據(jù)總線,將已寫入數(shù)據(jù)個(gè)數(shù)加I ;
步驟5:判斷已寫入數(shù)據(jù)個(gè)數(shù)是否等于解析出的寫入數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有寫完,需要重復(fù)步驟3到步驟4,如果是則表示已經(jīng)寫入完成;
如果是擦除操作,則執(zhí)行如下步驟:
步驟1:解析擦除初始地址和要擦除的扇區(qū)個(gè)數(shù);
步驟2:將初始地址寫到Norflash的地址總線;
步驟3:執(zhí)行Norflash的扇區(qū)擦除操作邏輯,擦除扇區(qū);
步驟4:將擦除的地址加上單個(gè)扇區(qū)的大小,得到下一個(gè)要擦除的扇區(qū)的起始地址;步驟5:根據(jù)解析到的扇區(qū)個(gè)數(shù),判斷目前擦除的是否是最后一個(gè)扇區(qū),如果不是則表示還有扇區(qū)未被擦除,需要重復(fù)步驟3到步驟4,如果是則表示所有扇區(qū)已經(jīng)被擦除完成。
[0029]本發(fā)明結(jié)合CPLD中的邏輯實(shí)現(xiàn)和PC端軟件實(shí)現(xiàn),通過科學(xué)的數(shù)據(jù)幀格式設(shè)計(jì),通過串口完成引導(dǎo)文件的正確加載,在保證速率的前提下又簡化了 PowerPC系統(tǒng)的引導(dǎo)文件加載方式,過程條理清晰,實(shí)用簡單方便,效率高。
【權(quán)利要求】
1.一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的系統(tǒng),其特征在于:包括裝有處理軟件的計(jì)算機(jī)以及集成在電路板上的中央處理器PowerPC、復(fù)雜可編程邏輯器件CPLD、非易失性閃存Norflash、電平轉(zhuǎn)換芯片、面板接口 ;PowerPC的本地總線連接到CPLD上,Norflash通過本地總線連接到CPLD上;計(jì)算機(jī)的串口通過串口線與面板接口連接,從面板接口接入的串口信號經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)換后連接到CPLD上,CPLD與PowerPC通過串口連接。
2.一種基于上述系統(tǒng)的串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,其特征在于:包括以下步驟, 步驟1:系統(tǒng)上電; 步驟2:下載CPLD程序,CPLD程序中實(shí)現(xiàn)串口的讀寫以及Norflash的擦除和讀寫操作邏輯; 步驟3:打開PC端的處理軟件Sflash ; 步驟4:操作Sf lash,選擇串口,配置串口參數(shù); 步驟5:選擇讀取Norflash或者編程N(yùn)orflash ;如果讀取Norflash,選擇讀取的基地址和讀取長度,點(diǎn)擊讀取flash,這時(shí)會彈出對話框選擇保存路徑和輸入文件名,確定后開始讀取過程;如果編程N(yùn)orflash,選擇要下載的文件,同時(shí)輸入基地址然后點(diǎn)擊開始編程;在讀取和編程N(yùn)orflash的過程中,在電路板上通過LED燈閃爍指示正在對Norflash進(jìn)行讀取或者是編程操作; 步驟6:文件讀取或者是燒寫完成,復(fù)位系統(tǒng)完成系統(tǒng)啟動。
3.根據(jù)權(quán)利要求2所述的一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,其特征在于:所述處理軟件Sflash進(jìn)行編程N(yùn)orflash的過程包括以下步驟, 步驟1:配置“串口參數(shù)”,點(diǎn)擊“打開串口”按鈕;該步驟實(shí)現(xiàn)PC端串口的配置; 步驟2:點(diǎn)擊“瀏覽文件”按鈕,選擇編程的二進(jìn)制文件;該步驟實(shí)現(xiàn)編程文件的選擇;步驟3:在“地址”處輸入編程N(yùn)orflash的起始地址,“大小”處輸入框內(nèi)容會根據(jù)所選擇的文件自動進(jìn)行填充,點(diǎn)擊“開始編程”;該步驟實(shí)現(xiàn)編程操作啟動; 步驟4 =Sflash軟件收到“開始編程”指令后讀取所選擇的編程文件中的內(nèi)容進(jìn)行打包成規(guī)定的數(shù)據(jù)幀格式并通過串口將數(shù)據(jù)發(fā)出; 步驟5 =CPLD通過接收到PC的串口發(fā)送過來的數(shù)據(jù)幀后對數(shù)據(jù)幀進(jìn)行解包分析,提取數(shù)據(jù)幀中的指令信息和數(shù)據(jù)信息; 步驟6 =CPLD根據(jù)步驟5提取到的數(shù)據(jù)幀啟動對Norflash的寫操作; 步驟7:重復(fù)步驟4到步驟6直到數(shù)據(jù)全部發(fā)送完畢,Sflash界面顯示編程進(jìn)度,把數(shù)據(jù)往Norflash與入完成后彈出對話框提不完成編程flash。
4.根據(jù)權(quán)利要求2所述的一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,其特征在于:所述處理軟件Sflash進(jìn)行讀取Norflash的過程包括以下步驟, 步驟1:配置“串口參數(shù)”,點(diǎn)擊“打開串口 ”按鈕;該步驟實(shí)現(xiàn)PC端串口的配置; 步驟2:在“地址”處輸入讀取Norflash的起始地址,“大小”處輸入要讀的文件大?。稽c(diǎn)擊“查看flash”按鈕,彈出讀取文件保存位置選擇框,定義文件名選擇好保存路徑;該步驟實(shí)現(xiàn)所要讀取的Norflash的數(shù)據(jù)位置和大小的確定以及保存路徑確定; 步驟3:在完成步驟2后彈出確定對話框,點(diǎn)擊“確定”,實(shí)現(xiàn)讀取操作啟動; 步驟4 =Sflash軟件收到讀取操作指令后會通過串口發(fā)出讀指令的數(shù)據(jù)幀; 步驟5 =CPLD通過接收到PC的串口發(fā)送過來的數(shù)據(jù)幀后對數(shù)據(jù)幀進(jìn)行解包分析,提取數(shù)據(jù)幀中的指令信息和數(shù)據(jù)信息; 步驟6 =CPLD根據(jù)步驟5提取到的數(shù)據(jù)幀啟動對Norflash的讀操作; 步驟7:將讀到的數(shù)據(jù)通過串口發(fā)送到Sflash ; 步驟8 =Sflash將串口接收到的數(shù)據(jù)寫入保存的文本中; 步驟9:重復(fù)步驟6到步驟8直到數(shù)據(jù)全部讀取完畢并寫入文本。
5.根據(jù)權(quán)利要求2所述的一種串口加載PowerPC系統(tǒng)引導(dǎo)文件的方法,其特征在于:所述CPLD程序?qū)崿F(xiàn)串口的讀寫以及Norflash的擦除和讀寫,具體過程包括, CPLD中通過邏輯實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)功能模塊,當(dāng)串口收到數(shù)據(jù)后,根據(jù)定義的數(shù)據(jù)幀格式解析該幀數(shù)據(jù)是讀操作、寫操作或是擦除操作; 如果是讀操作,則執(zhí)行如下步驟: 步驟1:解析數(shù)據(jù)巾貞中讀取Norflash的起始地址和讀取大??; 步驟2:將起始地址寫到Norflash的地址總線,設(shè)置已讀數(shù)據(jù)個(gè)數(shù)為O ; 步驟3:執(zhí)行Norflash讀操作的邏輯,讀取數(shù)據(jù); 步驟4:將讀取到的數(shù)據(jù)進(jìn)行緩存; 步驟5:將緩存的數(shù)據(jù)填充到串口的發(fā)送緩沖區(qū); 步驟6:啟動串口發(fā)送數(shù)據(jù); 步驟7:將地址加1,已讀數(shù)據(jù)個(gè)數(shù)加1,判斷已讀數(shù)據(jù)個(gè)數(shù)是否等于解析出的讀取數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有讀完,需要重復(fù)步驟3到步驟6 ;如果是則表示數(shù)據(jù)讀取完成; 如果是寫操作,則執(zhí)行如下步驟: 步驟1:解析數(shù)據(jù)幀中初始地址、寫入數(shù)據(jù)個(gè)數(shù)和數(shù)據(jù); 步驟2:將起始地址寫到Norflash的地址總線,將第一個(gè)數(shù)據(jù)寫到Norflash的數(shù)據(jù)總線,設(shè)置已寫數(shù)據(jù)個(gè)數(shù)為O; 步驟3:執(zhí)行Norflash寫操作邏輯,寫入數(shù)據(jù); 步驟4:將地址加I寫到Norflash的地址總線,同時(shí)將下一個(gè)數(shù)據(jù)寫到數(shù)據(jù)總線,將已寫入數(shù)據(jù)個(gè)數(shù)加I ; 步驟5:判斷已寫入數(shù)據(jù)個(gè)數(shù)是否等于解析出的寫入數(shù)據(jù)個(gè)數(shù),如果不是則表示還沒有寫完,需要重復(fù)步驟3到步驟4,如果是則表示已經(jīng)寫入完成; 如果是擦除操作,則執(zhí)行如下步驟: 步驟1:解析擦除初始地址和要擦除的扇區(qū)個(gè)數(shù); 步驟2:將初始地址寫到Norflash的地址總線; 步驟3:執(zhí)行Norflash的扇區(qū)擦除操作邏輯,擦除扇區(qū); 步驟4:將擦除的地址加上單個(gè)扇區(qū)的大小,得到下一個(gè)要擦除的扇區(qū)的起始地址;步驟5:根據(jù)解析到的扇區(qū)個(gè)數(shù),判斷目前擦除的是否是最后一個(gè)扇區(qū),如果不是則表示還有扇區(qū)未被擦除,需要重復(fù)步驟3到步驟4,如果是則表示所有扇區(qū)已經(jīng)被擦除完成。
【文檔編號】G06F9/445GK104133705SQ201410374815
【公開日】2014年11月5日 申請日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】謝朝文, 雷春華 申請人:武漢郵電科學(xué)研究院