zoukankan      html  css  js  c++  java
  • 【ARM-Linux开发】用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    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 est

     

    1.3    创建内核工程

     

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

     

     

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

    当然,这个项目也不是一定要放在这个位置,只是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可以正确定位到错误所在的位置:

     

     

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

  • 相关阅读:
    结构型模式代理&适配器
    创建型模式单例&工厂&建造者&原型
    结构型模式装饰者&桥接&门面
    python中列表(list)的使用
    Win2003 域控制器设置和客户端安装
    Python下冒泡排序的实现
    乔布斯在斯坦福大学毕业典礼上的演讲
    字符串替换
    统计文件中某一字符串出现的次数
    [用户 'sa' 登录失败。原因: 该帐户被禁用]的解决方案
  • 原文地址:https://www.cnblogs.com/huty/p/8517008.html
Copyright © 2011-2022 走看看