網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 實用範文 > 論文

嵌入式系統Flash程式設計技術研究論文

欄目: 論文 / 釋出於: / 人氣:2.85W

摘要:Flash儲存器具有應用成本較低、儲存速度較快、支援重複擦寫功能,是目前很多嵌入式系統開發中不可缺少的重要內容。Flash程式設計方法的應用與系統開發進度、成本息息相關,因此,本研究主要以嵌入式系統為例,對Flash的程式設計方式進行分析,並介紹了新型Flash模式,力求程式設計質量與水平能夠得到顯著提升,使該技術在更多系統中得到廣泛應用。

嵌入式系統Flash程式設計技術研究論文

關鍵詞:嵌入式系統;Flash程式設計;Flash儲存器

21世紀作為資訊時代,網路技術、智慧產品層出不窮,滲透到社會生產與生活的方方面面。其中,嵌入式系統應用範圍較廣、可靠性較高、應用成本較低,在行動通訊、自動化控制領域中得到普遍應用。在系統開發過程中,為保障系統程式可以反覆載入,對內建儲存器的要求較高,而Flash具有成本低、儲存快、可重複擦寫特徵,因此,成為嵌入式系統中不可缺少的重要部分。

1嵌入式系統的Flash程式設計方法

在現實應用中,應用頻率較高的Flash程式設計方法包括編輯器程式設計、普通介面程式設計與JTAG程式設計三種。

1.1編輯器程式設計

為實現Flash程式設計,專門開發和設計了編輯器,通過配套使用,便能將指令或資料寫入其中。該方式較老舊,對實施條件的要求也較嚴格,必須保障晶片在焊接到電路板之前進行,等到程式設計結束以後再進行焊接。目前,較常見的編輯器型別有LABTOOL-48、SUPERPRO/V等。程式設計器程式設計的主要優勢在於使用較便利,且程式設計效率較理想,十分適宜DIP封裝的Flash晶片。

1.2普通介面程式設計

在實際應用過程中,嵌入式系統為充分發揮作用,通常會在硬體設計中加入一些外圍介面,這些介面包括串列埠、USB、網路介面等。而在Flash程式設計中,便可以藉助這些介面、串列埠直接實現。介面程式設計的方式與JTAG程式設計相比,沒有對特殊介面進行要求。

1.3JTAG程式設計

