新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用ROM監控器的調試技巧分析

        采用ROM監控器的調試技巧分析

        作者: 時間:2012-06-01 來源:網絡 收藏

        重建RedBoot映像的第一步是建立主機開發環境,建立RedBoot映像的工具要能運行在Windows或Linux主機平臺上。主機開發工具包括GNU二進制應用程序(常稱為binutils)、C/C++編譯器和調試器。在目標處理器架構和主機操作系統平臺上建立GNU開發工具和主機開發環境的詳細步驟請參閱http://sources.redhat.com/ecos/getstart.html。

        安裝完GNU工具后,接著就是確定配置工具,用戶可以采用圖形化配置工具或命令行工具配置建立RedBoot映像。本文重點講述圖形化配置工具。

        配置工具允許進行源代碼級設置,從而確保RedBoot映像是專為各個用戶應用而開發的,整個源代碼知識庫和配置工具用元件定義語言 (CDL)描述庫中的元件及建立軟件映像規則。配置工具利用先前設立的GNU工具建立適合特定處理器結構的RedBoot映像,有關配置工具的更多信息可以從網上得到,也可以從幫助菜單中獲得。

        下面的例子使用的是configtool-2.08-setup.exe,它是目前最新版配置工具,在安裝之前最好閱讀一下 readme.txt文件,一起下載的changes.txt文件則列出了不同版本的變動情況。接下來就是下載RedBoot源代碼,RedBoot源代碼包含在匿名CVS庫中,可以用免費的客戶軟件訪問。讀者可從http://sources.redhat.com/ecos/anoncvs.html 獲得更詳細信息。

        連上庫以后,最好將包括eCos文件在內的所有源代碼都下載,因為RedBoot會使用設備驅動器之類的eCos源文件。在確定建立自己RedBoot映像所需所有文件后,可以刪掉其它不必要文件。RedBoot軟件結構主要軟件模塊方框圖如圖3所示。圖3:RedBoot軟件結構主要模塊框圖。

        RedBoot軟件結構采用分層方法,這樣可以裝入新的功能和軟件組件,RedBoot的基礎是eCos硬件抽象層(HAL)和設備驅動器。

        讓我們看一下RedBoot的源代碼目錄結構。從匿名CVS庫中下載的源代碼文件都放在packages子目錄下,這個主目錄下面是 redboot子目錄,里面存放全部RedBoot文件。由于所有文件都是從匿名CVS庫下載的,因此都位于current子目錄下。在redboot子目錄下有個名為ChangeLog的文件,它記錄了RedBoot源文件的所有修改情況。

        配置工具能夠非常方便地用圖形化方式配置RedBoot映像建立所必需的組件,通過選中或不選中某個特定組件選擇框,可以激活或去除相應的配置選項,設置值可在窗口右邊的方格中加入。

        創建新RedBoot配置有兩種方法。第一種方法是在配置工具的Build菜單下選擇模板,這時會彈出模板對話框,然后從中選擇硬件平臺和模板數據包,這里我們的模板數據包選擇redboot。這種方法為建立默認配置RedBoot映像提供了一個基本方式,選擇菜單 Build->Packages,在彈出的Packages對話框中可以添加或刪除其它數據包。

        第二種創建RedBoot新配置的方法是導入eCos最小配置文件(.ecm)。RedBoot支持的每個硬件平臺都包含這樣的最小配置文件,這些配置文件一般位于硬件抽象層目錄hal下對應于每個結構的misc子目錄中。

        最小配置文件包含特定硬件平臺基本配置信息,將.ecm文件作為出發點,我們就有了作為基礎的硬件平臺工作配置文件,可改變配置選項支持RedBoot映像所需要的任何修改。圖4:一個eCos最小配置文件實例。

        最小配置文件同樣使用CDL。圖4是一個eCos最小配置文件實例,源自redboot_.ecm文件,適合那些采用PowerPC 的Motorola MBX開發板。從圖中可以看到,.ecm文件列出了cdl_configuration命令的數據包清單,需要包含在RedBoot配置中。 cdl_option命令用來為特定選項設置選項值。

        大多數支持平臺都包含一個可以導入的和RAM RedBoot.ecm文件作為配置起點,和RAM表明RedBoot映像在目標硬件上的存放位置。一般情況下,RAM配置在最初調試硬件時使用,而ROM配置則在映像調試完成后準備存放進閃存時使用。RAM映像還可用于更新駐留閃存的RedBoot映像。i386 PC目標平臺還包含了一個RedBoot FLOPPY配置文件,可供軟盤啟動RedBoot時使用。

        為了導入最小配置文件,需要選擇配置工具菜單中的File->Import命令,然后瀏覽相應的.ecm文件并選中,配置工具利用.ecm文件裝載相應數據包并設置對應選項。如果發生因配置選項設置引起的沖突,配置工具會顯示一個沖突解決對話框,選擇繼續按鈕就可解決該沖突。

        由于RedBoot還依賴其它軟件模塊如HAL,因此并不是所有的配置選項都包含在RedBoot ROM監控數據包內。在eCos HAL包中就有底層硬件配置選項,其它可能需要配置的數據包還有設備驅動器,例如在包括網絡支持的平臺上,以太網設備驅動器選項就包含在通用以太網支持包內。

        如果想要網絡通信,還需要建立RedBoot網絡配置選項,這樣可以設定目標硬件的默認IP地址,或BOOTP初始化期間使用的配置。

        完成RedBoot配置后,最好把最小配置文件保存下來,這一步可以通過選擇File->Export并輸入文件名完成。

        創建RedBoot映像

        接下來需要保存當前的配置。為了將當前配置保存為eCos當前配置文件(.ecc),需要選擇File菜單中的Save As命令,不妨把文件存為redboot_rom.ecc。這步操作將生成正在創建的RedBoot映像的工作目錄結構,所有目錄都將以剛才創建的.ecc文件名開頭。在本例中,目錄名以redboot開始。

        正確設置好配置以后,下面就可以開始創建RedBoot映像了。為了執行創建過程,需要采用Build->Library命令,此時配置工具輸出窗口將顯示相關創建信息。創建過程完成后,生成的RedBoot映像存放在redboot_installbin子目錄中,本例中新的 RedBoot映像取名為redboot_rom.bin。



        關鍵詞: ROM 監控器 調試技巧

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 化州市| 泰和县| 股票| 抚松县| 金门县| 呼玛县| 靖州| 淮滨县| 海城市| 丰都县| 柳林县| 梁平县| 仁布县| 虹口区| 宜昌市| 揭东县| 佛教| 屏东县| 宿迁市| 许昌市| 兴国县| 电白县| 南平市| 桐城市| 安泽县| 若羌县| 大姚县| 白玉县| 德兴市| 江阴市| 嘉义市| 临武县| 化隆| 乐昌市| 扬中市| 江口县| 石家庄市| 中山市| 多伦县| 莱州市| 梅州市|