用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发

快乐虾

http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651)

欢迎转载,但请保留作者信息

本文仅适用于vs2013 + velt-0.1.4


1.1    什么是VELT


VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studioIDE中进行Linux应用程序的开发(包括编译和调试),也可以进行ubootlinux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.4,仅支持vs2013。此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8429771),安装过程参见《vs2013+velt-0.1.4进行嵌入式开发:插件安装》。下面是它的基本功能:

  1. 支持x86 Linux,海思hi3516/hi3520MinGW这几个平台,提供这几个平台的项目模板。

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

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

  4. VS下完成Linux内核的配置。

  5. 不使用Makefile进行Linux应用程序的编译。

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

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

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

  9. VS中集成Linux终端(Poderosa),支持SSH/Telnet/Com,在打开终端时自动将VS的变量导出为bash里的变量,如ProjectDir等。



在海思的3516 SDK中提供了一个叫viosample程序,演示其SDK的使用,本文讨论在VS2013下编译并调试它。


1.2    准备代码并共享


解压缩海思SDK中提供的mpp.tgz,将其解压到/work/projects/test,由于/work目录已经通过samba共享给windows,因此这个路径在windows下看起来就是Z:\projects\test\


1.3    创建Makefile工程

VS下创建一个Makefile工程,放在mpp的同级目录下:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第1张图片


加入mpp目录下的所有文件。


1.4    修改IntelliSense路径


在创建项目后,VS还无法正确找到一些头文件,因此必须修改IntelliSense配置。

Hi3516交叉编译目录下的target/usr/include目录复制到windows下的F:\local_cache\hisilicon\hi3516\usr,打开项目属性:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第2张图片


在包含目录中加上本地缓存的路径和SDK头文件的包含路径。

这个路径仅仅用于VS的代码分析,不会对编译行为产生影响!

经过此操作可以发现VS代码编辑器中的红色波浪线消失了,也就是说VS已经可以正确分析代码了!


1.5    修改编译主机的参数


接下来修改编译主机的参数:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第3张图片


根据实际配置进行修改。


1.6    修改Make参数


首先修改mpp\Makefile.param文件中的LINUX_ROOTDRV_ROOT,让其指向内核的根目录和驱动的根目录:

exportLINUX_ROOT=/work/projects/test/linux-2.6.35

exportDRV_ROOT=/work/projects/test/drv

接下来修改源码的根目录,这里的根目录指的是mppMakefile文件所在的位置,我们选择sample下的vio项目进行测试,在此将相对路径指向它:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第4张图片


接着修改生成命令:



然后就可以在VS下正常地执行生成操作了!


 


1.7    调试前的准备工作


在海思的SDK中提供了gdb,但它是6.8版本,而VELT是在gdb-7.x的版本上开发的,因此不使用SDK中的gdb,用VELT中带的gdb-7.8.2,这个文件位于VELT根目录下的bin\gdb-7.8.2\hi3516\target,将其下载到目标板上并改名为arm-hisiv100-linux-uclibcgnueabi-gdb,加上执行属性。这里的红色部分必须和编译主机参数中的工具链前缀一致。

 


1.8    修改目标主机的参数


接下来修改目标主机的参数:


根据实际情况配置。 


1.9    调试参数配置


接下来修改调试参数:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第5张图片



这里的命令就是我们要调试的程序,命令参数是传递给应用程序的参数,sample_vio需要一个数字做为参数,写0,但目前VELT还不支持此参数,因此我们将参数直接写在命令后面(这一个字符串直接传递给gdb做为启动参数)。

调试前命令是启动gdb之前要执行的命令,可以在此将编译后的应用程序下载到目标板上,如我们的项目配置为:

用VS2013+VELT-0.1.4 进行Hi3516 Makefile应用程序 的开发_第6张图片


VELT中带了tftpd32做为TFTP的服务程序,如果有需要可以打开它。如果采用其它的TFTP服务也可以不使用。

做完上述工作后就可以开始调试了,F5GO~~~~~


搞定!!








你可能感兴趣的:(linux,MSBuild,VS2013,velt)