嵌入式必备工具推荐,让工作事半功倍

2019-08-05 11:12:57 来源:21ic电子网
标签:

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有μcos,vxworks,linux,android等。当然,对于嵌入式或单片机工程师的利器就是C语言、C++或汇编语言。那么有哪些好工具可以让工作事半功倍呢?

 

 

据著名单片机工程师鱼鹰Osprey介绍,首先我学习的是Qt,而要学习Qt就必须学C++,而学了Qt之后发现新公司采用linux开发单片机,涉及到Makefile,还用了GitLab管理代码,所以又简单学习了GitLab的操作,然后发现代码管理还要使用Git,所以花了几天时间学习Git的使用……

 

很多单片机开发的道友都是手握KEIL行走天下的,事实上在跳槽之前我就是如此,一个KEIL搞定一切,编辑、编译、下载、调试,全靠KEIL软件,也是我研究KEIL这么深的原因,因为只有你熟悉了工具,才能做到事半功倍。

 

接下来就给大家介绍几款嵌入式开发工具。下面这些工具,我认为你都应该花点时间学习一下,这是非常有用的工具,非常方便。

 

1、Source Insight

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能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。

 

鱼鹰对这个工具的评价是:我们知道KEIL查看函数或者符合定义时,要么右键查找定义,要么熟练的使用快捷键 F12 进行跳转,但无一例外的就是都需要额外的操作,但SourceInsight只要你把光标指向函数名,就会自动有一个小窗口显示函数体,看似只比KEIL少了一步,也只是多了一个窗口而已,但就是这点区别,就足以让鱼鹰安装了(事实上它也可以在设置后编译源码的,这个暂时没去研究过,不多说)。在看别人代码的时候,跳来跳去的正常不过了,而KEIL每次跳转都会跳转到新窗口,想回来,只能再切换窗口,如果跳转次数不多的话,那没什么,但是查看不熟悉的代码,你认为你不需要频繁跳转吗?所以鱼鹰认为,这个神器必须安装,特别是查看linux内核这种大型源码时,更是如此。而且它安装包也很小,不用太关心内存问题,你,值得拥有。

 

 

2、UltraEdit

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

 

UltraEdit 是 Windows 旗下一款流行的老牌文本/HEX 编辑器(非开源)。UltraEdit 正被移植到 Linux 平台。该移植名为 UEX,意即 UltraEdit forLinux。UEX具有原生的 Linux 外观,其界面、配置、热键等与 Windows 版并无二致。UltraEdit是一个49.95美元的共享软件,提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏,以及一大堆其他的功能,内置了对于HTML、PHP和JavaScript等语法的支持。UltraEdit代码折叠支持在所有 32 位Windows平台上进行 64 位文件处理(标准),Unicode 支持基于磁盘的文本编辑和大文件处理 - 支持超过 4GB 的文件,即使是数兆字节的文件也只占用极少的内存。

 

 

 

 

3、Git

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

 

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

 

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

 

Git有什么特点?简单来说就是:高端大气上档次!

 

鱼鹰对这个工具的评价是这样的:这个工具用于软件版本控制的,事实上鱼鹰在前五年开发使用的版本工具就是复制、粘贴,你没有看错,鱼鹰工作的那一年也是采用这种方式进行版本控制的。我相信公众号的很多道友现在还都是采用这种方式吧。这种方式确实简单,不用学习什么命令,也不用知道怎么使用工具,因为复制、粘贴、重命名谁不会啊,学习成本很低。

 

但是当你不停的更新、不停的修改代码的时候,你就会发现,这个复制粘贴的方式效率很低,也很难把控:你会发现你的文件夹变得越来越多,也越来越不知道每一个文件和其他文件有什么不同了,时间久了,你根本不知道改动到底在哪。

 

但是Git不一样,你能看到文件只有当前使用的一份,历史改动全部被Git给隐藏了,所以你会看到你的源码文件明明只有几K,但你回到上级目录查看这个文件属性时,你会发现可能有几百M内容,那么多出来的文件是什么?就是你以前的历史文件了,都隐藏在.git文件夹中。

 

而你要查看这些历史只要几条命令就行,也很容易就能回到你需要的版本中,就如乘坐时光机,轻松来往于过去与未来。

 

还有它可以很方便的查看版本的差异,让你再也不用使用专门的工具查看各个文件的不同了。

 

而且Git是采用本地管理的,不需要网络,非常方便。

 

学习Git基本使用方法只需要花个一两天时间学习就够了,但是却能免除你今后开发生涯的复制、粘贴操作了,鱼鹰觉得这是非常值得做的一件事。

 

Git教程:https://www.liaoxuefeng.com/wiki/896043488029600

 

 

据某工程师分享,git版本管理的客户端自己使用比较多的是msysGit。msysGit提供gui与bash两种视图:

 

 

 

4、TortoiseSVN

ortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。

 

