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

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

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

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

    关注

    5082

    文章

    19118

    浏览量

    305089
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123586
  • keil
    +关注

    关注

    68

    文章

    1212

    浏览量

    166874

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

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

收藏 人收藏

    评论

    相关推荐

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着一系列强大的工具
    发表于 12-20 15:29

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成
    的头像 发表于 12-09 09:38 246次阅读

    欧时推介微芯嵌入式控制解决方案

    的产品和服务易于使用的开发工具和全面的产品组合能够帮助客户优化设计,降低风险,同时降低系统总成本并缩短上市时间。微芯(Microchip)的解决方案服务于工业、汽车、消费品、航空航
    的头像 发表于 10-31 10:47 203次阅读

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

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

    七大嵌入式GUI盘点

    的桌面开发工具工具允许开发人员在桌面上设计GUI并生成GUIX代码,然后可以将其导出到目标。
    发表于 09-02 10:58

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一个基于Linux的操作系统和
    的头像 发表于 09-02 09:09 385次阅读

    嵌入式linux开发板芯片的工作原理

    了处理器、存储器、输入/输出接口等硬件资源的嵌入式系统开发平台。它通常采用Linux操作系统作为底层软件平台,提供了丰富的开发工具和库函数,方便开发者进行
    的头像 发表于 09-02 09:07 391次阅读

    聚焦嵌入式开发中的合规性工具、项目管理工具、版本迭代工具应用

    ,就嵌入式开发与管理领域的最新趋势、工具选择以及DevSecOps实践应用等方面展开了深入探讨。 本期对话龙智资深DevSecOps顾问徐晨晖, 分享嵌入式开发中的合规性工具、项目管理
    的头像 发表于 07-29 15:15 546次阅读

    嵌入式开发前景怎么样?

    嵌入式开发前景非常广阔,这主要得益物联网、人工智能、大数据等技术的快速发展,以及嵌入式系统在各个领域的广泛应用。以下是对嵌入式开发前景的详细分析
    的头像 发表于 07-10 09:00 2703次阅读
    <b class='flag-5'>嵌入式开发</b>前景怎么样?

    飞凌嵌入式Forlinx pinMux,更好用的MPU引脚复用配置工具

    飞凌嵌入式打造了一款专门针对ARM嵌入式MPU引脚复用的软件工具——Forlinx pinMux
    的头像 发表于 07-05 10:28 1817次阅读
    飞凌<b class='flag-5'>嵌入式</b>Forlinx pinMux,<b class='flag-5'>更好</b>用的MPU引脚复用配置<b class='flag-5'>工具</b>

    嵌入式系统怎么学?

    、C++或者Python。这些语言在嵌入式系统开发中都被广泛应用。 3、微处理器/微控制器架构:学习常见的微处理器和微控制器架构,如ARM、AVR、PIC等,了解特性和应用场景。 4、
    发表于 07-02 10:10

    如何提升嵌入式编程能力?

    、SPI、CAN、WIFI、MQTT等多种通信协议。 4. 使用开发工具:熟练掌握嵌入式开发工具,如编译器、调试器、仿真器和实时操作系统(RTOS)。 5. 阅读数据手册:仔细阅读你所使用的微控制器或
    发表于 06-21 10:01

    瑞萨Smart Configurator支持SEGGER集成开发工具

    SEGGER与瑞萨电子(Renesas Electronics)近日宣布达成重要合作,SEGGER的集成开发工具Embedded Studio现已无缝融入瑞萨电子的Smart
    的头像 发表于 05-10 14:25 741次阅读

    嵌入式片上系统和ARM哪个更好

    嵌入式片上系统和ARM各有优势,难以直接比较哪个更好,因为它们在不同的应用场景和需求下都有各自的价值。
    的头像 发表于 03-28 15:14 517次阅读

    AI数字员工的出现:不是取代,而是技术更好服务于人类

    ,它们能够完成复杂的工作任务,并与人类同事进行交互。但这一进步并非旨在替代人力,而是在于技术更好服务于人,提升工作效率和生活品质。
    的头像 发表于 12-29 10:27 433次阅读
    AI数字员工的出现:不是取代,而是<b class='flag-5'>让</b>技术<b class='flag-5'>更好</b>地<b class='flag-5'>服务于</b>人类