Windows Embedded CE 6.0開發初體驗(七)編譯和除錯平臺

aawolf發表於2008-02-03

上一篇《Windows Embedded CE 6.0開發初體驗》之平臺定製

http://blog.csdn.net/aawolf/archive/2008/01/12/2039866.aspx

在完成Catalog選擇之後,平臺定製的工作告一段落,接下來,我們就要進入變數最多的環節——“編譯和除錯”平臺了。編譯的操作簡單,但是想通過編譯卻有很多變數。

編譯平臺的第一步是選擇Debug或者Release版本。選擇 Build選單中的Configuration Manager,在彈出的對話方塊中選擇Debug還是Release版本。如下圖,紅圈部分所示:

Build選單中選擇“Build Solution”,就可以開始進行平臺的編譯了。編譯的時間依照開發機器的效能不同而不同,從幾十分鐘到幾個小時不等。如果幾次編譯不成功,的確是一件讓人比較抓狂的事情……

直到我們在Output視窗中看到下邊的輸出,就說明你功德圓滿了,終於完成了Image檔案的編譯,可以除錯了。

等編譯好之後,我們就可以將Image檔案下載到開發板中,並開始除錯了。這個過程也是比較複雜的。在第一次進行下載前,我們要首先在Visual Studio中建立一個供下載用的裝置。具體過程如下:

第一步,選擇“Target”選單中的“Connectivity Options”,開啟連線選項的對話方塊:

第二步,在對話方塊中選擇“Add Device”,建立一個新的裝置,裝置名稱為“MyTarget_Debug”,這個名稱沒有任何限制,可以取任意的名字。“Associated OS Design/SDK”選項中,設定為“None”。

在之後出現Target Device設定的介面中,確認“Downlaod”設定為“Ethernet”,即乙太網。然後點選其後的“Settings”按鈕。

Vista或者XP上開發時,會有一個安全警告出現,點選“解除鎖定”選擇,否則呼叫會失敗。

接下來會出現“Ethernet Download Settings”對話方塊,如下圖:

這時,我們要通過超級終端對開發板進行設定:將開發板電源關閉,確認串列埠連線,並且超級終端處於連線狀態後,開啟電源。當超級終端出現提示“Hit any key to stop autoboot”時,按任意鍵停止自動載入過程。然後在命令列中輸入:

dboot eboot flash

dbootDigi開發的boot-loader,這個命令的意思是開啟Flash ROM中的eboot。我們知道,eboot是允許CE Image通過乙太網下載到開發板中的工具。啟動eboot之後,會首先初始化網路卡驅動,保證網路卡可用,然後向本網段廣播BOOTME的訊息。所以,開發機器和開發板在設定IP地址時一定要注意,二者要設定為同一網段內的IP地址。

如果eboot啟動成功,我們在開發機器的Visual Studio中“Ethernet Download Settings”對話方塊中會看到一個新的裝置出現,選擇該裝置,此時裝置名稱會出現在上面的下拉選單中。

返回上一個對話方塊,點選“Apply”,再點選“Close”。關閉對話方塊。此時我們的開發板就被對映為名為“MyTarget_Debug”的Target Device了。

需要注意的是,以上操作針對每塊開發板只需要做一次。第二次需要進行Debug時就不需要重新新增裝置了。

回到Visual Studio的主介面,我們可以選擇“Target”選單的“Attach Device”命令,或者選擇選單欄上的圖示進行相同的操作。示例如下:

接下來,就會出現如下的對話方塊,將Build好的Image檔案從下載到開發板上。需要注意的有兩點:第一,如果在開發板上的Server IP地址(即開發機器的IP)沒有設定對,則對話方塊會出現,但是很長時間都不會開始下載,一直在等待響應;

第二,下載的Image檔案會儲存在開發板的記憶體中,所以如果開發板掉電,則下載的Image會丟失。所以這個過程只是為了完成除錯的,如果想將Image檔案燒錄到開發板上,還需要另外的操作。

整個下載的過程大概需要幾分鐘:

當下載完成之後,真正的Debug過程才會真正的開始。因為Debug的緣故,所以造成整個開發板中的作業系統執行比較慢,所以大家不要誤以為這個速度就是Windows CE平臺執行的正常速度了。

在系統啟動的過程中,可能會有幾個地方造成執行中斷,這是由DEBUGCHECK的巨集造成的,原因可能是Windows CE系統呼叫BSP中某個驅動程式時造成的問題,但是該問題不會影響系統的正常執行。所以我們可以直接按F5繼續執行就可以了。

寫在最後

到這裡,我們就已經完整的說明了Windows Embedded CE 6,0的開發過程。如果沒有實際開發板的朋友,可以考慮使用Device Emulator 的方法來開發CE 6.0的平臺。

呼,終於在過年前把這個坑填完了。祝大家新年快樂,年後再填另外一個坑:

《XP Embedded開發出體驗》

http://blog.csdn.net/aawolf/archive/2007/11/11/1879406.aspx

 

相關文章