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開發出體驗》
相關文章
- 跨平臺開發Flutter初體驗Flutter
- windows下體驗quarkus原生編譯打包Windows編譯
- DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平臺的編譯體驗devWindows編譯
- Qt6.0 windows安裝體驗QTWindows
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- 編譯修改*火GPS除錯助手(開源)編譯除錯
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- Electron開發初體驗
- Serilog文件翻譯系列(七) - 應用設定、除錯和診斷、開發接收器除錯
- pytest核心測試平臺落地初體驗
- 開源編譯工具和編譯軟體編譯
- 跨平臺編譯編譯
- vscode+C 編譯除錯VSCode編譯除錯
- C編譯: 使用gdb除錯編譯除錯
- Windows平臺體驗StableSwarmUI-0.6.4-Beta經驗版WindowsSwarmUI
- 小程式開發初體驗
- LR.NET快速開發平臺初體驗,功能足夠用,UI是亮點UI
- libzip開發筆記(二):libzip庫介紹、ubuntu平臺編譯和工程模板筆記Ubuntu編譯
- 【JS 逆向百例】網洛者反爬練習平臺第七題:JSVMPZL 初體驗JS
- OSG開發筆記(三十六):osg3.4.0基於windows平臺msvc2017x64編譯器編譯並移植Demo筆記Windows編譯
- OSG開發筆記(三十八):osg3.0.0基於windows平臺msvc2017x64編譯器編譯並移植Demo筆記Windows編譯
- # Xcode 編譯器除錯命令(所有)XCode編譯除錯
- 嵌入式GDB除錯Linux C程式或交叉編譯(開發板)除錯LinuxC程式編譯
- MacOs/Liunx主機搭建windows平臺雙機除錯環境MacWindows除錯
- 小程式雲開發初體驗
- C#winform軟體實現一次編譯,跨平臺windows和linux相容執行,相容Visual Studio原生介面Form表單開發C#ORM編譯WindowsLinux
- windows 下使用 mingw編譯器 除錯時 無法跟進原始碼Windows編譯除錯原始碼
- 編譯除錯Net6原始碼編譯除錯原始碼
- 方舟編譯器開源,華為自家開源平臺面世!(附編譯過程)編譯
- Go跨平臺交叉編譯Go編譯
- SDDC的Windows初體驗-QT篇WindowsQT
- 微信小程式開發初體驗微信小程式
- Flutter(六)之Flutter開發初體驗Flutter
- 使用Live Reload在IntelliJ Idea和Chrome實時編譯部署和除錯IntelliJIdeaChrome編譯除錯
- C++跨平臺庫boost和Poco的編譯C++編譯
- [譯]使用開發工具來除錯 Beta 版 WebView除錯WebView
- AI+翻譯 AI智慧體平臺釦子coze開發搭建AI智慧體
- 微信小程式開發平臺新功能「雲開發」快速上手體驗微信小程式
- Android Studio中編譯除錯Launcher3Android編譯除錯