开源的可视化的集中式代码版本管理。相关于git的优点是(1)提交号是一个累加的数值,便于识别;(2)本地硬盘空间占用少。

 

下载地址:https://tortoisesvn.net/downloads.html

使用教程:https://www.runoob.com/svn/tortoisesvn-intro.html

 

 

5、GitHub

GitHub的大名无人不知无人不晓,从996、微软开源、锤子开源到小米开源都有它的身影。

 

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

 

鱼鹰表示,GitHub是一个网站,不能算工具,这个网站应该都听说过,其实这个网站我还不怎么会使用,目前只是配合Git上传代码到上面而已,就不多说了。

 

那么为什么我要用它呢,因为很多时候,你的源码可能要传输到别的平台,有了它比较方便,比如说,window平台下开发的代码,上传到GitHub后,Ubuntu、树莓派等平台下都可以下载、上传,方便代码的同步。所以如果你不想花时间系统学习的话,把它当成一个网盘使用也是不错的呦。

 

 

6、Qtcreator

Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

 

鱼鹰表示,这个软件和Qt有啥关系我也不清楚,咱也不敢说,咱也不敢问,只是下了一个安装包安装在Ubuntu下学习C++和Qt而已,事实上它也可以编译单片机代码(前提是有Makefile和交叉编译器)。

 

那么为啥要聊它呢,因为Qt在嵌入式用途广泛,如果说你写的上位机既想在Windows运行,也想在linux下运行,那么Qt是不错的选择,因为这个号称是一次编写,到处编译的,所以优势还是很大的,而且采用的是C++语言,如果C语言学习的好,C++入门非常快的。

 

点击查看源网页

 

7、Vs code

在开发中,有一个非常好用的工具,Visual Studio Code,简称VS code。

 

都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服。

 

VS code特点:开源,免费,自定义配置,集成git,智能提示强大,支持各种文件格式(html/jade/css/less/sass/xml),调试功能强大,各种方便的快捷键,强大的插件扩展。。。。

 

鱼鹰表示,这个听说是神器,具体多神我也不清楚,听说可以替代KEIL了,各位道友有兴趣的可以去研究一下,后期有时间了我也去试试,感受一下它的神威。

 

点击查看源网页

 

8、Beyond Compare

Beyond Compare是一套由Scooter Software推出的软件,主要用途是对比两个文件夹或者文件,并将差异以颜色标示。

 

Beyond Compare支持11种文件类型对比及功能,包括文件夹比较、文件夹合并、文件夹同步、文本比较、文本合并、表格比较、16进制比较、MP3比较、图片比较、注册表比较和版本比较,比较类型非常多。

 

 

9、HHD Software Device Monitoring Studio

HHD Software Device Monitoring Studio 是一款功能强大的设备监控软件,包括USB监控(USB Monitor)、串口监控(Serial Monitor)和网络监控(Network Monitor)三大模块功能。HHD Software Device Monitoring Studio 是在驱动层直接抓取数据包,反馈的数据包之间的时间间隔很准确。是开发者必备工具!

 

 

10、山外多功能调试助手

山外多功能调试助手是一款集成串口调试助手、摄像头调试、线性CCD调试、虚拟示波器、GSM调试助手、GPS定位系统、网络调试助手(TCP服务器、TCP客户端、UDP)等多种调试功能于一体的多功能助手。有了他,我们可以轻松应对各种嵌入式开发。

 

 

11、串口调试工具

比较好用的串口调试工具有SSCOM,MyDockligh,AccessPort;如果是调试AT的话,QCOM还是最好用的一款串口工具。

 

当然,之前嵌入式ARM也曾经报道过一款非常好用的串口助手“伏特加”——《为了爽快地调试硬件,我跟串口调试助手杠上了》

 

12、Wireshark

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

 

Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

 

在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。

 

Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。

 

强大的网络协议数据报文分析工具,也是深入学习各种网络协议必不可少的利器。

 

 

13、Socket工具

推荐IPoP和TCPUDPDbg。

 

 

 

14、SSHSecureShellClient

强大远程安全远程登录工具。如果使用虚拟器的方式开发Android等Linux系统,建议使用该工

具,避免在图形界面操作Linux系统,减少PC的负载。XShell也有不少工程师在用,本人没有用过。

 

 

15、MQTT调试工具

Sever端推荐mosquitto,客户端推荐paho。

 

Mosquitto是用C语言实现了MQTT(Message Queueing Telemetry
Transport)协议的Broker,EMQ君在本文对MQTT协议不做过多的赘述,关于 MQTT 协议的介绍读者可以阅读EMQ的MQTT协议介绍。本文重点介绍mosquito客户端的使用。

 

 

Eclipse Paho:是Eclipse提供的一个访问MQTT服务器的一种开源客户端库。

 

Eclipse目前提供十种不同语言平台的客户端类库,
对于Java平台而言和MQTT服务器交互的开源框架还有很多, 例如:
Eclipse Paho Java、 Xenqtt、 MeQanTT、 Fusesource mqtt -client、 moquette 等等...


