快乐虾
http://blog.csdn.net/lights_joy/
欢迎转载,但请保留作者信息
本文适用于vs2013 + Visual EmbedLinux Tools 0.1.1
1.1 什么是VELT
VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.1,仅支持vs2013,是一个刚刚启动开发不久的插件。可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8322193)。下面是它的基本功能:
- 支持x86 Linux,hi3516,hi3520三个平台。
- 完成UBOOT的编译,并根据编译的错误信息自动定位到相应的文件位置。
- 完成LINUX内核的编译,并根据编译的错误信息自动定位到相应的文件位置。
- 完成LINUX内核的配置。
- 不使用Makefile进行Linux应用程序的编译。
- 使用SSH连接目标机器并用gdb进行应用程序的调试。
- 使用Telnet连接目标机器并用gdb进行应用程序的调试。
本文将利用它来开发一个Linux应用程序。
在velt-0.1.1的安装目录下有一个叫template的子目录,里面有一个叫LinuxConsoleApplication的示例工程,我们先拿它做个测试。
我们将这个工程复制到samba共享的Z:\projects\test目录下,打开它:
可以看到在这个项目里已经加上了Linux平台的支持,选择Linux平台,根据我们的实际情况配置参数:
1.2 输出目录与中间目录配置
打开项目属性:
将输出目录和中间目录修改我们需要的路径,需要注意的是,这里的路径只能采用相对路径,且必须保证这个路径可以在Linux下访问!!
如我的samba共享的Linux路径是/work,在windows下被映射为Z:\,而这个项目放在Z:\projects\test\LinuxConsoleApplication目录下,在Linux下的访问路径就是/work/projects/test/LinuxConsoleApplication,因此这个设置是没有问题的。
此处需要注意的第二个问题是大小写的问题,因为这个路径是需要在Linux下访问的,因此必须区分大小写。
1.3 更改编译主机配置
接下来更改编译主机配置:
这里仍然需要注意的是Windows访问路径的大小写和路径结尾的斜杠。
如前所述,/work/是Linux下samba的共享路径,Z:\则是映射过来的windows路径。
1.4 更改目标机配置
接下来在项目属性中更改目标机配置:
由于我们的目标机就是编译主机,因此这两个配置是相同的。
1.5 工程编译
在完成上面两步简单配置之后就可以按F7生成解决方案了:
在资源管理器下可以看到Z:\projects\test\bin\Linux\Debug下生成了一个叫ConsoleApplication的文件。
我们到Linux下运行它:
一切正常。
1.6 调试
试试在main这里设置一个断点,启动调试:
这里需要注意的是务必选择本地windows调试器,且只能选择仅GPU模式,否则VC将无法正确启动调试引擎,按F5,GO....
此时的console输出:
这里除了Hello world之外还输出了其它一些信息,主要是由于这个窗口没有将调试信息完全滤除干净,不过这些信息只会在加载程序时输出,不影响后面的调试过程。
1.7 不调试运行
再试试按Ctrl + F5,不调试运行,此时的Console输出是这样的:
搞定!
??