Visual EmbedLinux Tools 更新到 0.1.7

1.1.1  什么是Visual EmbedLinux Tools

Visual EmbedLinux Tools简称为VELT,它是一个visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visualstudio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译和调试,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.7,仅支持vs2013。此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/9170787)。下面是它的基本功能:

1、  支持x86 Linux,海思hi3516/hi3520,MinGW,Marvell/xCAT这几个平台,提供项目模板。

2、  完成UBOOT的编译,并根据编译的错误信息自动定位到相应的文件位置。

3、  完成LINUX内核的编译,并根据编译的错误信息自动定位到相应的文件位置。

4、  在VS下利用串口进行内核的简单调试。

5、  在VS下完成Linux内核的配置。

6、  不使用Makefile进行Linux应用程序的开发。

7、  使用Makefile进行Linux应用程序的开发。

8、  可支持Linux下的应用程序、动态库、静态库、Console/GUI等应用的开发与调试。

9、  使用SSH连接目标机器并用gdb进行应用程序的调试。

10、             使用Telnet连接目标机器并用gdb进行应用程序的调试。

11、             在VS中集成终端软件(PuttyX.ocx),支持SSH/Telnet/Com。

12、             对于x86 Linux内核,可以直接用Qemu进行调试。

在0.1.7版本中作了以下修改:

新增功能:

1、  添加安装及反安装功能

2、  在vs的“工具->选项”中添加全局配置并将之保存到注册表中

3、  项目的编译参数新增加一个“使用默认配置选项”,以使用全局配置

4、  添加新项目的向导。

修改功能:

1、  删除Poderosa,改用putty.ocx控件做为集成的终端。

2、  去除KernelConfig内核配置功能。

1.1.2  IntelliSense的基本原理

VELT没有自己的代码分析工具,但由于它使用的工程是VC++工程,因此VC可以完成代码分析和智能提示,VisualAssist X这样的插件也可以正常工作!

1.1.3  编译的基本原理

VELT本身并不包含任何编译工具,它所做的工作仅仅是把VS2013这个前端和不同的GNU编译器连接起来而已,真正的编译与调试仍然由交叉编译工具完成,因此在VS下进行Linux开发的前提是Linux下的交叉编译环境能够正常工作!

在进行代码编译的时候,VELT采用的是远程编译的方法,当VS进行编译操作的时候,VELT使用SSH登录到Linux主机系统中进行编译,再分析编译过程中产生的信息,将之转换为vs能够识别的信息,这样VS就可以在IDE中正确定位错误发生的文件!为了达到此目的,需要保证vs2013也能够正常访问代码文件。VELT依赖于Linux的samba或者虚拟机的共享目录功能来实现项目文件的共享,不支持用scp将文件上传到Linux后进行编译。

如上图所示:

vs2013的编译过程是由MSBUILD来控制的,VELT重载了MsBuild下的编译任务,如果开发的是Linux程序,VELT将调用putty通过SSH远程连接到Linux开发机上,再调用开发机上的gcc编译器进行编译,如果开发的是MinGW程序,VELT将通过cmd.exe调用MinGW gcc进行编译。

在编译过程中,VELT将接收putty.exe或者cmd.exe上的输出信息进行分析,将这些信息转换为VS可以识别的错误和警告信息输出到VS的输出信息栏中。

1.1.4  应用程序调试的基本原理

在Linux应用程序调试这一块,VELT不但能支持Linux下console应用程序的调试,在Windows上安装了XServer后也能进行gui应用程序的调试,但只能使用gdb,不支持gdbserver,其调试引擎的结构为:

如上图所示,VELT在WINDOWS端运行了几个辅助程序。

首先是RemoteConsole,这个程序的主要作用是显示远端程序的输出,并接受用户输入传送给远端,此程序包含在EmbedLinux的安装包中。

其次是putty,这个程序用于完成SSH/TELNET/COM连接,并负责调用远端Linux上的gdb。,此程序包含在EmbedLinux的安装包中。

如果要在vs下调试Linux下的GUI程序,还需要安装Xming这个windows下的x server,此程序不在EmbedLinux的安装包中,需要自己到mingw.org下载并安装。如果不需要调试GUI程序当然也可以不理会它。

当按下Ctrl-F5不调试运行时,VELT的结构就变成了这样:

此时VC调试引擎将直接调用RemoteConsole,RemoteConsole再根据需要调用putty连接Linux机器并调用目标程序,如果调试的是windows下的程序,RemoteConsole将通过cmd.exe调用本地的TargetApp。

1.1.5  开发环境

下面是一个典型的嵌入式开发环境配置:

主机开发环境:

系统:WIN8 64位

开发工具:vs2013 + velt-0.1.7

虚拟机:Vmware workstation-11.0。

编译主机开发环境:

虚拟机的系统用于交叉编译和嵌入式开发中各种服务的提供。

操作系统:RHEL-6.3,此虚拟机仅用于开发,不考虑其安全性的配置。

开发工具:gcc、不同平台下的交叉编译工具链。

系统服务:开启tftp、samba、ftp、ssh

目标机:想使用的平台,如海思、TI、ADI等平台,或者虚拟机的Linux。

连接方式:telnet / ssh / com

调试方式:gdb / gdbserver

1.1.6  目录共享

