0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式集成开发工具该如何让其更好地服务于设计?

5RJg_mcuworld 来源:电子发烧友网 作者:工程师谭军 2018-07-09 17:42 次阅读

嵌入式开发过程中会使用到各种工具,包括IDE环境、编译工具、软硬件调试工具、操作系统等。根据项目的需求,往往会选择来自不同厂商的工具进行组合。如果能非常方便地将这些不同厂商的开发环境无缝地配合起来,则可以大大减少不必要的工作,这对于开发人员而言很重要。下面就细数一下嵌入式工程师常用到的开发工具!

始于51单片机Keil软件

从接触MCS 51单片机开始,很多工程师就会知道Keil软件。在开发单片机时,要使用C语言或者汇编语言,但这两种语言都不能直接输入到单片机,所以需要一个软件,把C语言或者汇编语言编译生成单片机可执行的二进制代码。Keil公司(现在是ARM 公司的一个公司)的软件恰好提供这样的功能,并且它还有很多优点,比如工程易于管理、自动加载启动代码,集编辑、编译、仿真一体,调试功能强大等。因此,不管是单片机爱好者,还是经验丰富的工程师,都喜欢使用这些软件。

嵌入式工程师常用的Keil公司旗下的软件开发工具

有μVision、RealView、MDK、Keil C51。μVision是一个集成开发环境(IDE),和Eclipse类似。它包括工程管理、源代码编辑、编译设置、下载调试和模拟仿真等功能,有μVision2、μVision3 、μVision4、μVision5 和μVision6 等几个版本,它提供一个环境,让开发者易于操作,但并不提供具体的编译和下载功能,需要软件开发者添加。RealView是一系列开发工具集合的称呼,包括RVD(RealView Debugger),RVI(RealView ICE),RVT(Real-View Trace),RVDS(RealView Development Suite),RVMDK(RealView Microcontroller Development Kit)这些产品

MDK (Microcontroller Development Kit),即KeilMDK、RealView MDK或者Keil for ARM。ARM 公司现在统一使用MDK ARM,MDK 的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具,为满足基于MCU 进行嵌入式软件开发的工程师需求而设计,支持ARM7、ARM9、Cortex M3/M1、Cortex R0/R4等ARM微控制器内核。

Keil C51是基于μVision的IDE,支持绝大部分51内核微控制器开发工具;Keil C166为基于μVision的 IDE,支持绝大部分XC16x、C16x和ST10等系列微控制器开发工具;Keil C251基于μVision 的IDE,支持绝大部分基于251核的微控制器开发工具。

IAR从独立走向与客户融合

IAR Embedded Workbench是IAR Systems公司开发的一套用于编译和调试嵌入式系统应用程序的开发工具,支持汇编、C和C++语言。它能够提供完整的集成开发环境,包括工程管理器、编辑器、编译链接工具和CSPY调试器。每个C/C++编译器不仅包含一般全局性的优化,也包含针对特定芯片的低级优化,可以充分利用所选芯片的所有特性,确保较小的代码尺寸。IAR EmbeddedWorkbench能够支持由不同的芯片制造商生产且种类繁多的8位、16位或32位芯片。

近期,IAR公司就与瑞萨电子合作,将IAR C/C++Complier集成到瑞萨电子e2 studio开发环境中。RenesasSynergy Platform 开发工程师可减少应用代码占用的内存空间,提高了代码执行速度,并且能够为Synergy微控制器增加更多功能。除此之外,IAR编译器生成的代码执行速度快,这样就能使MCU 较长时间地处于低功耗模式,可延长电池寿命,特别适合物联网设备。IAR Systems与瑞萨合作,用户可直接在e2 studio环境中使用IAR C/C++ Compiler,同时仍可选择继续使用面向RenesasSynergy IDE的专有IAR Embedded Workbench IDE。

意法半导体开发工具为MCU安全保驾护航

意法半导体中国微控制器事业部市场及应用总监曹锦东概括了MCU 未来面临的三个方向:更高的性能;更强的通信能力;更高的安全性,因为只要联网就会涉及到安全的问题。针对安全性问题,ST 推出了一款基于ArmCortex M33的STM32产品,支持Trust Zone技术。通过Trust Zone可以实现更高的安全性,且不仅是在微控制器里的安全性,而且还可以提供更多的安全性方面的服务。

