Windows Embedded CE 6.0開發初體驗(七) 編譯和調試平臺
在完成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
dboot是Digi開發的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的平臺。
【編輯推薦】