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

姓名:王靖尧  学号:16020188025

转载自https://blog.csdn.net/DP29syM41zyGndVF/article/details/80971956


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


深层次使用嵌入式开发工具,做高水准开发人员

——赛诺微医疗科技(浙江)有限公司电子设计主管 唐思超

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_x阅读 15,968评论 3 119
  • 你最近一次眼睛和别人对视超过1分钟是什么时候? 除开今天,我应该是在高中,和同学打赌玩游戏,谁先眨眼谁输。当时心里...
    揭森阅读 239评论 3 2
  • biang,biang面口诀 一 一点一横长 二字口封梁 两边绕个丝瓤瓤 中间一个马代王 你也长我也长 心儿来铺底...
    杏丹雪姣阅读 4,206评论 0 1
  • 邻接表简易定义//定义简易邻接表 SPFA不完整实现
    绍重先阅读 255评论 0 0