用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

快乐虾

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 studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.4,仅支持vs2013。此插件可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8429771),安装过程参见《用vs2013+velt-0.1.4进行嵌入式开发:插件安装》。下面是它的基本功能:

  1. 支持x86 Linux,海思hi3516/hi3520,MinGW这几个平台,提供这几个平台的项目模板。
  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等。

本文讨论用它来进行海思平台的Linux内核开发。在开发前应当先在Linux下安装好海思SDK中的交叉编译器。依照VELT的要求将Linux下的/work/通过samba共享出来,在Windows下映射为Z:\。

1.2    准备内核代码并共享

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

1.3    创建内核工程

接下来在VS中新建一个Hisilicon平台的内核工程:

注意这里选择的路径Z:\projects\test,这是我们存放内核代码的根目录。

当然,这个项目也不是一定要放在这个位置,只是VELT的项目模板是这么配置的,我们为了偷懒少配置路径,也就选择了和它一样的路径。

1.4    配置编译主机的相关信息

接下来我们需要配置编译主机的信息,打开项目属性页:

这里的信息需要根据你的实际配置进行更改!

1.5    内核配置

在第一次编译之前,必须配置内核参数并保存:

不论有没有进行修改,都必须保存一次配置!!

1.6    编译内核

在进行上述配置后就可以编译了,直接按F7生成项目。

很轻松吧!

这里有一个小BUG,当编译有警告时,VELT也认为生成过程有错误!

1.7    修改编译命令

有时我们需要更改make的命令,此时可以通过项目属性中的Make页来完成:

在这里可以写上自己需要的编译命令。

VELT在登录编译主机后将执行这些bash命令。

注意这里的命令是在编译主机上执行的bash指令,而不是windows下的命令!!!

同样,重新生成和清理的命令也可以自行修改。

1.8    加快IntelliSense的分析速度

在VELT项目模板的IntelliSense配置中,已经加上了linux内核的include目录,但由于这些文件是通过SAMBA共享的,严重影响了IntelliSense的速度,因此我们将其复制到windows下,然后修改IntelliSense的包含目录,让其指向本地的文件:

这里的路径和预处理器定义都不会影响到UBOOT的编译行为,只是让VS能够正确分析我们的代码而已!

经过这个操作可以发现IntelliSense分析代码的速度明显加快!!

1.9    手工编译

有时我们需要登录编译主机进行一个手工操作,此时可以使用VELT提供的连接编译主机功能:

VELT会打开一个bash窗口:

可以看到,VELT已经将部分的变量导出为Bash的变量了,我们可以方便地使用这些变量,如:

cd $ProjectDir

就可以进入我们的项目文件所在的目录了。

而且可以使用bash的代码补全功能访问这些变量,如输入$Pr并按tab时,bash会自动将其补全为$ProjectDir。

由于已经导出了ARCH和CROSS_COMPILE,在执行make内核时就不再需要输入这两个参数了!

1.10    项目文件添加

VELT的项目模板只添加了少数几个文件做为示例,可以根据自己的需要将内核的其它文件添加进来!

1.11    错误处理

当开发过程中有语法错误时,VELT可以正确定位到错误所在的位置:

双击这个错误行就可以自动打开文件进行修改了!

??

时间: 2024-10-01 07:39:37

用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发的相关文章

用VS2013+VELT-0.1.4进行海思平台 UBOOT 的开发

快乐虾 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 studio的IDE中进行Linux应用程序

用vs2013+velt-0.1.4进行嵌入式开发 进行海思平台 UBOOT 开发

1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译,并根据编译时的错误信息正确定位到源码.目前的版本是0.1.4,仅支持vs2013.此插件可以在CSDN下载频道下载(http://download.csdn.ne

转:基于ArcGIS10.0和Oracle10g的空间数据管理平台一(C#开发)

很久没有写技术博客了,记得最后一次在CSDN上写技术博客还是2010-08-09 00:31的时候了,那个时候还在学校,虽然大部分时间用于学习编程技术,但是还是有一点的时间和精力来写一些自己学到的东西.学到的编程基础知识在很多书籍和google都能很容易找到,所以自己写技术博客偏向技术实践,就是在特定的需求下完成一些技术性的编程工作.现在自己已经毕业4个月左右了,工作一直比较忙,业余时间也在不断的学习新知识.以后会陆续将自己学到的技术知识在具体实践过程中的心得和体会与大家分享.今天准备开始分享的

海思Hi3518EV200(2)开发环境

1. Linux开发环境 2. Linux开发环境描述 3. 搭建Linux开发环境 1) 安装Linux服务器 这里使用ubuntu 10.04 LTS 2) 安装交叉编译工具 海思SDK包中提供专门的编译工具链:arm-hisiv300-linux和arm-hisiv400-linux. 3) 安装SDK 将Hi3518E_V200R001XX.tgz拷贝到linux服务器上,解压tar后执行./sdk.unpack 4) 烧写uboot/内核/根文件系统 这里使用SDK包里面默认的uboo

海思平台程序运行出现无法在虚拟地址处理内核分页请求错误

程序执行后出现错误提示无法在虚拟地址0a209001处理内核分页请求 这种问题 错误出现的日志为 Unable to handle kernel paging request at virtual address 0a209001pgd = dbd38000[0a209001] *pgd=00000000Internal error: Oops: 805 [#3] SMP ARMModules linked in: nvp6124_ex(O) gpioi2c(O) hi3531a_adec(PO

Khronos推出OpenXR 0.9规范临时版 简化平台XR应用程序开发

由多家软硬件公司组成的开发联盟Khronos,公开OpenXR 0.9规范的临时版本,提供统一的跨平台API,简化各平台XR应用程序的开发工作.XR指的便是由计算机透过人机互动,所产生真实和虚拟的组合环境,包括虚拟现实(VR).增强实境(AR)和混合实境(MR)等相关技术.Khronos OpenXR工作小组在2017年的时候成立,而OpenXR则是一个免授权金的XR开放标准,其扮演应用程序和XR Runtime系统的接口.Runtime功能包括处理影格组合.外围装置管理以及原始的追踪讯息等功能

用VS2013+VELT进行Linux开发

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 1.1.1  什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visualstudio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行uboot和linux内核的编译和调试,并根据

安装 Linux 内核 4.0

大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3.19.4之后发布的内核.4月12日是所有的开源运动爱好者的大日 子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了.由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的 硬件支持以及很多有趣的功能都有新的版本,它原本被期望是一次重要版本.但是实

如何在Ubuntu/CentOS上安装Linux内核4.0

大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3.19.4之后发布的内核.4月12日是所有的开源运动爱好者的大日 子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了.由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的 硬件支持以及很多有趣的功能都有新的版本,它原本被期望是一次重要版本.但是实