Windows Embedded CE 6.0開發(fā)初體驗(yàn)(七) 編譯和調(diào)試平臺
在完成Catalog選擇之后,平臺定制的工作告一段落,接下來,我們就要進(jìn)入變數(shù)最多的環(huán)節(jié)——“編譯和調(diào)試”平臺了。編譯的操作簡單,但是想通過編譯卻有很多變數(shù)。
編譯平臺的***步是選擇Debug或者Release版本。選擇 Build菜單中的Configuration Manager,在彈出的對話框中選擇Debug還是Release版本。如下圖,紅圈部分所示:
在Build菜單中選擇“Build Solution”,就可以開始進(jìn)行平臺的編譯了。編譯的時間依照開發(fā)機(jī)器的性能不同而不同,從幾十分鐘到幾個小時不等。如果幾次編譯不成功,的確是一件讓人比較抓狂的事情……
直到我們在Output窗口中看到下邊的輸出,就說明你功德圓滿了,終于完成了Image文件的編譯,可以調(diào)試了。
等編譯好之后,我們就可以將Image文件下載到開發(fā)板中,并開始調(diào)試了。這個過程也是比較復(fù)雜的。在***次進(jìn)行下載前,我們要首先在Visual Studio中創(chuàng)建一個供下載用的設(shè)備。具體過程如下:
***步,選擇“Target”菜單中的“Connectivity Options”,打開連接選項(xiàng)的對話框:
第二步,在對話框中選擇“Add Device”,創(chuàng)建一個新的設(shè)備,設(shè)備名稱為“MyTarget_Debug”,這個名稱沒有任何限制,可以取任意的名字?!癆ssociated OS Design/SDK”選項(xiàng)中,設(shè)置為“None”。
在之后出現(xiàn)Target Device設(shè)置的界面中,確認(rèn)“Downlaod”設(shè)置為“Ethernet”,即以太網(wǎng)。然后點(diǎn)擊其后的“Settings”按鈕。
在Vista或者XP上開發(fā)時,會有一個安全警告出現(xiàn),點(diǎn)擊“解除鎖定”選擇,否則調(diào)用會失敗。
接下來會出現(xiàn)“Ethernet Download Settings”對話框,如下圖:
這時,我們要通過超級終端對開發(fā)板進(jìn)行設(shè)置:將開發(fā)板電源關(guān)閉,確認(rèn)串口連接,并且超級終端處于連接狀態(tài)后,打開電源。當(dāng)超級終端出現(xiàn)提示“Hit any key to stop autoboot”時,按任意鍵停止自動加載過程。然后在命令行中輸入:
dboot eboot flash
dboot是Digi開發(fā)的boot- loader,這個命令的意思是打開Flash ROM中的eboot。我們知道,eboot是允許CE Image通過以太網(wǎng)下載到開發(fā)板中的工具。啟動eboot之后,會首先初始化網(wǎng)卡驅(qū)動,保證網(wǎng)卡可用,然后向本網(wǎng)段廣播BOOTME的消息。所以,開發(fā) 機(jī)器和開發(fā)板在設(shè)置IP地址時一定要注意,二者要設(shè)置為同一網(wǎng)段內(nèi)的IP地址。
如果eboot啟動成功,我們在開發(fā)機(jī)器的Visual Studio中“Ethernet Download Settings”對話框中會看到一個新的設(shè)備出現(xiàn),選擇該設(shè)備,此時設(shè)備名稱會出現(xiàn)在上面的下拉菜單中。
返回上一個對話框,點(diǎn)擊“Apply”,再點(diǎn)擊“Close”。關(guān)閉對話框。此時我們的開發(fā)板就被映射為名為“MyTarget_Debug”的Target Device了。
需要注意的是,以上操作針對每塊開發(fā)板只需要做一次。第二次需要進(jìn)行Debug時就不需要重新添加設(shè)備了。
回到Visual Studio的主界面,我們可以選擇“Target”菜單的“Attach Device”命令,或者選擇菜單欄上的圖標(biāo)進(jìn)行相同的操作。示例如下:
接下來,就會出現(xiàn)如下的對話框,將Build好的Image文件從下載到開發(fā)板上。需要注意的有兩點(diǎn):***,如果在開發(fā)板上的Server IP地址(即開發(fā)機(jī)器的IP)沒有設(shè)置對,則對話框會出現(xiàn),但是很長時間都不會開始下載,一直在等待響應(yīng);
第二,下載的Image文件會保存在開發(fā)板的內(nèi)存中,所以如果開發(fā)板掉電,則下載的Image會丟失。所以這個過程只是為了完成調(diào)試的,如果想將Image文件燒錄到開發(fā)板上,還需要另外的操作。
整個下載的過程大概需要幾分鐘:
當(dāng)下載完成之后,真正的Debug過程才會真正的開始。因?yàn)镈ebug的緣故,所以造成整個開發(fā)板中的操作系統(tǒng)運(yùn)行比較慢,所以大家不要誤以為這個速度就是Windows CE平臺運(yùn)行的正常速度了。
在系統(tǒng)啟動的過程中,可能會有幾個地方造成執(zhí)行中斷,這是由DEBUGCHECK的宏造成的,原因可能是Windows CE系統(tǒng)調(diào)用BSP中某個驅(qū)動程序時造成的問題,但是該問題不會影響系統(tǒng)的正常運(yùn)行。所以我們可以直接按F5繼續(xù)運(yùn)行就可以了。
寫在***
到這里,我們就已經(jīng)完整的說明了Windows Embedded CE 6,0的開發(fā)過程。如果沒有實(shí)際開發(fā)板的朋友,可以考慮使用Device Emulator 的方法來開發(fā)CE 6.0的平臺。
【編輯推薦】