但是, 根据GIthub上使用次数来讲Eclipse Paho无疑是主流, 就个人使用而已, Eclipse Paho集成非常方便、简单。

 

点击查看源网页

 

16、MobaXterm

远程连接终极工具,提供了主流的远程工具(SSH, X11, RDP, VNC, FTP, MOSH, ...)与Unix commands (bash, ls, cat, sed, grep, awk, rsync, ...)。

 

 

17、SecureCRT

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议。小巧好用,从没换过。

 

 

18、文件夹管理器total commander

Total Commander 是一款应用于 Windows 平台的文件管理器 ,它包含两个并排的窗口,这种设计可以让用户方便地对不同位置的“文件或文件夹”进行操作,例如复制、移动、删除、比较等,相对 Windows 资源管理器而言方便很多,极大地提高了文件操作的效率,被广大软件爱好者亲切地简称为:TC 。

 

它拥有文件快速预览、快速搜索、多标签、文件比较、批量重命名、FTP 客户端等诸多实用的功能,并可通过大量的插件进行个性化配置。

 

 

19、网络抓包软件wireshark

Wireshark(前称Ethereal)是一个网络封包分析软件。

 

 

20、文件搜索Everything

Everything速度最快的文件搜索软件,可以瞬间搜索到你需要的文件。

 

 

21、文本编辑器notepad++

Notepad++是一套为自由软件的纯文本编辑器,支持众多程序语言,比如C++、C#、Java等主流程序语言;支持HTML、XML、ASP,Perl、Python、JavaScript等网页/脚本语言。

 

 

参考资料:

【1】鱼鹰Osprey  . 《介绍几款好用的工具 | 嵌入式开发必备 》
【2】佚名 . 《嵌入式开发常用工具(windows)》
【3】佚名 . 《介绍几款嵌入式开发工具,或许能用上!》
【4】归云十九少 . 《嵌入式软件开发工具集锦》
【5】百度百科相关词条

 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
先进能源完成对Artesyn嵌入式电源的收购

Embarks on a new chapter as a highly diversified premier power conversion company with global presence and scale across critical technologies and markets

Microchip大中华区技术精英年会2019报名注册现已开放

Microchip Technology Inc.(美国微芯科技公司)今日宣布,2019年大中华区技术精英年会现已开始接受报名。技术精英年会是Microchip为嵌入式控制工程师举办的技术培训盛宴。

实施开放标准数据安全

随着全自动飞行器的出现,航空工业正进入第四次浪潮。相互独立的嵌入式设备、联邦系统、集成模块化航空电子设备(IMA)分别是前三次浪潮的特征。如今迎来的是遍布航空航天领域的系统之系统(Systems-of-Systems)。

IEE2019第八届嵌入式系统展将于12月19-21日在深圳举办

首先是平头哥正式发布RISC-V处理器玄铁910、并开放IP Core。仅仅半个月后,华为也推出基于微内核的全场景分布式操作系统 -- Harmony OS鸿蒙。

凌华科技嵌入式显卡助力提升嵌入式应用的性能、生命周期和投资回报率

全球领先的边缘计算解决方案提供商,NVIDIA® Quadro® 嵌入式合作伙伴——凌华科技,今天发布面向边缘计算应用的全新的嵌入式显卡产品系列——EGX-MXM-P1000和EGX-MXM-P2000(MXM模块)。

更多资讯
任正非“最大胆”的提议:将华为的5G“堆栈”转让给竞争对手

美国对华为的打压已经是人尽皆知了。虽然面临美国极力围剿,华为依旧凭实力成为全球5G绝对领先者。

谷歌、亚马逊、苹果和Facebook接受反垄断调查,进展如何?

与非网 9 月 16 日讯,此前亚马逊、苹果、谷歌和facebook被美国众议院反垄断小组调查,以下是最新进展。

高通骁龙X50 5G基带连接性能出色 发热与4G无差异

“七月流火,八月未央,九月授衣”,虽说火热的夏天已经渐行渐远,但是5G的热度却丝毫未减。近两三个月,随着搭载高通骁龙X50 5G基带的中兴Axon 10 Pro 5G版、iQOO Pro 5G版等先后在国内上市售卖,5G手机不再只是各大科技展会上让人望穿秋水的样机,而是实实在在来到了我们身边,是人们可以随时购买、上手使用的科技新品。

从 1G 开始的空白时代,中国 5G 为何能够领先全球?

与非网9月16日讯,中国企业在5G初期的领跑优势,手机终端企业更为明显。

任正非的下一步:大方出售 5G 技术

与非网9月16日讯,作为下一代的极速移动通信网络,5G将很快把从汽车到工业机器人的一切东西连接起来。然而,华为在提供的这种人们渴望已久的技术时,却遭到美国为首的少数西方国家的“抹黑”。