新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于TrueFFS的鐵路牽引自動化系統應用

        基于TrueFFS的鐵路牽引自動化系統應用

        作者: 時間:2013-10-21 來源:網絡 收藏

        基于TrueFFS的鐵路牽引自動化系統應用
        為了在兩片Flash上實現2個文件分區,可以采用以下方式:在sysTffs.c中定義新的MTD類型,并根據實際需要定義2片Flash(即兩個分區)的起始地址和長度,并根據上述定義完成設備基址和窗口尺寸的設置;在sysTffsInit()函數中進行2次rfaRegister()操作以完成2個分區的注冊;在rfaRegister()中根據注冊的設備個數設置本設備的設備號。在MTD層接口函數中一般都有一個Flash驅動設備的參數,可以根據該參數來獲取2個TrueFFS設備的設備號,然后分別指向對應的Flash地址范圍進行相應的操作。

        MTD驅動設計完成后,可以根據VxWorks提供的方式完成TrueFFS的加載。在應用程序中可以通過組件配置界面進行加載配置,而在bootrom中則需要手動修改相應的配置文件。

        由于系統的啟動需要從boottom開始,其編譯的結果文件必須以二進制方式固化到程序Flash的起始位置,因此每片Flash起始的256 KB空間都預留出來,不參與TrueFFS系統的管理。這樣,Flash上文件的操作與bootrom啟動代碼的保存不存在沖突。

        3 bootrom的改進

        在VxWorks中,修改好的bootrom一般通過硬件調試工具固化到代碼Flash中,bootrom啟動后通過TFTP方式實現編譯好的調試用VxWorks映像文件的下載過程,并完成該映像文件的啟動。這樣就可以實現基于串口或網絡的應用程序調試,使用更加方便靈活。

        為了滿足系統的要求,bootrom還需要增加如下功能:支持2個Flash分區的TrueFFS加載;支持FTP功能;支持從TrueFFS加載及啟動應用程序,以及從TFTP網絡方式加載及啟動調試態VxWorks映像文件兩種方式,以保證系統即使在現場運行過程中,一旦發現問題,也能夠方便地進行仿真調試;支持Flash的格式化及True-FFS的初始化功能,一旦文件系統異常后,可以通過該功能進行TrueFFS的徹底重構。由于boottom的主要工作在bootconfig.c文件中實現,因此上述改進工作也主要在該文件中進行。

        還需要完成以下工作:在對應配置文件中加入IN-CLUDE_TFFS和INCLUDE_FTP_SERVER的定義,從而實現系統對TrueFFS和FTP功能的加載;對bootloader函數進行修改,使其不支持基于TrueFFS的應用程序啟動,當需要調試時通過網絡方式加載和啟動;增加一個類似于bootloader的功能函數,可以以此函數為模版進行修改,完成TrueFFS功能的初始化和加載過程,以及基本網絡功能和FTP功能的加載,同時在程序Flash文件分區中存在應用程序文件的前提下,實現該應用程序的加載和啟動功能;增加2片Flash的格式化和TrueFFS的初始化功能函數。

        對bootCmdLoop任務執行流程進行調整,改進后的流程如圖4所示。
        基于TrueFFS的鐵路牽引自動化系統應用
        在bootCmdLoop進入超級終端界面循環操作過程后,可以通過相關命令完成基于網絡方式的調試態VxWorks映像文件的加載和啟動,也可以根據實際需要增加Flash格式化、自動進入超級終端界面標志命令設置、軟件復位等功能。經過上述改進,可以實現bootrom上運行態應用程序及調試態VxWorks映像文件的靈活加載和啟動,不僅避免了現場運行系統為進行調試而重新寫入bootrom的問題,而且方便應用程序的動態更新。

        4 應用程序的動態更新

        為了便于產品的維護和升級,本系統需要支持基于FTP的應用程序動態更新,而VxWorks提供了各種類型應用程序的加載啟動方式。由于應用程序最終在動態RAM中執行,因此在TrueFFS和FTP功能具備的前提下,實現應用程序的動態更新非常方便。

        經過改造后,bootrom和最終應用程序中都實現了TrueFFS和FTP功能,因此在bootrom和最終應用程序執行時都可以完成應用程序加載。另外,由于具備了bootrom中更新應用程序的功能,即使由于應用程序異常導致無法運行,復位后重新進入bootrom仍然可以進行新程序的更新,從而增強了系統的健壯性。

        需要注意的是,通過TrueFFS方式加載啟動的最終應用程序也是default類型的,而不是rom類型的。如果下載到文件系統中的應用程序是rom類型,則會導致bootrom無法成功加載該文件,因為其實現方式與仿真調試過程基本類似。

        結 語

        經過測試,采用上述實現方案后,系統運行穩定。通過FTP工具,可以靈活地對2片Flash上文件分區中的文件進行讀寫操作,2 MB左右的應用程序文件可在30 s內下載到Flash中。整個系統的啟動過程穩定可靠,對于2 MB左右的應用程序,從裝置上電到bootrom啟動,再到應用程序正常開始運行,基本可在十幾秒內完成。本方案對于基于VxWorks系統的嵌入式產品有一定的借鑒意義。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 同江市| 凤冈县| 那曲县| 邯郸县| 米林县| 酉阳| 屯门区| 广西| 宁化县| 察隅县| 扶余县| 湖南省| 忻城县| 全椒县| 望谟县| 安顺市| 萨嘎县| 晋中市| 灌南县| 富裕县| 如东县| 苏尼特左旗| 余干县| 保康县| 桦南县| 乌拉特前旗| 朝阳县| 景洪市| 桂东县| 睢宁县| 石柱| 武夷山市| 富锦市| 津南区| 邵东县| 合水县| 汝阳县| 黄陵县| 宜兰市| 方城县| 大新县|