当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]建华科技经过多年研发,成功推出SldView嵌入式Linux集成开发环境。SldView运行于Windows系统中,支持μC/OS_II、 μClinux和Linux三种嵌入式操作系统的开发;支持编辑代

建华科技经过多年研发,成功推出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所示。


选择“是”打开相应的.elf文件,如图4所示。这样就可以像调试普通程序一样调试该进程了。


3.2 设备驱动程序调试 在嵌入式系统开发中,其中很大的工作量都是为各种设备编写驱动程序,除非不用操作系统而直接控制硬件。对于任何一位内核代码的开发人员来说。最急迫的问题之一就是如何完成调试。在调试工具缺乏和功能不完善的情况下,大多数开发人员选择使用打印调试的方法,这样的缺点是:调试效率低、不能完全掌握变量值的变化、特别是在大型循环结构中是无法调试的。SldView强大的调试功能可以让驱动程序和OS内核调试像调试普通C程序一样简单。 先编写好驱动程序源代码并加入到OS内核中,使用SldView重新编译OS。如果没有报错则会生成相应的.elf文件。 在SldView中打开编译好的.elf文件并下载到目标板,定位到编写好的驱动程序设置断点。本例中驱动程序原文件为sc344bOfb.c,设置断点到:int__init s3c44bofb_init(void),如图5所示。


这样系统在加载sc344bOfb驱动程序的时候,当运行到int_init s3c44bOfb_init(void)函数入口就会挂起,开发人员可以单步运行并通过自动变量、自定义变量和寄存器窗口来查看当前程序的运行情况。 4 结 论 SldView集成开发环境的出现为当前大中型嵌入式系统开发商提供了高效的设计调试平台,降低了操作系统调试难度,提高丁开发效率。同时,SldView集成开发环境良好的界面和简单的操作也可作为各高等院校教学实验平台及科研机构的首选。[!--empirenews.page--]

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