-- 作者:wangxinxin
-- 發(fā)布時間:2010-12-19 15:59:39
-- 基于MPC860/VxWorks的嵌入式系統(tǒng)開發(fā)
WindRiver公司提供了很多基于不同硬件平臺的典型的板級支持包BSP。因此,開發(fā)基于VxWorks的實用板級支持包是盡量獲得一個與目標(biāo)板硬件環(huán)境相近的參考板級支持包和相關(guān)代碼模板,再根據(jù)目標(biāo)板硬件環(huán)境,完成板級支持包包含的驅(qū)動程序及設(shè)備初始化,從而完成板級支持包的開發(fā)[4]。 啟動Tornado II集成開發(fā)環(huán)境,使用工程向?qū)?chuàng)建一個可啟動工程(bootable VxWorks image)項目,選擇基于ads860的BSP。在這個工程項目里可以進(jìn)行BSP的基本配置、VxWorks的基本配置、網(wǎng)卡配置等,結(jié)合實際電路和應(yīng)用進(jìn)行修改,創(chuàng)建用戶自己的BSP以支持特定硬件。前述bootrom程序也可由此生成。在此階段可以借助WDB調(diào)試代理和Tornado工具輔助開發(fā),也可以選擇在線仿真器ICE輔助開發(fā)。 BSP 調(diào)試完成,編譯此工程項目為一個VxWorks內(nèi)核鏡像文件*.img,在以后的應(yīng)用程序調(diào)試過程中可通過Tornado的一個部件 ftp server下載。下載方法如下: 首先連接主機與目標(biāo)板的網(wǎng)線和串口線,目標(biāo)板上電后,在超級終端窗口3秒以內(nèi)按回車鍵進(jìn)入boot shell;否則,目標(biāo)機系統(tǒng)會進(jìn)入自動尋找并運行程序狀態(tài)。 此時啟動和配置ftp server,選擇Security菜單中的user/rights命令,添加一個用戶名如target,密碼target,設(shè)置主目錄為C:\\;然后點擊Done。ftp server配置完成。 現(xiàn)在需要設(shè)置主機ip地址。將主機ip設(shè)為192.168.1.1,子網(wǎng)掩碼255.255.255.0。將調(diào)試好的VxWorks鏡像文件*.img拷貝到C:\\。 最后,在主機的串口超級終端中輸入設(shè)置好的下載命令@,目標(biāo)板開始從主機的ftp server下載*.img(vxworks的ram鏡像)。 下載完成,*.img文件自動運行,在超級終端窗口顯示vxworks鏡像在目標(biāo)板啟動成功的信息,此時vxworks內(nèi)核已經(jīng)成功裝載到目標(biāo)板,可以同主機的tornado(vxworks的集成開發(fā)環(huán)境)進(jìn)行連接了。 3.3 在tornado中編寫和運行應(yīng)用程序 當(dāng)上述環(huán)境配置成功后就可以進(jìn)行應(yīng)用程序開發(fā)了。在tornado集成開發(fā)環(huán)境中可以開發(fā)并調(diào)試各種應(yīng)用程序,添加程序并編譯成功后就可以下載到目標(biāo)板上進(jìn)行調(diào)試了。下面通過一個應(yīng)用程序調(diào)試示例加以說明。 4 開發(fā)應(yīng)用程序示例 4.1 開發(fā)并編譯程序 啟動Tornado II集成開發(fā)環(huán)境,使用工程向?qū)?chuàng)建一個可下載工程(downloadable application modules)項目project1,在創(chuàng)建過程中選擇工具鏈(toolchain)為PPC860gnu。在工程項目中編寫或添加應(yīng)用程序源文件,如一個Hello.c文件。 #include "vxworks.h" #include "drv/multi/ppc860Siu.h" void root() { printf("hello!How are you?\\n"); /*在終端輸出此信息*/ } #define PD10 (0x0020) #define PD09 (0x0040) #define RUNLIGHT PD10 #define LINKLIGHT PD09 void RunLight(void) { int immrVal = vxImmrGet(); *PDDIR(immrVal)|=RUNLIGHT; while(1) { *PDDAT(immrVal) ^=RUNLIGHT; taskDelay(sysClkRateGet()/2);/*delay 0.5 second*/ } } void run() { taskSpawn ("RunLight", 100,0 /*switchTaskOptions*/,0x1000, (FUNCPTR)RunLight, 0,0,0,0,0,0,0,0,0,0); } /*通過以上函數(shù)創(chuàng)建并激活一個新任務(wù),點亮系統(tǒng)指示燈*/ 4.2 配置和運行target server 使用Tornado編譯器編譯成功后下載。下載之前首先要配置和運行target server,在菜單tool/target server/configure中,先點擊new新建一個配置如configuration1, 然后開始配置。 在target server proportion 項的“Back End”的選項中選擇wdbrpc; 在target server proportion 項的“Core File and Symbols”的選項中設(shè)置vxworks鏡像文件位置為C:\\; 在target name/ip address輸入目標(biāo)板的ip 地址192.168.1.254; 配置完成,點擊Launch運行; 下面可以下載和運行應(yīng)用程序了。 4.3下載和運行程序 在工程上點擊右鍵,選擇download project1.out下載應(yīng)用程序到目標(biāo)板,然后可以在Tornado中的shell里運行應(yīng)用程序了,如在shell中運行hello.c中的root函數(shù)(在shell中打印hello!How are you?)和run(目標(biāo)板的run燈會閃亮)。 在每次下載調(diào)試應(yīng)用程序或添加新的應(yīng)用程序時都不需要把它們和vxworks內(nèi)核編譯到一起,這樣節(jié)省了開發(fā)和調(diào)試時間。 5 總結(jié) 本文描述了基于嵌入式實時操作系統(tǒng)VxWorks的開發(fā)方法,憑借性能優(yōu)良的VxWorks和高度集成的開發(fā)環(huán)境,VxWorks的應(yīng)用已成為新的研究熱點。在開發(fā)過程中使用相近的BSP開發(fā)用戶自己的板級支持包,難度降低了并縮短了開發(fā)時間,使用ftp server下載VxWorks內(nèi)核鏡像,使用Torndo 工具編譯、調(diào)試和下載應(yīng)用程序。通過這樣的流程對應(yīng)用程序的開發(fā)帶來了極大的方便,該方法已得到廣泛應(yīng)用。 本文作者創(chuàng)新點:對基于VxWorks嵌入式操作系統(tǒng)在MPC8XX系列cpu上的開發(fā)過程進(jìn)行了具體而實用的描述。有一定的應(yīng)用價值。
|