要保证系统的安全,光靠硬件是不够的,还需要做到系统性的安全分析,分析可能会出现哪些威胁或漏洞。意法半导体提供物联网安全工具箱,实现了可扩展的嵌入式安全功能,如STM32Trust.CodeProtect,保证用户代码安全且完整地写入可信的STM32产品,包括安全安装、安全编程;STM32Trust.DataProtect,保护有价值的数据不被窃取,包括数据保护、关键存储保护;STM32Trust.ExecutionProtect,将应用程序分为可信和不可信两部分,包括代码执行隔离。

助力嵌入式工程师提高效率的工具

(1) Source Insight

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,拥有内置的对C/C++、C#Java等程序的分析,能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息

Source Insight不仅仅是一个强大的程序编辑器,还能显示reference trees,class inheritance diagrams和calltrees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息,还提供了快速和革新的访问源代码和源信息的能力。

(2) UltraEdit

在嵌入式软件开发中不可避免需要查看一些原始数据,包括不可显示的字符,UltraEdit的HEX 显示查看功能能够很好地解决这个问题,同时,对大文件(比如压力测试时的log问题)支持也是远远好于记事本和写字板。

UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本,内建英文单词检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件,速度也不会慢。

(3) Beyond Compare

Beyond Compare是一款功能强大的内容对比工具,可以比较的内容有以下这三种:电脑上两个目录的内容;电脑上的目录和FTP地址的内容;两个文本档案的内容(包括 UTF 8、html、Delphi源程序等文本档案)。

Beyond Compare有内建的HTML档案浏览器,还有支援压缩包的功能。这些特别的功能可以让用户作跨媒体之间进行比较,例如:把现时网站的内容与一个储存在光碟上的压缩备份档案作比较。

(4) TortoiseSVN

TortoiseSVN是开源可视化的集中式代码版本管理,是Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器,可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。

(5) Wireshark

Wireshark是一款强大的网络协议数据报文分析工具,也是深入学习各种网络协议必不可少的利器。这是一个网络封包分析软件,其撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络封包分析软件的功能可想像成“电工技师使用电表来量测电流、电压、电阻”的工作,只是将场景移植到网络上,并将电线替换成网络线。

(6) SSH Secure Shell Client

SSH Secure Shell Client是一种强大安全远程登录工具,如果使用虚拟器的方式开发AndroidLinux系统,建议使用该工具,避免在图形界面操作Linux系统,减少PC的负载。SSH可以解决口令在网上明文传输的问题,把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

嵌入式开发工具作为开发环节的核心装备,其使用程度直接决定产品的研发效率。

很多开发人员局限于使用嵌入式开发工具的基本功能,却不懂得如何深层次地使用开发工具以实现高效的开发与调试。例如,许多开发人员在命令行下使用GDB,痛苦地调试嵌入式Linux应用程序,却不知道基于Eclipse可以搭建图形化的源码级调试环境;又如,用大量的时间一遍遍跟踪执行目标代码来定位变量被预期之外的代码修改的问题,殊不知使用数据断点即可定位故障点;再如,为了调试Linux内核,安装了大量开源调试工具,却发现没有几样真正有效。最后不得不在代码中增加大量输出信息,试图使用穷举的方式定位问题,却不知道使用JTAG调试器结合通用的IDE,就可以实现Linux内核的可视化源码级调试。

导致工具使用不够深入的原因包括:一是不少应用级开发人员过于把目光集中在问题解决上,宁愿花大量时间使用开发工具的基本功能进行低效率的开发,却不愿花时间深入研究开发工具所蕴含的高效手段或探究高效的分析方法,实际上,许多开发工具的高级技巧在其文档中都有体现,只是许多技术人员忽略了文档;二是多数开发人员仅仅看到嵌入式开发工具的基本功能,而没有意识到其实现机制更值得深入研究,导致无法深入地使用工具。反观那些系统级开发人员,尤其是涉及操作系统底层开发的高级人员,则能较深刻地理解开发工具的运作机制,并能深入运用。

很多情况下,开发工具的潜在能力可以提升数十倍工作效率。如果开发人员在工作中仅会使用嵌入式开发工具的基本功能,则是对工具潜在能力的巨大浪费。因此,能够深入研究嵌入式开发工具背后的机制并将之熟练运用,标志着开发人员的技术水平达到了较高的程度。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18274

    浏览量

    288340
  • 51单片机
    +关注

    关注

    269

    文章

    5648

    浏览量

    120690
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165283