首先将windows目录通过vmware的共享目录功能共享给Linux,如f:\work,在Linux下看到的目录就是/mnt/hgfs/share/work。

其次将Linux下的目录通过samba服务共享给windows,如/work,映射到windows下的z:\,这里需要注意的是samba的帐号和我们后面用SSH登录的帐号应当一致,避免由于权限问题造成不必要的干扰。

当进行uboot和linux内核的开发时,代码只能放在linux的虚拟硬盘中,而不能放在windows系统中,因为它们需要使用符号链接,也需要区分大小写。

而在进行普通应用程序开发时,如果没有使用符号链接,只需要将代码放在windows目录下,这样可以加快vs的代码分析速度。

1.1.7  Sdf文件位置

由于VS2013浏览信息放在SDF文件中,而项目文件可能放在虚拟机的共享目录中,因此需要更改SDF文件的路径,务必保证它位于windows直接管理的硬盘上,否则在编译大项目时将导致运行速度缓慢。

1.1.8  VELT安装

下面开始安装VELT插件:

1、  在开始安装前首先卸载旧版本的插件。

2、  运行VeltSetup-0.1.7.exe:

一路往下安装就可以了,注意在安装的过程中会有一个vsix的安装窗口,此窗口可能被隐藏在安装主窗口的后面:

安装完成后应当可以在vs的帮助信息中看到这个插件:

也可以在工具->扩展和更新中看到:

3、打开VS的新建项目窗口,可以看到新添加的EmbedLinux平台:

至此安装完成!

1.1.9  Velt卸载

Velt的卸载可以通过控件面板的卸载功能完成:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 16:06:22

Visual EmbedLinux Tools 更新到 0.1.7的相关文章

Skipping 'Android SDK Tools, revision 24.0.2'; it depends on 'Android SDK Platform-tools, revision 20' which was not installed.

前几天,同事问我eclipse android sdk怎么不能更新. 更新界面是显示(mirrors.neusoft.edu.cn:80),但是不能更新. 问题描述如下: URL not found: F:\Android\android-sdk\temp\samples-19_r05.zip (拒绝访问.) Skipping 'Android SDK Tools, revision 24.0.2'; it depends on 'Android SDK Platform-tools, revi

Install Visual Studio Tools for Apache Cordova

Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visual Studio Tools for Apache Cordova, which is pre-release software. The features described are in preview and are subject to change. You can download the

SDK Build Tools revision (19.0.3) is too low for project Minimum required is 19.1.0

假设你正在使用Android Studio工具进行开发.且将版本号更新到0.6.0的时候,莫名的出现这种错误 SDK Build Tools revision (19.0.3) is too low for project . ..Minimum required is 19.1.0 到Android Sdk  Manager中更新是出现因为频闭无法更新的问题请使用例如以下操作 点击options选项  进行例如以下设置 在Android SDK Manager Setting 窗体设置HTTP

SDK Build Tools revision (19.0.3) is too low for project Min

SDK Build Tools revision (19.0.3) is too low for project Min(转) 如果你正在使用Android Studio工具进行开发,且将版本更新到0.6.0的时候,莫名的出现这样的错误 SDK Build Tools revision (19.0.3) is too low for project ...Minimum required is 19.1.0 到Android Sdk  Manager中更新是出现由于频闭无法更新的问题请使用如下操

Failed to sync Gradle project'xxxxxxx',failed to find Build Tools revision 23.0.0 rc2

昨天更新了一下6.0然后就出现这个问题了,然后就得解决这个问题 这样的话就ok了 版权声明:本文为博主原创文章,未经博主允许不得转载. Failed to sync Gradle project'xxxxxxx',failed to find Build Tools revision 23.0.0 rc2

Visual Studio Tools for Unity

Visual Studio Tools for Unity 1.9 Getting Started with Visual Studio Tools for Unity unitypackage location: D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity Keyboard shortcuts Open the

认识微软Visual Studio Tools for AI

微软已经发布了其 Visual Studio Tools for AI 的测试版本,这是微软 Visual Studio 2017 IDE 的扩展,可以让开发人员和数据科学家将深度学习模型嵌入到应用程序中.Visual Studio Tools for AI 工具同时支持 Microsoft 的 Cognitive Toolkit 和 Google 的 TensorFlow 等深度学习框架. 微软还通过一个称为 Visual Studio Code Tools for AI 的跨平台扩展为其 V

UnityVS(Visual Studio Tools For Unity)的安装与使用

原文地址:http://www.cnblogs.com/wonderKK/p/3893557.html 一些废话 Unity 的开发者们,尤其是微软系的Unity开发者们,用Mono是不是烦死了?你是不是跟我一样,用vs来写代码,用Mono来跟踪调试?好麻烦啊好麻烦. 也许你会说,傻逼你不会用UnityVS插件么?我会说,我擦那不是收费的么?你会说,傻逼你不知道世界上有个东西叫盗版么?我说,嗯,但是还是觉得不好用啊…… 其实在那个时代,微软大力引导Unity开发者发布WP游戏的时候,我就猜微软肯

Microsoft Visual Studio International Pack 1.0 SR1--关于汉字转拼音

Microsoft Visual Studio International Pack 1.0 SR1————微软的一个类库 地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=15251 Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用.SR1 包含对 Ja