VELT的全称是VisualEmbedLinuxTools,它是一个与visualgdb类似的visualstudio插件,用以辅助完成Linux开发。利用这个插件,将可以在visualstudio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。
VELT做为辅助工具小结:
由于vs2013的庞大,在很多配置不高的机器上很难流畅运行。
由于VELT稳定性不高,实际并没有发现开发效率上的明显提升。
由于交换芯片在初始化之前所有网络接口是不通的,VELT的调试功能实际无法使用。
VELT无法处理团队协作的问题,由于每个人的开发环境配置不同,导致每个人必须维护一个项目文件。
基本功能:
1、支持x86Linux,hi3516,hi3520,MinGW这几个平台。
2、完成UBOOT的编译,并根据编译的错误信息自动定位到相应的文件位置。
3、完成LINUX内核的编译,并根据编译的错误信息自动定位到相应的文件位置。
4、完成LINUX内核的配置。
5、不使用Makefile进行Linux应用程序的编译。
6、使用SSH连接目标机器并用gdb进行应用程序的调试。
7、使用Telnet连接目标机器并用gdb进行应用程序的调试。
VELT安装:
下面开始安装VELT插件:
1、解开VELT的压缩包,放到某个目录下,如我的目录是:
F:\projects\src\gdb2012\EmbedLinux
此目录应当避免空格与中文文件名!
2、在环境变量中添加一个叫EMBEDLINUX_ROOT的环境变量:
注意路径结尾的反斜杠。
3、安装release目录下的EmbedLinux.Installer-0.1.1.vsix:
安装完成后应当可以在vs的帮助信息中看到这个插件:
也可以在工具-扩展和更新中看到:
4、将msbuild目录下的所有文件复制到:
C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V120
这是关键的一步,否则将无法添加新的平台!!!
至此安装完成。
VELT的基本原理
VELT本身并不包含任何编译工具,它所做的工作仅仅是把VS2013这个前端和不同的GNU编译器连接起来而已,真正的编译与调试仍然由交叉编译工具完成!
在进行代码编译的时候,VELT采用的是远程编译的方法,当VS进行编译操作的时候,VELT使用SSH登录到Linux主机系统中进行编译,再分析编译过程中产生的信息,将之转换为vs能够识别的信息,这样VS就可以在IDE中正确定位错误发生的文件!在这种方式中,Make或者gcc生成的错误信息由于编译方式的不同产生的错误信息是有差异的,为了处理这种差异,VELT将这个过程用python来完成。这样在不同的项目中只需要对python脚本做少量修改就可以了,这个脚本将做为用户项目的一部分。这种方式获得的另一个好处是大大降低VS扩展的代码,从而降低了对VS稳定性的影响。
VELT依赖于Linux的samba或者虚拟机的共享目录功能来实现项目文件的共享,不支持用scp将文件上传到Linux后进行编译。
在调试这一块,VELT目前仅能支持Linux下console应用程序的调试,且只能使用gdb,不支持gdbserver,其调试引擎的结构为:
如上图所示,VELT在WINDOWS端运行了两个辅助程序。一个是RemoteConsole,这个程序的主要作用是显示远端程序的输出,并接受用户输入传送给远端。另一个是python解释器,这个解释器用于完成SSH/TELNET/COM连接,并负责调用远端Linux上的gdb。这两个应用程序仅当启动调试的时候才运行,平常并不使用它。
当启动项目调试时,VC调试引擎将加载RemoteConsole.exe,由于这是一个WINDOWS的本地程序,所以VS可以正常加载。当VC引擎启动时,VELT扩展将接收到此事件,并调用自己的调试引擎,在这个调试引擎中,它将通过网络连接RemoteConsole,以控制GDB的运行并接收gdb的事件,将之反映到IDE中。
开发环境
下面是一个典型的嵌入式开发环境配置:
主机开发环境:
系统:WIN864位
开发工具:vs2013+velt-0.1.1
虚拟机:Vmwareworkstation-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的代码分析速度。
安装IronPython/PTVS
由于在VELT中需要使用Python,为了方便在vs2013中对python文件进行编辑,建议安装IronPython和PTVS扩展。
Sdf文件位置
由于VS2013浏览信息放在SDF文件中,而项目文件可能放在虚拟机的共享目录中,因此需要更改SDF文件的路径,务必保证它位于windows直接管理的硬盘上,否则在编译大项目时将导致运行速度缓慢。
以上介绍主要来自:https://blog.csdn.net/lights_joy
Tags:Linux开发,EmbedLinux.
小编点评:小译同传测试版支持中英,英中,日中翻译。翻译出来的.
下载小编点评:百度影音是百度公司最新推出的一款全新体验的播放.
下载小编点评:布丁视频电脑版是电驴推出的一款官方.
下载小编点评:screengif是一款免费的屏幕.
下载小编点评:Bandicam是一款由韩国开发的.
下载小编点评:哔哩哔哩助手【挂机签到检测】,最新版.
下载小编点评:软件介绍smartFFmpeg能快速分割与合.
下载小编点评:软件介绍SuperTinTinSkype.
下载小编点评:小老鼠找茬游戏是非常好玩的趣味找茬游戏.
下载小编点评:不笑的少女与异形的马戏团是一款非常棒.
下载小编点评:掠夺之剑破解汉化版是一款3d游戏画面超级震.
下载小编点评:碰撞追逐无限金币版是一款关于赛车竞速类型的游.
下载小编点评:涡轮赛车修改版是一款关于赛车竞技类型的.
下载连接圆点破解版下载-连接圆点内购破解版下载v1.0 安卓汉化版
美王vr播放器下载安装-vr播放器mw最新版本下载v2.3.0 安卓官方版
工控技术平台app官方下载-工控技术平台软件(工业自动化选型资料)下载v9.9.00 安卓最新版
快算房贷计算器lpr软件下载-快算房贷计算器lpr客户端下载v1.0.9 安卓版
天天上网宝软件下载-天天上网宝app下载v2.1.9 安卓版
爱趣云手机免费下载-爱趣云手机app下载v1.1.2 安卓版
雷霆物管通app下载-雷霆物管通手机版下载v1.0.0 安卓版
迷你城堡公主游乐园游戏下载-迷你城堡公主游乐园官方版下载v1.5 安卓版
超鹿运动官方版下载安装-福州超鹿运动app最新版下载v4.33.11 安卓手机版
哔快照片修复软件下载-哔快照片修复app下载v1.1.6 安卓版
音频剪辑提取下载安装-音频剪辑提取软件(更名音频提取)下载v1.8.0 安卓版
清风扫扫乐工具箱最新版下载-清风扫扫乐app手机版下载v1.0.0 安卓版
动次达趣手机版下载-动次达趣app最新版下载v2.1.0 安卓版