![TrueFFS上VxWorks 應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子_第1頁(yè)](http://file4.renrendoc.com/view/566ea4d74bec4070bdcbcab33945f4f5/566ea4d74bec4070bdcbcab33945f4f51.gif)
![TrueFFS上VxWorks 應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子_第2頁(yè)](http://file4.renrendoc.com/view/566ea4d74bec4070bdcbcab33945f4f5/566ea4d74bec4070bdcbcab33945f4f52.gif)
![TrueFFS上VxWorks 應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子_第3頁(yè)](http://file4.renrendoc.com/view/566ea4d74bec4070bdcbcab33945f4f5/566ea4d74bec4070bdcbcab33945f4f53.gif)
![TrueFFS上VxWorks 應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子_第4頁(yè)](http://file4.renrendoc.com/view/566ea4d74bec4070bdcbcab33945f4f5/566ea4d74bec4070bdcbcab33945f4f54.gif)
![TrueFFS上VxWorks 應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子_第5頁(yè)](http://file4.renrendoc.com/view/566ea4d74bec4070bdcbcab33945f4f5/566ea4d74bec4070bdcbcab33945f4f55.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯TrueFFS上VxWorks應(yīng)用程序的啟動(dòng)及動(dòng)態(tài)更新-基礎(chǔ)電子引言
在嵌入式產(chǎn)品中,一般使用Flash作為應(yīng)用程序代碼及各種數(shù)據(jù)和參數(shù)的存儲(chǔ)介質(zhì)。尤其是NORFlash具有操作接口簡(jiǎn)單、傳輸效率高、芯片內(nèi)執(zhí)行(eXecuteInPlace,XIP)的特點(diǎn),在電力、鐵路等工業(yè)控制領(lǐng)域得到了廣泛應(yīng)用。
為了便于用戶(hù)的使用,VxWorks操作系統(tǒng)提供了基于Flash的文件系統(tǒng),即TrueFFS。TrueFFS與DosFS文件系統(tǒng)基本兼容,通過(guò)VxWorks提供的操作接口以文件的方式實(shí)現(xiàn)對(duì)Flash的操作。而對(duì)于用戶(hù)來(lái)說(shuō),如何在自己的硬件系統(tǒng)上根據(jù)Flash的具體型號(hào)和使用要求實(shí)現(xiàn)TrueFFS系統(tǒng),并在此基礎(chǔ)上完成應(yīng)用程序代碼的靈活啟動(dòng)、更新,同時(shí)兼顧仿真調(diào)試的需求,則非常重要。
1系統(tǒng)基本功能
本系統(tǒng)應(yīng)用于鐵路牽引自動(dòng)化系統(tǒng)中,實(shí)現(xiàn)在電氣化鐵路供電系統(tǒng)中對(duì)相關(guān)電力設(shè)備的保護(hù)、測(cè)量和控制功能。系統(tǒng)基本功能框圖如圖1所示。CPU選用Freescale公司的ColdFire系列32位微控制器MCF5234。該處理器內(nèi)部集成了UART、SPI、I2C、ETPU、CAN、以太網(wǎng)等豐富的功能模塊,系統(tǒng)主頻可達(dá)150MHz,主要用于工業(yè)控制、智能家電等方面(尤其是電力自動(dòng)化控制領(lǐng)域)。系統(tǒng)通過(guò)2路以太網(wǎng)接口實(shí)現(xiàn)與當(dāng)?shù)鼗蜻h(yuǎn)方設(shè)備的通信,維護(hù)串口用來(lái)實(shí)現(xiàn)對(duì)本設(shè)備的維護(hù),采用2片16位接口的NORFlash實(shí)現(xiàn)應(yīng)用程序和有關(guān)參數(shù)及數(shù)據(jù)的存儲(chǔ)。系統(tǒng)提供模擬量輸入、數(shù)字量輸入、數(shù)字量輸出等接口。有關(guān)的模擬量及開(kāi)關(guān)量狀態(tài)信息經(jīng)過(guò)對(duì)應(yīng)接口采集到系統(tǒng)內(nèi)部,經(jīng)過(guò)保護(hù)算法軟件的處理后,再通過(guò)數(shù)字量輸出接口完成對(duì)有關(guān)設(shè)備的控制操作。
在傳統(tǒng)嵌入式系統(tǒng)中,編譯好的運(yùn)行態(tài)應(yīng)用程序一般通過(guò)硬件調(diào)試工具(如BDM調(diào)試器)直接固化到程序Flash的指定位置,裝置上電或復(fù)位后,CPU直接跳轉(zhuǎn)到Flash的起始位置,從Flash中取指并開(kāi)始執(zhí)行。但是在VxWorks中,采用該方式不方便軟件的仿真調(diào)試,需要重新固化bootrom才行。另外,由于系統(tǒng)要求保存較多的參數(shù)和數(shù)據(jù),需要在2片F(xiàn)lash中都實(shí)現(xiàn)TrueFFS系統(tǒng);并且為了滿(mǎn)足動(dòng)態(tài)更新程序的要求,還需要實(shí)現(xiàn)FTP的功能。因此,需要實(shí)現(xiàn)如下功能:在2片F(xiàn)lash上實(shí)現(xiàn)True-FFS;在bootrom和應(yīng)用VxWorks程序上實(shí)現(xiàn)TrueFFS和FTP的加載;對(duì)bootrom進(jìn)行改造,以實(shí)現(xiàn)應(yīng)用VxWorks程序和調(diào)試VxWorks程序分別通過(guò)TrueFFS和TFTP的方式啟動(dòng)。
2TrueFFS的實(shí)現(xiàn)及加載
2.1TrueFFS的層次結(jié)構(gòu)
如圖2所示,VxWorks中TrueFFS的層次結(jié)構(gòu)包括內(nèi)核層、翻譯層、socket層、MTD層。由于VxWorks對(duì)TrueFFS進(jìn)行了的層次劃分和封裝,用戶(hù)一般不需要對(duì)上述基本層次代碼進(jìn)行修改。MTD層實(shí)現(xiàn)了對(duì)常用幾種類(lèi)型Flash的讀、寫(xiě)、擦除等基本控制。如果用戶(hù)選用了支持的類(lèi)型,則基本不需要編寫(xiě)代碼;而如果用戶(hù)選用了特殊類(lèi)型的Flash,則可以參考用例代碼完成對(duì)應(yīng)MTD層代碼的編寫(xiě)。
2.2MTD層代碼實(shí)現(xiàn)
由于本系統(tǒng)中選用的2片F(xiàn)lash為Spansion公司的S29AL032D,因此需要編寫(xiě)對(duì)應(yīng)的驅(qū)動(dòng)代碼。對(duì)于MTD層,一般向上提供MTD識(shí)別、Flash連續(xù)扇區(qū)擦除、Flash連續(xù)數(shù)據(jù)寫(xiě)等主要接口函數(shù),可以不提供單獨(dú)的鏡像函數(shù),系統(tǒng)會(huì)使用內(nèi)部缺省的鏡像函數(shù)。需要在2片F(xiàn)lash上實(shí)現(xiàn)TrueFFS,即每片F(xiàn)lash相當(dāng)于一個(gè)分區(qū),這一點(diǎn)在編寫(xiě)驅(qū)動(dòng)程序時(shí)需要重點(diǎn)考慮。在MTD層驅(qū)動(dòng)程序中,F(xiàn)lash的單個(gè)字節(jié)(或字)寫(xiě)入接口函數(shù)為重點(diǎn),不同F(xiàn)lash類(lèi)型以及不同的端口寬度都會(huì)導(dǎo)致該函數(shù)的實(shí)現(xiàn)不同。其寫(xiě)操作流程如圖3所示。
為了在兩片F(xiàn)lash上實(shí)現(xiàn)2個(gè)文件分區(qū),可以采用以下方式:在sysTffs.c中定義新的MTD類(lèi)型,并根據(jù)實(shí)際需要定義2片F(xiàn)lash(即兩個(gè)分區(qū))的起始地址和長(zhǎng)度,并根據(jù)上述定義完成TrueFFS設(shè)備基址和窗口尺寸的設(shè)置;在sysTffsInit()函數(shù)中進(jìn)行2次rfaRegister()操作以完成2個(gè)分區(qū)的注冊(cè);在rfaRegister()中根據(jù)注冊(cè)的TrueFFS設(shè)備個(gè)數(shù)設(shè)置本TrueFFS設(shè)備的設(shè)備號(hào)。在MTD層接口函數(shù)中一般都有一個(gè)Flash驅(qū)動(dòng)設(shè)備的參數(shù),可以根據(jù)該參數(shù)來(lái)獲取2個(gè)TrueFFS設(shè)備的設(shè)備號(hào),然后分別指向?qū)?yīng)的Flash地址范圍進(jìn)行相應(yīng)的操作。
MTD驅(qū)動(dòng)設(shè)計(jì)完成后,可以根據(jù)VxWorks提供的方式完成TrueFFS的加載。在應(yīng)用程序中可以通過(guò)組件配置界面進(jìn)行加載配置,而在bootrom中則需要手動(dòng)修改相應(yīng)的配置文件。
由于系統(tǒng)的啟動(dòng)需要從boottom開(kāi)始,其編譯的結(jié)果文件必須以二進(jìn)制方式固化到程序Flash的起始位置,因此每片F(xiàn)lash起始的256KB空間都預(yù)留出來(lái),不參與TrueFFS系統(tǒng)的管理。這樣,F(xiàn)lash上文件的操作與bootrom啟動(dòng)代碼的保存不存在沖突。
3bootrom的改進(jìn)
在VxWorks中,修改好的bootrom一般通過(guò)硬件調(diào)試工具固化到代碼Flash中,bootrom啟動(dòng)后通過(guò)TFTP方式實(shí)現(xiàn)編譯好的調(diào)試用VxWorks映像文件的過(guò)程,并完成該映像文件的啟動(dòng)。這樣就可以實(shí)現(xiàn)基于串口或網(wǎng)絡(luò)的應(yīng)用程序調(diào)試,使用更加方便靈活。
為了滿(mǎn)足系統(tǒng)的要求,bootrom還需要增加如下功能:支持2個(gè)Flash分區(qū)的TrueFFS加載;支持FTP功能;支持從TrueFFS加載及啟動(dòng)應(yīng)用程序,以及從TFTP網(wǎng)絡(luò)方式加載及啟動(dòng)調(diào)試態(tài)VxWorks映像文件兩種方式,以保證系統(tǒng)即使在現(xiàn)場(chǎng)運(yùn)行過(guò)程中,一旦發(fā)現(xiàn)問(wèn)題,也能夠方便地進(jìn)行仿真調(diào)試;支持Flash的格式化及True-FFS的初始化功能,一旦文件系統(tǒng)異常后,可以通過(guò)該功能進(jìn)行TrueFFS的徹底重構(gòu)。由于boottom的主要工作在bootconfig.c文件中實(shí)現(xiàn),因此上述改進(jìn)工作也主要在該文件中進(jìn)行。
還需要完成以下工作:在對(duì)應(yīng)配置文件中加入IN-CLUDE_TFFS和INCLUDE_FTP_SERVER的定義,從而實(shí)現(xiàn)系統(tǒng)對(duì)TrueFFS和FTP功能的加載;對(duì)bootloader函數(shù)進(jìn)行修改,使其不支持基于TrueFFS的應(yīng)用程序啟動(dòng),當(dāng)需要調(diào)試時(shí)通過(guò)網(wǎng)絡(luò)方式加載和啟動(dòng);增加一個(gè)類(lèi)似于bootloader的功能函數(shù),可以以此函數(shù)為模版進(jìn)行修改,完成TrueFFS功能的初始化和加載過(guò)程,以及基本網(wǎng)絡(luò)功能和FTP功能的加載,同時(shí)在程序Flash文件分區(qū)中存在應(yīng)用程序文件的前提下,實(shí)現(xiàn)該應(yīng)用程序的加載和啟動(dòng)功能;增加2片F(xiàn)lash的格式化和TrueFFS的初始化功能函數(shù)。
對(duì)bootCmdLoop任務(wù)執(zhí)行流程進(jìn)行調(diào)整,改進(jìn)后的流程如圖4所示。
在bootCmdLoop進(jìn)入超級(jí)終端界面循環(huán)操作過(guò)程后,可以通過(guò)相關(guān)命令完成基于網(wǎng)絡(luò)方式的調(diào)試態(tài)VxWorks映像文件的加載和啟動(dòng),也可以根據(jù)實(shí)際需要增加Flash格式化、自動(dòng)進(jìn)入超級(jí)終端界面標(biāo)志命令設(shè)置、軟件復(fù)位等功能。經(jīng)過(guò)上述改進(jìn),可以實(shí)現(xiàn)bootrom上運(yùn)行態(tài)應(yīng)用程序及調(diào)試態(tài)VxWorks映像文件的靈活加載和啟動(dòng),不僅避免了現(xiàn)場(chǎng)運(yùn)行系統(tǒng)為進(jìn)行調(diào)試而重新寫(xiě)入bootrom的問(wèn)題,而且方便應(yīng)用程序的動(dòng)態(tài)更新。
4應(yīng)用程序的動(dòng)態(tài)更新
為了便于產(chǎn)品的維護(hù)和升級(jí),本系統(tǒng)需要支持基于FTP的應(yīng)用程序動(dòng)態(tài)更新,而VxWorks提供了各種類(lèi)型應(yīng)用程序的加載啟動(dòng)方式。由于應(yīng)用程序終在動(dòng)態(tài)RAM中執(zhí)行,因此在TrueFFS和FTP功能具備的前提下,實(shí)現(xiàn)應(yīng)用程序的動(dòng)態(tài)更新非常方便。
經(jīng)過(guò)改造后,bootrom和終應(yīng)用程序中都實(shí)現(xiàn)了TrueFFS和FTP功能,因此在bootrom和終應(yīng)用程序執(zhí)行時(shí)都可以完成應(yīng)用程序加載。另外,由于具備了bootrom中更新應(yīng)用程序的功能,即使由于應(yīng)用程序異常導(dǎo)致無(wú)法運(yùn)行,復(fù)位后重新進(jìn)入bootrom仍然可以進(jìn)行新程序的更新,從而增強(qiáng)了系統(tǒng)的健壯性。
需要注意的是,通過(guò)TrueFFS方式加載啟動(dòng)的終應(yīng)用程序也是default類(lèi)型的,而不是rom類(lèi)型的。如果到文件系統(tǒng)中的應(yīng)用程序是rom類(lèi)型,則會(huì)導(dǎo)致bootrom無(wú)法成功加載該文件,因?yàn)槠鋵?shí)現(xiàn)方式與仿真調(diào)試過(guò)程基本類(lèi)似。
結(jié)語(yǔ)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學(xué)八年級(jí)下冊(cè)《9.5 三角形的中位線(xiàn)》聽(tīng)評(píng)課記錄
- 青島版數(shù)學(xué)八年級(jí)上冊(cè)2.6《等腰三角形》聽(tīng)評(píng)課記錄2
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)1.4《分式的加法和減法》聽(tīng)評(píng)課記錄6
- 2025年金屬冶煉加工合作協(xié)議書(shū)
- 小學(xué)二年級(jí)數(shù)學(xué)口算訓(xùn)練題
- 幼兒籃球周末培訓(xùn)班合作協(xié)議書(shū)范本
- 外貿(mào)公司用工勞動(dòng)合同范本
- 租賃安全協(xié)議書(shū)范本
- 二零二五年度智慧城市軟件外包合作協(xié)議
- 2025年度雞蛋電商平臺(tái)合作協(xié)議模板帶數(shù)據(jù)共享與平臺(tái)運(yùn)營(yíng)
- 我的消防文員職業(yè)規(guī)劃
- 人教PEP版2025年春季小學(xué)英語(yǔ)三年級(jí)下冊(cè)教學(xué)計(jì)劃
- 2025年公司品質(zhì)部部門(mén)工作計(jì)劃
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(xiàn)(道)數(shù)字化施工組”賽項(xiàng)考試題庫(kù)
- 華為研發(fā)部門(mén)績(jī)效考核制度及方案
- CSC資助出國(guó)博士聯(lián)合培養(yǎng)研修計(jì)劃英文-research-plan
- 《環(huán)境管理學(xué)》教案
- 2025年蛇年年度營(yíng)銷(xiāo)日歷營(yíng)銷(xiāo)建議【2025營(yíng)銷(xiāo)日歷】
- (一模)寧波市2024學(xué)年第一學(xué)期高考模擬考試 數(shù)學(xué)試卷(含答案)
- 攝影入門(mén)課程-攝影基礎(chǔ)與技巧全面解析
- 冀少版小學(xué)二年級(jí)下冊(cè)音樂(lè)教案
評(píng)論
0/150
提交評(píng)論