Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42494
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 167
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 10:02
文章分类
文章存档

2015年(10)

2014年(14)

我的朋友

分类: 嵌入式

2015-04-07 13:33:02

  建华科技经过多年研发,成功推出SldView嵌入式Linux集成开发环境。SldView运行于Windows系统中,支持μC/OS_II、μClinux和Linux三种嵌入式操作系统的开发;支持编辑代码、交叉编译和交叉调试的开发全过程;支持Linux内核、驱动、任务级、模块等动态调试;支持内核、驱动、任务、模块等同步调试。


  1 当前嵌入式Linux开发模式


  嵌入式系统通常为一个资源受限的系统。直接在嵌入式系统的硬件平台上编写软件比较困难,有时甚至是不可能的,开发流程如图1所示,开发模式如图2所示。目前,一般采用的办法是,先在通用计算机上编写程序,然后通过交叉编译,生成目标平台上可运行的二进制代码格式,最后下载到目标平台上的特定位置运行。


  建立嵌入式Linux交叉开发环境。目前,常用的交叉开发环境主要有开放和商业两种类型。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式,在宿主机上编写好源代码及相关的配置文件。


  交叉编译和链接。在完成嵌入式软件的编码后,就可以进行编译和链接,以生成可执行代码。由于开发过程大多是在Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonJBall等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。通过编译连接后,即可下载到目标机运行。


  在嵌入式系统开发中,完成编译连接只是开发工作的一小部分,而令广大开发人员头痛的则是下载到目标机进行调试。多数的嵌入式系统开发都是基于操作系统的,而目前大多数集成开发环境都不支持Linux调试,仅有的几种开发平台功能简单却昂贵的让大多企业望而却步。


  2 SldView集成开发工具的特色


  SldView除了实现目前常用集成开发环境的开发和调试功能外,还提供了Linux内核、驱动、任务级、模块等动态调试,这是广大开发人员最急切的需要。它完全支持OS内核调试,并可以进行任务级与线程的实时调试。SldView可以对多个任务同时进行跟踪调试,动态检测到任务的启动,然后加载任务的符号表,开发人员可完全控制任务的运行,并可以在内核态及任务态问自由切换。此外,SldView还提供了内存管理、任务绑定、Timer查看、任务Time管理、任务上下文查看等调试功能,极大方便了开发人员的OS调试,使开发效率大幅度提高。


  在代码级调试方面SldView也非常优秀。SldView提供图形和命令行两种调试方式,并支持软件模拟功能。设计人员可以动态选择程序下载地址,且下载速度快,尤其适用于用户调试代码量大的程序。强大的断点设置、变量察看、寄存器查看、自定义寄存器查看、板上寄存器查看、函数堆栈显示等功能,可以让设计人员掌握程序运行的每一个细节。SldView还支持源代码窗口、汇编程序窗口和混合窗口的显示。


  SldView集成开发环境界面直观友好,类似于MSVisual Stduio。设计人员可以很方便的创建、配置工程,然后编译、调试程序,也可以直接打开编译好的目标文件来调试。SldView完全支持Rcc、ads等编译器生成目标代码的调试。设计人员可以根据自己的需要制定开发环境,也可以选择试用英文版。


  3 应用实例


  3.1 Linux应用程序开发


  由于没有合适的开发环境,linux应用程序的开发效率往往都很低,特别是用户进程的调试非常困难,而SLD-View的出现使这些问题得以解决。


  使用SldVleW的Linux工程向导或其他文件编辑器建立应用程序源文件和相关配置文件。在SldView配置好OS,运行config、dep、make命令即可编译Linux,如果没有报错则会生成相关的二进制文件。使用SldView链接开发板并下载二进制文件,这时就可以调试Linux应用程序了。


  SldView会自动拦截Linux运行过程中的每一个进程,并提示开发人员是否进行调试。例如当开发人员运行应用程序“LCD”时,该进程被SldView拦截并挂起,同时SldView会提示是否调试该进程,如图3所示。
推荐阅读:http://www.steelhome.cn/blog/blogentry.php?entryid=101442
阅读(577) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~