随着时代的发展,嵌入式已经成为了时代进步的主流,那什么是嵌入式呢?嵌入式设备有哪些呢?从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
而我们生活中有哪些嵌入式设备呢,如交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等都是我们的嵌入式设备。
是不是对嵌入式的学习现在充满了兴趣?那么想要学好一些技术,实用性工具的使用功不可没,现在就为大家分享几款嵌入式方向常用的软件工具:
阅读理解代码的工具:
understand
Understand软件的功能主要定位于代码的阅读理解。具备如下特性:
1、支持多语言: Ada,C,C++,Cl#, Java,FORTRAN, Delphi, Jovial, and PL/M,混合语言的project也支持
2、多平台: Windows/Linux/Solaris/HP-UX/IRIX/MAC Osx
3、代码语法高亮、代码折叠、交叉跳转、书签等基本阅读功能。
4、可以对整个project的architecture、metrics进行分析并输出报表。
5、可以对代码生成多种图(butterfly graph、call graph、called by graph、control flow graph、UML classgraph等),在图上点击节点可以跳转到对应的源代码位置。
6、提供Perl API便于扩展。作图全部是用Perl插件实现的,直接读取分析好的数据库作图。
7、内置的目录和文件比较器。
8、支持project的snapshot,并能和自家的TrackBack集成便于监视project的变化。
source insight
Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。 Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息。 Source Insight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同,Source Insight能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。
cscope
cscope 是一个 C语言的浏览工具,通过这个工具可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。目前支持 C 和 C++。cscope 自身带一个基于文本的用户界面,不过 gvim 提供了cscope接口,因此可以在 gvim 中调用 cscope,方便快捷地浏览源代码。
Cscope是一个类似ctags的工具。 你可以把它想作是超过频的ctags,因为它功能比ctags强大很多。 在 Vim里,通过cscope查询结果来跳转就象跳转到其他的标签完全一样;它被保存在标签栈里。这样你就可以象使用tags一样在函数等等之间便捷的跳转。在VIM中使用cscope非常简单,首先调用"cscope add"命令添加一个cscope数据库,然后就可以调用"cscope find"命令进行查找了。VIM支持8种cscope的查询功能,如下:例如,我们想在代码中查找调用work()函数的函数,我们可以输入:":cs find c work",回车后发现没有找到匹配的功能,可能并没有函数调用work()。我们再输入":cs find s work",查找这个符号出现的位置,现在vim列出了这个符号出现的所有位置。我们还可以进行字符串查找,它会双引号或单引号括起来的内容中查找。还可以输入一个正则表达式,这类似于egrep程序的功能。
代码编写工具:
vscode
Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。
vscode 作为一款逐渐火热的编辑器。它的特点免费、开源、多平台,以及集成git,代码调试,插件丰富等有点,被大家逐渐熟知和认可。
notepad++
【notepad++简介】
Notepad++是旨在替代Windows默认的notepad而生,比notepad的功能强大很多很多。
Notepad++有两个版本,一个是ANSI版本,一个是UNICODE版本。
对于大多数人把Notepad++作为notepad的增强版,而需要的普通应用的话,ANSI版本和UNICODE版本,其实没啥差别。
notepad++支持插件,添加对应不同的插件,以支持不同的功能。里面除了一些常见的插件之外,还有一些好玩的插件,比如将文字读出来的speech插件。
Notepad++属于轻量级的文本编辑类软件,比其他一些专业的文本编辑类工具,比如UltraEdit等要启动更快,占用资源更少,但是从功能使用等方面来说,不亚于那些专业工具,而windows默认的notepad虽然更“轻量”,但是功能就太少。所以一般用notepad++,或者另一个工具notepad2来代替notapad,同样也代替太复杂和庞大的UltraEdit。
【notepad,notepad2,notepad++,ultraEdit比较】
根据个人对一些文本类编辑工具的使用感觉来看,notepad2比notepad++相对启动更快,占用资源更少,但是相对来说,功能比较少,所以,很多常用的方便的功能,还是没法使用。而ultraEdit虽然功能多,但是太消耗资源,用起来太麻烦了,关键还是收费的,而notepad++是免费的。总的概括如下:
notepad:windows自带的,占用资源最少,启动最快,但是功能太弱,以至于满足需求。是免费的。
notepad2:占用资源稍多,启动也很快,但是功能上,没有notepad++多,更没有ultraEdit多。是免费的。
notepad++:占用资源有点多,启动要停顿一下,但是功能很强大,尤其是支持插件模式,使得扩展性非常好,支持很多的其他高级功能,而且使用起来也很方便。是免费的。
ultraEdit:功能强大,但是安装文件很大,占用资源多,启动慢,而且是收费的。
因此,根据启动速度,占用资源,功能支持,等方面来综合衡量,对于notepad,notepad2,notepad++,ultraEdit来说,无疑notepad++是最好的选择了。
Emacs:
Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim。
EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。
自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种是:1984年由Richard Stallman发起并由他维护的GNU Emacs,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,仍保持着相当的兼容性。
Emacs使用Emacs Lisp,这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。
项目管理工具:
GitHub
Github是一个面向开源的私有软件托管平台,因为只支持Git作为唯一的版本库格式进行托管,所以叫Github。它于2008年4月10日正式上线,它的开发者也是linux之父:“林纳斯·本纳第克特·托瓦兹”,作为一个分布式的版本控制系统,Github的功能除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,在 GitHub 上托管的版本数量非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。Github的仓库是他独有的特征,你大可以理解为一个无限容量且没有传输速度限制的网上云盘,但是这个云盘是可以设置公共与私密空间的,在这个开源的时代,你可以通过这个平台看到世界上许多其他大佬的程序作品,并且学习他们的编程思想,而且这很容易获得。
单片机开发相关工具:
keil5
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
IAR
01跨平台支持
构建工具包括 IAR C/C++ 编译器、IAR 汇编器、链接器和命令行构建工具 IARBuild,支持在基于跨平台的框架中实现自动化应用构建和测试流程。静态代码分析功能可通过插件产品 C-STAT提供。
02灵活和高性能
适用于从小型构建服务器上仅有几个许可证的安装,到同时支持几百个并行构建的大规模安装。构建工具可以实现关键软件构建和测试的大规模部署。
03支持 8000 多款 Arm 芯片
支持所有主要供应商的所有 32 位 Arm 内核和选定的 64 位 Arm 内核。其中包括 Arm Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7、Cortex-M23、Cortex-M33、Cortex-M55、Cortex-R4、Cortex-R5、Cortex-R7、Cortex-R8、Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A35、Cortex-A53、Cortex-A55、Cortex-A57、Cortex-A72 以及 Arm11、Arm9、Arm7 和 SecurCore。
常见调试工具:
串口调试助手
网络调试助手
参数调试助手