- 相關(guān)推薦
嵌入式系統(tǒng)Flash編程技術(shù)研究論文
摘要:Flash存儲(chǔ)器具有應(yīng)用成本較低、存儲(chǔ)速度較快、支持重復(fù)擦寫功能,是目前很多嵌入式系統(tǒng)開發(fā)中不可缺少的重要內(nèi)容。Flash編程方法的應(yīng)用與系統(tǒng)開發(fā)進(jìn)度、成本息息相關(guān),因此,本研究主要以嵌入式系統(tǒng)為例,對(duì)Flash的編程方式進(jìn)行分析,并介紹了新型Flash模式,力求編程質(zhì)量與水平能夠得到顯著提升,使該技術(shù)在更多系統(tǒng)中得到廣泛應(yīng)用。
關(guān)鍵詞:嵌入式系統(tǒng);Flash編程;Flash存儲(chǔ)器
21世紀(jì)作為信息時(shí)代,網(wǎng)絡(luò)技術(shù)、智能產(chǎn)品層出不窮,滲透到社會(huì)生產(chǎn)與生活的方方面面。其中,嵌入式系統(tǒng)應(yīng)用范圍較廣、可靠性較高、應(yīng)用成本較低,在移動(dòng)通信、自動(dòng)化控制領(lǐng)域中得到普遍應(yīng)用。在系統(tǒng)開發(fā)過程中,為保障系統(tǒng)程序可以反復(fù)載入,對(duì)內(nèi)置存儲(chǔ)器的要求較高,而Flash具有成本低、存儲(chǔ)快、可重復(fù)擦寫特征,因此,成為嵌入式系統(tǒng)中不可缺少的重要部分。
1嵌入式系統(tǒng)的Flash編程方法
在現(xiàn)實(shí)應(yīng)用中,應(yīng)用頻率較高的Flash編程方法包括編輯器編程、普通接口編程與JTAG編程三種。
1.1編輯器編程
為實(shí)現(xiàn)Flash編程,專門開發(fā)和設(shè)計(jì)了編輯器,通過配套使用,便能將指令或數(shù)據(jù)寫入其中。該方式較老舊,對(duì)實(shí)施條件的要求也較嚴(yán)格,必須保障芯片在焊接到電路板之前進(jìn)行,等到編程結(jié)束以后再進(jìn)行焊接。目前,較常見的編輯器類型有LABTOOL-48、SUPERPRO/V等。編程器編程的主要優(yōu)勢(shì)在于使用較便利,且編程效率較理想,十分適宜DIP封裝的Flash芯片。
1.2普通接口編程
在實(shí)際應(yīng)用過程中,嵌入式系統(tǒng)為充分發(fā)揮作用,通常會(huì)在硬件設(shè)計(jì)中加入一些外圍接口,這些接口包括串口、USB、網(wǎng)絡(luò)接口等。而在Flash編程中,便可以借助這些接口、串口直接實(shí)現(xiàn)。接口編程的方式與JTAG編程相比,沒有對(duì)特殊接口進(jìn)行要求。
1.3JTAG編程
JTAG作為嵌入式調(diào)試技術(shù),其接口標(biāo)準(zhǔn)為IEEE1149.1,主要應(yīng)用于邊界掃描與端口測(cè)試中。同時(shí),采用JTAG接口不但能夠完成測(cè)試操作,還可以實(shí)現(xiàn)對(duì)嵌入式系統(tǒng)中的Flash編程。在實(shí)際應(yīng)用過程中,對(duì)JTAG進(jìn)行編程操作應(yīng)借助接口仿真器,將目標(biāo)機(jī)與宿主機(jī)聯(lián)系起來。在目標(biāo)機(jī)上,將處理器與Flash總線相互連接,再借助宿主機(jī)中的既定程序,將數(shù)據(jù)、指令與控制信號(hào)均傳送到JTAG接口芯片中。這時(shí),處理器中將會(huì)接收到JTAG傳遞過來的信息,并按照Flash芯片進(jìn)行編程,將接收到的信息寫入其中,完成最終編程操作。與編輯器編程、普通接口編程方式相比,JTAG編程技術(shù)更為簡(jiǎn)便,無需對(duì)芯片焊接流程進(jìn)行嚴(yán)格規(guī)定,只需借助JTAG借口線與仿真器便能完成測(cè)試,因此,嵌入式系統(tǒng)中Flash編程得到了廣泛應(yīng)用[1]。
2通過JTAG接口實(shí)施Flash編程的實(shí)例分析
在某項(xiàng)目開發(fā)設(shè)計(jì)過程中,采用JTAG接口完成Flash編程。在該設(shè)計(jì)過程中,JTAG的電纜與主機(jī)并口相互連接,另一側(cè)連接到電路板中的JTAG插座上,再與處理器PowerPC405EP相連,F(xiàn)lash需要經(jīng)過總線與處理器相連。在上述連接完畢以后,F(xiàn)lash無需具備JTAG接口,使用范圍也更加廣闊。在對(duì)Flash進(jìn)行編程的過程中,PowerPC405EP由主機(jī)軟件進(jìn)行控制,利用其模擬Flash的編程時(shí)序,便能對(duì)Flash進(jìn)行編程。
2.1硬件配置
第一,JTAG下載電纜設(shè)計(jì)。在JTAG接口標(biāo)準(zhǔn)的基礎(chǔ)上,對(duì)信號(hào)邏輯電平中傳輸要求、數(shù)據(jù)、傳輸方向等進(jìn)行綜合考慮,最終選擇采用并口標(biāo)準(zhǔn)與接口并行的模式,二者間關(guān)系如下:PC并口中管腳2的功能為D0;管腳3的功能為D1;管腳4的功能為D2;管腳5的功能為D3;在JTAG接口中,管腳TDI的功能為數(shù)據(jù)輸入;TCK的功能為時(shí)鐘;TMS的功能為模式選擇;TRST的功能為復(fù)位;TDO的功能為數(shù)據(jù)輸出。第二,嵌入式處理器PowPC405EP。在本系統(tǒng)設(shè)計(jì)中,采用的處理器為IBMPowPC405EP,屬于一款32位、RISC指令集處理器,其性能較為良好,集嵌入式軟核、外圍設(shè)備系統(tǒng)SOC于一體。通過數(shù)據(jù)手冊(cè)進(jìn)行描述,得知BSR的長(zhǎng)度與指令代碼等內(nèi)容,具體如下:指令Bypass,代碼1111111;指令Extest,代碼0000000;指令Sample,代碼1111010。第三,F(xiàn)lash。在本系統(tǒng)設(shè)計(jì)中,使用的Flash為富士通SPANSIONMBM29DL,工作電壓為3V,用戶在使用之前,需要將特定地址寫入到對(duì)應(yīng)的指令序列中,便可以將其啟動(dòng),使其在自動(dòng)化下完成指令,包括復(fù)位、自動(dòng)選擇、擦除、編程等[2]。
2.2軟件配置
編程算法可以劃分為兩個(gè)內(nèi)容,一是寫入編程命令序列,二是數(shù)據(jù)驗(yàn)證,本文只對(duì)前者進(jìn)行研究。寫入編程命令序列需要經(jīng)過四個(gè)周期完成,前兩個(gè)周期屬于解鎖周期,將AAh寫入到55h中,再將55h寫入到地址2AAh中,在第三個(gè)周期中,將A0h寫入到0555h中,在第四周期中對(duì)地址與數(shù)據(jù)進(jìn)行編程,F(xiàn)lash將自動(dòng)完成編程命令。在第一周期中,使用的Flash數(shù)據(jù)線為AAh,也就是與Flash相連接的PowerPC405EP中的AAh,這時(shí)PerData0位為“0”。從PowerPC405EP的描述中能夠看出,與之相對(duì)應(yīng)的BSC單元號(hào)為24,部分源程序?yàn)椋?definepinTDI1//輸出端口位地址UnsignedcharOutport_State=0xF5//保存并口輸出端口狀態(tài)的全局變量writePort(pinTMS,0x00);sclk();//進(jìn)入Run-Test-Idle狀態(tài);writePort(pinTMS,0x01);sclk();//進(jìn)入Select-IR-Scan狀態(tài);writePort(pinTMS,0x00);sclk();//進(jìn)入Shift-IR狀態(tài);writePort(pinTMS,0x01);sclk();//開始數(shù)據(jù)串行輸入,將“0”輸入到24號(hào)BSC中;writePort(pinTMS,0x01);sclk();//進(jìn)入U(xiǎn)pdate-DR狀態(tài),在TCK的下降沿,對(duì)24號(hào)BSC中的“0”進(jìn)行驅(qū)動(dòng),使其傳輸?shù)絇erData當(dāng)中,同時(shí)//flash也為“0”。
3新型的Flash編程模式分析
在實(shí)際應(yīng)用過程中,由于Flash芯片在很多場(chǎng)景中均可使用,因此,命令集往往不盡相同,對(duì)此通常將整個(gè)編程模式劃分為四個(gè)部分:最下層為硬件適配層,能夠?yàn)樯蠈犹峁┳x與寫等基本功能,能夠有效解決軟件程序與硬件總線協(xié)調(diào)問題。第二層屬于Flash適配層,主要作用是為上層提供Flash支持命令集,并通過公共接口發(fā)出響應(yīng)。該層能夠良好解決與Flash相關(guān)功能的指令時(shí)序與支持作用問題,且還應(yīng)實(shí)現(xiàn)對(duì)各類事件與模式的轉(zhuǎn)移。第三層為功能適配層,具有數(shù)據(jù)或指令讀寫作用,能夠?qū)lash命令集進(jìn)行封裝操作,還可與上層之間相互聯(lián)系。最上層便是適配層,與用戶端相互連接,為用戶提供高級(jí)交互接口。此種分層方式能夠?yàn)榫幊滩僮魈峁O大便利,通過多層結(jié)構(gòu)使高層與底層應(yīng)用相互隔離,極大提高了程序開發(fā)質(zhì)量,也為用戶帶來了更多功能與豐富的體驗(yàn)[3]。
4結(jié)語
本研究對(duì)Flash編程方式進(jìn)行分析,借助嵌入式系統(tǒng)對(duì)Flash進(jìn)行編程,編程速度較快、操作簡(jiǎn)單、復(fù)用率良好,充分符合嵌入式系統(tǒng)的發(fā)展趨勢(shì),同時(shí)也使系統(tǒng)開發(fā)投入成本降低,系統(tǒng)價(jià)值得到顯著提高。另外,本文還介紹了一種新型的Flash編程方式,希望能夠使其在系統(tǒng)開發(fā)中獲得更廣闊的發(fā)展空間。
參考文獻(xiàn)
[1]高輝輝.基于PC-MBI模塊的Flash編程技術(shù)研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,15(9):7-10.
[2]吳延軍.基于FLASH芯片的加密存儲(chǔ)技術(shù)研究[D].廣州:暨南大學(xué),2016.
[3]康向艷.嵌入式路由器中基于NANDFlash啟動(dòng)技術(shù)研究[D].西安:西安電子科技大學(xué),2014.
【嵌入式系統(tǒng)Flash編程技術(shù)研究論文】相關(guān)文章:
嵌入式系統(tǒng)內(nèi)存的管理方案研究06-02
慣有嵌入式系統(tǒng)內(nèi)存管理方案研究06-02
對(duì)高職中開展嵌入式教學(xué)的探索論文07-27
嵌入式系統(tǒng)年度實(shí)習(xí)報(bào)告范文06-16
Flash游戲設(shè)計(jì)教學(xué)中項(xiàng)目教學(xué)法的運(yùn)用論文07-12
系統(tǒng)類畢業(yè)論文03-10
控制系統(tǒng)論文12-07