Windows Embedded CE 6.0開發初體驗(七)編譯和除錯平臺
上一篇《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
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的平臺。
呼,終於在過年前把這個坑填完了。祝大家新年快樂,年後再填另外一個坑:
《XP Embedded開發出體驗》
相關文章
- Windows Embedded CE 6.0開發初體驗(五)構建CE平臺Windows
- Windows Embedded CE 6.0開發初體驗(六)平臺定製Windows
- Windows Embedded CEWindows
- 跨平臺開發Flutter初體驗Flutter
- Windows Embedded CE 主要商業優勢Windows
- 跨平臺開發之React Native初體驗React Native
- .NET 編譯器平臺:使用 Roslyn 體驗 MVVM編譯ROSMVVM
- 微信開放平臺高效開發除錯方法除錯
- 淺談eMbedded Visual C++4.0對於Windows CE.net 的開發 (轉)C++Windows
- asp net core 跨平臺初體驗
- DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平臺的編譯體驗devWindows編譯
- visualgdb windows linux 跨平臺編譯WindowsLinux編譯
- Electron開發初體驗
- Visual Studio 2015 移動跨平臺開發初體驗
- 小程式開發初體驗
- Qt6.0 windows安裝體驗QTWindows
- 跨平臺編譯編譯
- 開源編譯工具和編譯軟體編譯
- LR.NET快速開發平臺初體驗,功能足夠用,UI是亮點UI
- pytest核心測試平臺落地初體驗
- Windows平臺體驗StableSwarmUI-0.6.4-Beta經驗版WindowsSwarmUI
- 翻譯的初體驗
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- 微信小程式開發初體驗微信小程式
- 小程式雲開發初體驗
- 移植到Windows CE 的經驗Windows
- 編譯修改*火GPS除錯助手(開源)編譯除錯
- C編譯: 使用gdb除錯編譯除錯
- C 編譯: 使用 gdb 除錯編譯除錯
- 使用gdb編譯除錯mysql編譯除錯MySql
- Windows Live平臺開發資源Windows
- 微信小程式開發平臺新功能「雲開發」快速上手體驗微信小程式
- 方舟編譯器開源,華為自家開源平臺面世!(附編譯過程)編譯
- 【JS 逆向百例】網洛者反爬練習平臺第七題:JSVMPZL 初體驗JS
- Serilog文件翻譯系列(七) - 應用設定、除錯和診斷、開發接收器除錯
- jsoncpp linux平臺編譯和arm移植JSONLinux編譯
- 交叉編譯和交叉除錯環境搭建及使用編譯除錯