JTAG作為嵌入式除錯技術,其介面標準為IEEE1149.1,主要應用於邊界掃描與埠測試中。同時,採用JTAG介面不但能夠完成測試操作,還可以實現對嵌入式系統中的`Flash程式設計。在實際應用過程中,對JTAG進行程式設計操作應藉助介面模擬器,將目標機與宿主機聯絡起來。在目標機上,將處理器與Flash匯流排相互連線,再借助宿主機中的既定程式,將資料、指令與控制訊號均傳送到JTAG介面晶片中。這時,處理器中將會接收到JTAG傳遞過來的資訊,並按照Flash晶片進行程式設計,將接收到的資訊寫入其中,完成最終程式設計操作。與編輯器程式設計、普通介面程式設計方式相比,JTAG程式設計技術更為簡便,無需對晶片焊接流程進行嚴格規定,只需藉助JTAG藉口線與模擬器便能完成測試,因此,嵌入式系統中Flash程式設計得到了廣泛應用[1]。

2通過JTAG介面實施Flash程式設計的例項分析

在某專案開發設計過程中,採用JTAG介面完成Flash程式設計。在該設計過程中,JTAG的電纜與主機並口相互連線,另一側連線到電路板中的JTAG插座上,再與處理器PowerPC405EP相連,Flash需要經過匯流排與處理器相連。在上述連線完畢以後,Flash無需具備JTAG介面,使用範圍也更加廣闊。在對Flash進行程式設計的過程中,PowerPC405EP由主機軟體進行控制,利用其模擬Flash的程式設計時序,便能對Flash進行程式設計。

2.1硬體配置

第一,JTAG下載電纜設計。在JTAG介面標準的基礎上,對訊號邏輯電平中傳輸要求、資料、傳輸方向等進行綜合考慮,最終選擇採用並口標準與介面並行的模式,二者間關係如下:PC並口中管腳2的功能為D0;管腳3的功能為D1;管腳4的功能為D2;管腳5的功能為D3;在JTAG介面中,管腳TDI的功能為資料輸入;TCK的功能為時鐘;TMS的功能為模式選擇;TRST的功能為復位;TDO的功能為資料輸出。第二,嵌入式處理器PowPC405EP。在本系統設計中,採用的處理器為IBMPowPC405EP,屬於一款32位、RISC指令集處理器,其效能較為良好,集嵌入式軟核、外圍裝置系統SOC於一體。通過資料手冊進行描述,得知BSR的長度與指令程式碼等內容,具體如下:指令Bypass,程式碼1111111;指令Extest,程式碼0000000;指令Sample,程式碼1111010。第三,Flash。在本系統設計中,使用的Flash為富士通SPANSIONMBM29DL,工作電壓為3V,使用者在使用之前,需要將特定地址寫入到對應的指令序列中,便可以將其啟動,使其在自動化下完成指令,包括復位、自動選擇、擦除、程式設計等[2]。

2.2軟體配置

程式設計演算法可以劃分為兩個內容,一是寫入程式設計命令序列,二是資料驗證,本文只對前者進行研究。寫入程式設計命令序列需要經過四個週期完成,前兩個週期屬於解鎖週期,將AAh寫入到55h中,再將55h寫入到地址2AAh中,在第三個週期中,將A0h寫入到0555h中,在第四周期中對地址與資料進行程式設計,Flash將自動完成程式設計命令。在第一週期中,使用的Flash資料線為AAh,也就是與Flash相連線的PowerPC405EP中的AAh,這時PerData0位為“0”。從PowerPC405EP的描述中能夠看出,與之相對應的BSC單元號為24,部分源程式為:#definepinTDI1//輸出埠位地址UnsignedcharOutport_State=0xF5//儲存並口輸出埠狀態的全域性變數writePort(pinTMS,0x00);sclk();//進入Run-Test-Idle狀態;writePort(pinTMS,0x01);sclk();//進入Select-IR-Scan狀態;writePort(pinTMS,0x00);sclk();//進入Shift-IR狀態;writePort(pinTMS,0x01);sclk();//開始資料序列輸入,將“0”輸入到24號BSC中;writePort(pinTMS,0x01);sclk();//進入Update-DR狀態,在TCK的下降沿,對24號BSC中的“0”進行驅動,使其傳輸到PerData當中,同時//flash也為“0”。

3新型的Flash程式設計模式分析

在實際應用過程中,由於Flash晶片在很多場景中均可使用,因此,命令集往往不盡相同,對此通常將整個程式設計模式劃分為四個部分:最下層為硬體適配層,能夠為上層提供讀與寫等基本功能,能夠有效解決軟體程式與硬體匯流排協調問題。第二層屬於Flash適配層,主要作用是為上層提供Flash支援命令集,並通過公共介面發出響應。該層能夠良好解決與Flash相關功能的指令時序與支援作用問題,且還應實現對各類事件與模式的轉移。第三層為功能適配層,具有資料或指令讀寫作用,能夠對Flash命令集進行封裝操作,還可與上層之間相互聯絡。最上層便是適配層,與使用者端相互連線,為使用者提供高階互動介面。此種分層方式能夠為程式設計操作提供極大便利,通過多層結構使高層與底層應用相互隔離,極大提高了程式開發質量,也為使用者帶來了更多功能與豐富的體驗[3]。

4結語

本研究對Flash程式設計方式進行分析,藉助嵌入式系統對Flash進行程式設計,程式設計速度較快、操作簡單、複用率良好,充分符合嵌入式系統的發展趨勢,同時也使系統開發投入成本降低,系統價值得到顯著提高。另外,本文還介紹了一種新型的Flash程式設計方式,希望能夠使其在系統開發中獲得更廣闊的發展空間。

參考文獻

[1]高輝輝.基於PC-MBI模組的Flash程式設計技術研究[J].微控制器與嵌入式系統應用,2015,15(9):7-10.

[2]吳延軍.基於FLASH晶片的加密儲存技術研究[D].廣州:暨南大學,2016.

[3]康向豔.嵌入式路由器中基於NANDFlash啟動技術研究[D].西安:西安電子科技大學,2014.