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内核的可视化源码级调试。

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

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

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

    关注

    5209

    文章

    20679

    浏览量

    337259
  • 51单片机
    +关注

    关注

    278

    文章

    5716

    浏览量

    135178
  • keil
    +关注

    关注

    69

    文章

    1232

    浏览量

    173221

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式软件开发工具市场新动向:订阅制趋势下的中国开发者选择

    面对软件业从永久授权模式广泛转向订阅制的行业趋势,作为行业两大主流嵌入式软件开发工具,即Keil MDK与IAR Embedded Workbench也推出了不同的市场策略,正在为中国开发者带来新的选择考量。
    的头像 发表于 01-30 17:20 934次阅读
    <b class='flag-5'>嵌入式</b>软件<b class='flag-5'>开发工具</b>市场新动向:订阅制趋势下的中国<b class='flag-5'>开发</b>者选择

    MIKROE与瑞萨签署多年MCU嵌入式开发工具支持协议

    2026年1月28日: 作为一家通过提供基于成熟标准的创新式硬件、软件产品来大幅缩短开发时间的嵌入式解决方案公司,MIKROE与总部位于东京的全球半导体解决方案提供商瑞萨电子签署了一项为期多年
    发表于 01-28 12:04 1356次阅读
    MIKROE与瑞萨签署多年MCU<b class='flag-5'>嵌入式开发工具</b>支持协议

    什么是嵌入式应用开发

    。 · ‌医疗设备‌:如心电图仪、血压计等。 开发工具和技术 嵌入式开发过程中常用的工具包括: · ‌集成开发环境(IDE)‌:用于编
    发表于 01-12 16:13

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线啦!新版本重点聚焦性能提升、工具链升级、多点触控体验以及开发板适配,进一步优化IDE界面,增强功能稳定性,并完善
    的头像 发表于 12-28 09:45 2022次阅读

    C语言单元测试在嵌入式软件开发中的作用及专业工具的应用

    替代的重要性,特别是在汽车电子、工业控制、航空航天等安全关键领域。winAMS作为专业的嵌入式C语言单元测试工具,通过编译器级代码解析、目标代码级覆盖率验证和硬件虚拟化等先进技术,为嵌入式开
    发表于 12-18 11:46

    嵌入式开发工具版本的选择策略

    今天,我们就来结合嵌入式常见的几个软件(如Keil / IAR、VS Code 、Source Insight、VMware、Git等),简单讲一讲嵌入式开发工具软件版本选择策略。 开发团队软件
    发表于 11-25 06:11

    嵌入式开发的关键点介绍

    嵌入式系统的应用非常广泛,例如:智能家居、智能手表、智能手机、智能汽车等等。嵌入式开发需要开发人员具备深入的硬件知识和编程经验,但是也有一些嵌入式开发工具可以帮助
    发表于 11-13 08:12

    嵌入式开发工具的现状和发展简史

    集成开发环境(IDE)正在经历深刻变革。传统意义上披着“图形界面”外衣的编译器,已不再能满足当今的需求。随着嵌入式系统变得越来越强大,而且AI开始融入几乎所有设计中,开发者需要的是能够
    的头像 发表于 11-11 09:49 1504次阅读

    嵌入式软件测试与专业测试工具的必要性深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,软件测试面临着独特的挑战和严格的要求。专业测试工具嵌入式软件开发过程中发挥着不可
    发表于 09-28 17:42

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式软件
    的头像 发表于 08-20 09:15 4241次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1458次阅读

    嵌入式工程师为什么要学QT?

    、车载系统和消费电子等领域尤为突出。跨平台特性、丰富的库和工具、高性能以及强大的GUI支持,Qt成为嵌入式开发最理想的选择。 嵌入式工程
    发表于 08-14 15:15

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

    文档等非常方便,因为它查找,定位,彩色显示等功能非常强大。开发人员会当成源代码阅读工具使用。 4. Keil uVision5 Keil 5 软件是一款功能强大的嵌入式系统开发工具
    发表于 07-03 17:06

    Linux嵌入式和单片机嵌入式的区别?

    : 单片机嵌入式开发环境相对简单,通常使用C语言或汇编语言进行编程,开发工具包括Keil、IAR等。 Linux嵌入式开发环境较
    发表于 06-20 09:46

    IAR开发平台升级Arm和RISC-V开发工具链,加速现代嵌入式系统开发

    IAR正式发布旗舰产品的重大更新版本:Arm开发工具链v9.70和RISC-V开发工具链v3.40。
    的头像 发表于 06-11 14:28 1144次阅读