天天看點

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

支援x86 linux,海思hi3516/hi3520,mingw這幾個平台,提供這幾個平台的項目模闆。

完成uboot的編譯,并根據編譯的錯誤資訊自動定位到相應的檔案位置。

完成linux核心的編譯,并根據編譯的錯誤資訊自動定位到相應的檔案位置。

在vs下完成linux核心的配置。

不使用makefile進行linux應用程式的編譯。

使用makefile進行linux應用程式的開發。

使用ssh連接配接目标機器并用gdb進行應用程式的調試。

使用telnet連接配接目标機器并用gdb進行應用程式的調試。

在vs中內建linux終端(poderosa),支援ssh/telnet/com,在打開終端時自動将vs的變量導出為bash裡的變量,如projectdir等。

velt本身并不包含任何編譯工具,它所做的工作僅僅是把vs2013這個前端和不同的gnu編譯器連接配接起來而已,真正的編譯與調試仍然由交叉編譯工具完成!

在進行代碼編譯的時候,velt采用的是遠端編譯的方法,當vs進行編譯操作的時候,velt使用ssh登入到linux主機系統中進行編譯,再分析編譯過程中産生的資訊,将之轉換為vs能夠識别的資訊,這樣vs就可以在ide中正确定位錯誤發生的檔案!

velt依賴于linux的samba或者虛拟機的共享目錄功能來實作項目檔案的共享,不支援用scp将檔案上傳到linux後進行編譯。

在調試這一塊,velt目前僅能支援linux下console應用程式的調試,且隻能使用gdb,不支援gdbserver,其調試引擎的結構為:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

如上圖所示,velt在windows端運作了兩個輔助程式。一個是remoteconsole,這個程式的主要作用是顯示遠端程式的輸出,并接受使用者輸入傳送給遠端。另一個是python解釋器,這個解釋器用于完成ssh/telnet/com連接配接,并負責調用遠端linux上的gdb。這兩個應用程式僅當啟動調試的時候才運作,平常并不使用它。

當啟動項目調試時,vc調試引擎将加載remoteconsole.exe,由于這是一個windows的本地程式,是以vs可以正常加載。當vc引擎啟動時,velt擴充将接收到此事件,并調用自己的調試引擎,在這個調試引擎中,它将通過網絡連接配接remoteconsole,以控制gdb的運作并接收gdb的事件,将之反映到ide中。

下面是一個典型的嵌入式開發環境配置:

主機開發環境:

系統:win8 64位

開發工具:vs2013 + velt-0.1.4

虛拟機:vmware workstation-11.0。

編譯主機開發環境:

虛拟機的系統用于交叉編譯和嵌入式開發中各種服務的提供。

作業系統:rhel-6.3,此虛拟機僅用于開發,不考慮其安全性的配置。

開發工具:gcc、不同平台下的交叉編譯工具鍊。

系統服務:開啟tftp、samba、ftp、ssh

目标機:想使用的平台,如海思、ti、adi等平台,或者虛拟機的linux。

連接配接方式:telnet / ssh / com

調試方式:gdb / gdbserver

首先将windows目錄通過vmware的共享目錄功能共享給linux,如f:\work,在linux下看到的目錄就是/mnt/hgfs/share/work。

其次将linux下的目錄通過samba服務共享給windows,如/work,映射到windows下的z:\,這裡需要注意的是samba的帳号和我們後面用ssh登入的帳号應當一緻,避免由于權限問題造成不必要的幹擾。

當進行uboot和linux核心的開發時,代碼隻能放在linux的虛拟硬碟中,而不能放在windows系統中,因為它們需要使用符号連結,也需要區分大小寫。

而在進行普通應用程式開發時,如果沒有使用符号連結,隻需要将代碼放在windows目錄下,這樣可以加快vs的代碼分析速度。

由于vs2013浏覽資訊放在sdf檔案中,而項目檔案可能放在虛拟機的共享目錄中,是以需要更改sdf檔案的路徑,務必保證它位于windows直接管理的硬碟上,否則在編譯大項目時将導緻運作速度緩慢。

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

下面開始安裝velt插件:

1、解開velt的壓縮包,放到某個目錄下,如我的目錄是:

f:\projects\src\gdb2012\embedlinux

此目錄應當避免空格與中文檔案名!

2、在環境變量中添加一個叫embedlinux_root的環境變量:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

注意路徑結尾的反斜杠。

3、安裝release目錄下的embedlinux.installer-0.1.4.vsix:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

安裝完成後應當可以在vs的幫助資訊中看到這個插件:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

也可以在工具->擴充和更新中看到:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

4、将msbuild\platforms目錄下的所有檔案複制到:

c:\program files (x86)\msbuild\microsoft.cpp\v4.0\v120\platforms

5、打開vs的建立項目視窗,可以看到新添加的三個平台:

用vs2013+velt-0.1.4進行嵌入式開發 進行海思平台 UBOOT 開發

至此安裝完成!