原文标题:如何利用嵌入式集成开发工具,让其更好地服务于设计?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一款适合嵌入式工程师使用的在线工具

    一款适合嵌入式工程师使用的在线工具工具有如下功能,如下图所示: 1. 报文校验功能,如下图所示 2. UDP服务端测试工具
    发表于 04-09 22:20

    品读《基于FPGA与RISC-V的嵌入式系统设计》

    FPGA 1.3 RISC-V 1.4 小脚丫 FPGA 开发平台 1.5 C/C++,Make 与工具链 1.6 嵌入式操作系统 1.7 Arduino 集成
    发表于 03-29 00:06

    嵌入式会越来越卷吗?

    。这种技术进步为嵌入式系统的应用提供了更多可能性,使得在移动设备、医疗保健等领域的应用更加灵活和可靠。同时,新兴技术领域,如人工智能、机器学习,也为嵌入式系统的智能化带来了新的突破,
    发表于 03-18 16:41

    嵌入式软件开发应该掌握哪些知识?

    两个部分组成,其中嵌入式软件是指在嵌入式系统中运行的程序,用于控制硬件并提供特定的功能和服务嵌入式软件应用广泛,包括汽车、医疗设备、智能家居、智能穿戴、工业自动化等众多领域。 二、
    发表于 02-19 11:23

    嵌入式学习步骤

    开发嵌入式学习步骤总结如下: (1).确定目标平台:选择适合您要开发嵌入式系统的硬件平台。这取决您要控制的设备以及您需要执行的任务。
    发表于 02-02 15:24

    嵌入式开发学习的十三法则分享

    嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师为我们总结的关于嵌入式开发学习的十三法则,大家不妨参考一下: 一、冗余度法则 在嵌入式系统具有足够的冗余度
    发表于 12-21 06:32

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧! 嵌入式
    发表于 12-05 15:17

    嵌入式软件开发常用工具有哪些?

    的应用。IDE支持多种Microchip的设备,包括PIC、AVR、PIC32和dsPIC数字信号控制器等。 以上是一些常见的嵌入式软件开发工具,它们各有特点,开发者可以根据自己的需
    发表于 11-10 11:03

    开发板和开发工具指南

    与使用开发环境相比,许多工程师更倾向于将调试点嵌入其代码并使用测试设备来验证其硬件。欧时电子指南将详述开发板和开发工具的优势,并提供关于使用和选择恰当
    的头像 发表于 10-26 14:35 271次阅读

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较其他行业,嵌入式工程师的工资在同
    发表于 10-11 13:47

    Microchip(微芯)推出MPLAB机器学习开发工具

    机器学习(ML)正成为嵌入式设计人员开发或改进各种产品的标准要求。为满足这一需求,Microchip(微芯)近日推出了全新的MPLAB®机器学习开发工具包,提供一套完整的集成工作流程来
    的头像 发表于 09-12 18:26 567次阅读
    Microchip(微芯)推出MPLAB机器学习<b class='flag-5'>开发工具</b>包

    如何将ASCET-Developer开发流程与ARM Development Studio集成

    代码,用于RTA-OS操作系统。 ARM Development Studio是适用于所有ARM处理器的全面嵌入式C/C++开发解决方案。 ARM开发工作室包括ARM编译器,这是一个成熟的工具
    发表于 08-08 07:07

    STM32Cube嵌入式开发工具让MCU开发更智能

    电子发烧友网站提供《STM32Cube嵌入式开发工具让MCU开发更智能.pdf》资料免费下载
    发表于 07-29 11:29 3次下载
    STM32Cube<b class='flag-5'>嵌入式开发工具</b>让MCU<b class='flag-5'>开发</b>更智能

    PX5的ARM TrustZone支持嵌入式系统变得更加安全!

    。 PX5 RTOS支持IAR、Eclipse/GCC和ARM开发工具,支持ARM Cortex-M、Cortex-R和Cortex-A架构。麦克泰软件公司长期从事嵌入式与物联网操作系统、开发工具的销售以及
    发表于 05-18 13:44

    OpenHarmony开发者大会 开发工具分论坛:聚能量赢未来,工具助力应用创新

    分享了OpenAtom OpenHarmony(以下简称“OpenHarmony”) 3.2 Release版本的开发工具开发方法、工程方法及开发者文档相关的技术及内容,希望帮助开发
    的头像 发表于 05-08 14:42 914次阅读
    OpenHarmony<b class='flag-5'>开发</b>者大会 <b class='flag-5'>开发工具</b>分论坛:聚能量赢未来,<b class='flag-5'>工具</b>助力应用创新