当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]也许能用得上,用过的都说好

作者:熊猫


嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有μ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、Vscode


在开发中,有一个非常好用的工具,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】百度百科相关词条


-END-


嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