嵌入式工程师常用的软件工具推荐

前言:常言道:工欲善其事,必先利其器。作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。作者根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件。希望本篇博客可以让大家学会使用一些新的工具,当然如果读者朋友有其他的好软件推荐也可以在评论区留言!

推荐软件图:

考虑到作者实际目前偏嵌入式软件工程,所以本篇博客仅推荐嵌入式软件工程师的好工具!

一、Visual Studio Code

VS Code 是一个由微软开发且跨平台的轻量级代码编辑器,全称为 Visual Studio Code。它支持语法高亮、自动补全、重构、查看定义等功能,并且内置了命令行工具和Git版本控制系统。用户可以通过更改主题和键盘快捷方式实现个性化设置,也可以通过扩展程序商店安装扩展来拓展软件功能。

Visual Studio Code 个人感觉最厉害的是其自主性,它可以结合很多差距亦或是编译器进行各式各样的嵌入式研发工作!比如:作者就经常用它进行 Linux 驱动、STM32、ESP8266/32(乐鑫有专门的插件平台)!其中,

Visual Studio Code 的众多插件也是其一大特色!作者这里给大家安利几个插件!

1)、C/C++,这个肯定是必须的。
2)、C/C++ Snippets,即 C/C++重用代码块。
3)、C/C++ Advanced Lint,即 C/C++静态检测 。
4)、Code Runner,即代码运行。
5)、Include AutoComplete,即自动头文件包含。
6)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
7)、One Dark Pro,VSCode 的主题。
8)、GBKtoUTF8,将 GBK 转换为 UTF8。
9)、ARM,即支持 ARM 汇编语法高亮显示。
10)、Chinese(Simplified),即中文环境。
11)、vscode-icons,VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
12)、compareit,比较插件,可以用于比较两个文件的差异。
13)、DeviceTree,设备树语法插件。
14)、TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!

在 Ubuntu 中进行嵌入式开发,VSCode应该更是我们的第一选择。

二、Notepad++

Notepad++ 是 Windows 环境下的一款免费开源的文本编辑器。它功能强大,支持语法高亮显示、多重窗口同步编辑、多国语言和多种编程语言,并且可以加载丰富的插件。Notepad++ 还具有完整的中文接口和 UTF8 技术,适合编写计算机程序代码和制作纯文字说明文件。

下载地址:Download Notepad++ - free - latest version (softonic.com)

用户可以通过安装插件来拓展 Notepad++ 的功能,例如代码折叠、代码提示、文档格式化和文档预览等。此外,Notepad++ 还支持自定义宏,可以帮助用户快速执行重复任务或批量修改文本。

总之,Notepad++ 是一款功能丰富、易于使用且具有良好扩展性的文本编辑器,适用于编写各种类型的文本和代码。

三、Visual Studio

不同于 VSCodeVisual Studio 是一个 IDE,我们可以装一个以备不时之需,比如验证C程序或是进行C#程序开发等。一些与嵌入式相关的模拟器也是基于 Visual Studio,作者平时的CUDA代码亦或是科研工作上的C++代码都会使用 Visual Studio 进行验证模拟工作!

除了标准功能外,Visual Studio 还提供了丰富的扩展和插件,以满足不同领域的需求。例如,用户可以通过安装 C++ 扩展来支持 C++ 编程,或者通过安装 Entity Framework 扩展来支持数据访问。

四、Keil uVision

Keil uVision 是一个由 Keil 公司开发的集成开发环境(IDE),用于嵌入式系统的开发和调试。Keil uVision 基于C语言和其他编程语言,支持各种微控制器和处理器,包括STM32AVRPIC等。

我相信广大的嵌入式工程师没有一个不认识上述界面吧,我们接触最多的 STM32 开发通常用得就是该 IDE 。当然,大家一直诟病的是 Keil uVision 的 UI 界面太丑了!MDK6 其实也即将面世,根据作者的了解貌似 ui 设计依旧没有太大的改善,MDK6 貌似更像一个集合体!

Keil uVision 的主要功能包括代码编辑编译调试仿真等。其中,代码编辑器支持语法高亮、代码折叠、自动补全等功能,可以帮助开发人员快速编写代码。编译功能可以将源代码编译成可执行文件或库,以便在目标设备上运行。调试功能可以帮助开发人员调试和测试代码,包括单步执行、断点设置、变量监视等功能。仿真功能可以模拟目标设备的运行环境,以便测试代码的正确性和可靠性。

五、STM32CubeMX

STM32CubeMX 是一个由 ST 意法半导体公司开发的图形化工具,用于配置和初始化 STM32 微控制器,并生成 C 代码。它提供了一个直观的可视化界面,可以帮助开发人员快速配置和设置微控制器的各种外设、引脚和时钟。

STM32CubeMX 可以直接生成 HAL 库的 STM32 配置程序,极大地方便了个人开发者对于 STM32 系列开发板的使用。熟悉作者本人的应该知道,作者很多项目都是以 HAL 库作为教学的。HAL 库的学习好处是很多的,首先意法半导体已经停止对很多开发板的标准库的维护。其次,FreeRTOS 等 RTOS 对 HAL 库直接提供了接口 API 函数,方便开发移植!

作者有话:

HAL 库是未来低代码量,高封装的趋势。但是,HAL 库本身也存在很多缺点,代码效率低,代码冗余等!而且,CubeMX 主要是针对

六、VMWare Workstation

VMware Workstation 是一款功能强大的虚拟机软件,它可以在一台计算机上模拟多个操作系统和应用程序的环境。

嵌入式工程往往需要进行交叉编译的工作,即在 x86 的架构上编译出 ARM 架构的代码。这种操作往往需要我们在 Linux 系统下进行!考虑到大家办公需求,大部分工程师还是 window 作为日常操作系统的。所以,VMware Workstation 极大的方便了我们日常生活中的开发!当然,ROS 等使用也都是需要依赖 VMware Workstation 下的 Ubuntu 的

七、QT Creator

Qt Creator 是一个跨平台的集成开发环境(IDE),专门用于开发基于 Qt 框架的 C++ 应用程序。它是由 Qt Company 提供的免费开源工具,适用于 Windows、Linux 和 macOS 等操作系统。

QT 可以算是嵌入式工程师中比较庞大的分支,属于嵌入式应用层的开发。与 QT 类似的 ui 开发平台还有很多!但是,QT可以说是目前比较常见且成熟的!C++ 功底还行的读者朋友可以往这方面发展发展,薪资待遇都是很不错的!

当然,QT 也可以用来进行简单的 C++ 入门学习仿真使用! 

八、MobaXterm

MobaXterm 我愿称为最强串口调试助手!!!

MobaXterm 是一款功能强大的远程终端模拟器,适用于 Windows Linux 操作系统。它提供了一个集成的远程终端和 X 服务器,可以连接各种类型的远程主机,包括SSH、FTP、Telnet等。关键是它还是免费的。串口或者SSH等协议通信时候,终端平台是可以进行复制粘贴的,这实在是泰酷辣!!!!

作者目前基本 Linux 系统的调试,树莓派4Bjeston nano等系列高级板子都是使用它作为终端控制和调试的,体验感真的是非常棒的!!!相比于收费的 SecureCRT ,它真的是宝藏软件!

九、Vofa+

VOFA+ 是一款直观、灵活、强大的插件驱动高自由度的上位机,在与电气打交道的领域里,如自动化、嵌入式、物联网、机器人等,都能看到 VOFA+ 的身影。VOFA+ 的名字来源于:Volt/伏特、Ohm/欧姆、Fala/法拉、Ampere/安培,是电气领域的基础单位,与他们的发明者——4位电子物理学领域的科学巨人,分别同名。他们的首字母共同构成了 VOFA+ 的名字。

Vofa+ 简单来说就是一款支持数字动图化的上位机,可以用于直观了解实时的数据变化。它也是免费的,同时丰富的插件也将助力嵌入式工程师实际调试需求!

VOFA+推荐学习博客:http://t.csdn.cn/Qyma8

十、Arduino IDE

Arduino IDE 是一款为 Arduino 板提供支持的集成开发环境(IDE)。它是一个简单易用的工具,可以帮助开发人员编写、编辑、上传和调试基于Arduino的交互式电子产品。如今,Arduino IDE 已经完全适配 ESP8266/32 的开发需求,IDE 提供了丰富的使用案例与 arduino 的库函数!

部分工程师可能认为 ESP 系列开发板属于纯玩具,亦或是顶多搞搞物联网,其实非也!根据博主与 MIT 、NJUST 等众多国内外高校同仁了解到:目前,很多高校都将传统的 STM32 教学改为了 ESP32 教学!同时,乐鑫公司在轻量化边缘计算方面甚至优秀!!!时代在奔流不息,相信乐鑫的ESP32系列以后大放异彩!

十一、Logic

Logic 是一种数字逻辑电路的建模和分析工具,它可以帮助用户设计和验证各种数字电路,包括组合逻辑电路、时序逻辑电路和状态机等。

逻辑分析仪是嵌入式工程非常常见的检测工具,逻辑分析仪有很多。但是,Logic 这款颜值和功能都非常耐打!!!奈何价格太贵,不过幸好存在神秘的东方力量!!!

十二、uniapp

uniapp 是一个基于 Vue.js 开发跨平台前端应用的框架,允许开发者使用一套代码,发布到iOS、Android、Web(响应式)等多个平台。它支持各种小程序、快应用等多个平台,使开发者能够更灵活地应对不同的应用场景。

uniapp的优势在于:拥有自己的社区,组件丰富,开发难度低。使得非专职 APP 开发人员可以快速上手开发属于自己的 APP 使用!

uniapp官网:uni-app快速上手 | uni-app官网 (dcloud.net.cn)

十三、Beyond Compare

Beyond Compare 是一个综合的比较工具,可以用于比较文本、文件夹、文件等,帮助用户快速、准确地找到差异和相似之处。它支持多种比较方式,包括文本比较、文件夹比较、文件比较等,可以用于管理原始档、保持资料夹同步、比对程式的输出结果、以及检查所烧入光碟备份的精确度。

Linux 驱动工程师在学习新的开发板驱动时候,往往就需要使用 Beyond Compare 进行老旧驱动代码的对比。这样,可以快速发现改动了那些地方,而这些地方则是日后开发需要重点关注的!

Beyond Compare 官网:下载 | Beyond Compare 中文官方网站 (beyondcomparepro.com)

十四、Git

Git 是一个分布式版本控制系统,用于跟踪和管理项目的变更。它是由 Linus Torvalds 于2005年发起并开发的,现在已成为开源项目并被广泛使用。使用 Git,开发者可以在本地存储项目的版本历史记录,并将其与远程仓库进行同步,以便与其他团队成员共享和协作。它还提供了许多命令和工具,如 git initgit addgit commitgit push和 git pull等,使得开发者可以轻松地管理他们的代码库。

总之,Git是一个强大的工具,可以帮助开发者更有效地管理和协作,同时提供了更好的灵活性和可扩展性。 

十五、Tracealyzer

Tracealyzer 是一个用于实时跟踪和分析嵌入式系统的工具。它是由 MathWorks 公司开发的,旨在帮助开发人员更好地了解和优化他们的嵌入式系统性能。Tracealyzer 通过实时跟踪系统的运行时行为和事件,提供了对嵌入式系统的深入分析。它可以帮助开发人员识别性能瓶颈、调试问题和优化系统性能。

Tracealyzer的主要特点包括:

  1. 实时跟踪:Tracealyzer可以实时跟踪系统的运行时行为,包括任务执行、中断、定时器和事件等。
  2. 性能分析:Tracealyzer可以分析系统的性能指标,如响应时间、延迟和吞吐量等。它可以帮助开发人员识别性能瓶颈和优化机会。
  3. 调试和故障排除:Tracealyzer可以捕获系统中的错误和异常,并提供详细的信息和堆栈跟踪,帮助开发人员调试和解决故障。
  4. 可视化报告:Tracealyzer生成详细的可视化报告,包括任务和事件的时间线、性能指标图表和堆栈跟踪等。这些报告可以帮助开发人员更好地理解系统行为并制定优化策略。
  5. 跨平台支持:Tracealyzer支持多种嵌入式平台,包括基于Windows、Linux和实时操作系统的嵌入式设备。

十六、PyCharm

PyCharm 是一种集成开发环境(IDE),专门用于开发 Python 应用程序。它是一个功能强大的工具,提供了许多功能和特性,以帮助开发者提高效率和创建高质量的 Python 代码。

如今大火的人工智能 AI 技术,譬如:目标检测,自然语言识别等大都需要进行 Python 神经网络的训练。这往往需要借助 PythonIDEPyCharm 是如今非常主流的人工智能开发平台!嵌入式 AI 工程师往往需要在 PyCharm 进行网络模型的训练,之后再进行部署 AI 板子!

十七、Matlab

Matlab 是一种用于数学计算和工程应用的编程语言和交互式环境。它由 MathWorks 公司开发,是一种广泛使用的科学计算语言和工具,用于各种领域,如科学、工程、金融等。可能大部分工程师认为 Matlab 是科研工具,只能仿真模拟!其实,我们可以通过 matlab 的 .m 语言程序转成 C 语言从而在 MCU 中运行一些高级控制算法!

包括图像的滤波算法,也可以在 Matlab 中做预演,之后再编写对应的 C 语言进行移植实现!

Matlab 官网:MATLAB - 技术计算语言 产品信息 (mathworks.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/70345.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考中级-嵌入式系统设计师(一)

第一章 硬件基础 1、嵌入式微处理器结构 ARM采用哈佛结构,是一种RISC体系结构的微处理器。 DSP(数字信号处理技术)采用哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的指令,可以用…

嵌入式软件工程师学习路线图

人们去学习嵌入式的话,最后也是想成为嵌入式软件工程师的,这对于学习嵌入式学员来说还是有些难度的,所以这回小编就给大家介绍下嵌入式软件工程师学习路线图吧。 点击获取1V1嵌入式学习规划,现在还送100G精选学习资料。&#xff0…

嵌入式工程师的『2022 || 2023』

因为一些个人关系,2022年初我从北京回到了石家庄。在找工作,包括后续的研发工作中,不同地点的经历在对比中我逐渐总结出了一些经验。关于“人”方面的感悟我就不赘述了,下面主要在这里总结一些找工作,做工作的经验&…

嵌入式工程师必备开发工具

其实入行也有2年了,这两年用到了不少的开发工具,我猜大家很多也都用到过。这里主要是讲一下用到那些工具,安装自己去找教程吧!毕竟安装这些软件可比开发容易多了! 1.KEIL5 嵌入式产品开发写代码用到的工具。STM32相关…

送5本新出版《趣学算法(第2版)》

文末赠书 学大家在学习算法时遇到的各种困难:看不懂、题目刷了忘然后忘了刷、大部头算法书啃不动。甚至不少人学算法都开始怀疑自己是不是太笨不适合编程了…… 如何轻松学算法? 今天给大家推荐一本《趣学算法(第2版)》。这本书第…

Python趣味代码整合之提升学生编程兴趣

这篇文章主要是整合一些趣味代码,一方面自己对这些内容比较感兴趣,另一方面希望这些代码能提升学生的编程兴趣,其主旨是代码能在我的电脑上运行并有些趣味。 参考资料: 知乎 - 可以用 Python 编程…

趣学算法第二次

14天阅读挑战赛一、一棋盘的麦子 计算一棋盘的麦子&#xff0c;python代码如下&#xff1a; import matplotlib.pyplot as plt s[] def cal(n):sum0i0while i<n:sumsumpow(2,i)i1s.append(sum)return s nint(input("请输入一个数&#xff1a;")) xrange(n1) for …

《趣学算法》阅读笔记(二)

14天阅读挑战赛 话不多说&#xff0c;我们接着上篇文章《趣学算法》阅读笔记&#xff08;一&#xff09;&#xff0c;继续总结学习 1. 第一章 算法之美 1.3 哥德巴赫猜想的证明 哥德巴赫猜想&#xff1a;任一大于2的偶数&#xff0c;都可表示成两个素数之和。 验证&#xff1…

趣学python编程答案_《趣学Python编程》习题总结

上周买了本书叫《趣学Python编程》&#xff08;英文名&#xff1a;Python for kids&#xff09;&#xff0c;昨天看完后把书后面的题都做了下。由于第1、2章没有习题&#xff0c;第13章及之后都是描写实例的章节&#xff0c;因此这个总结性的文章中只包含了第3-12章的习题答案。…

小鹅通课程下载(一)

【需求】 花钱买了小鹅通付费课程&#xff0c;想要下载到本地观看或者存档&#xff1f; 【问题】 直接下载视频会有aes-256加密&#xff0c;要自己通过m3u8找密钥用openssl解码 【解决方案】 &#xff08;仅用于windows系统&#xff09; 小鹅通exe运行工具&#xff0c;双击打…

GPT4官方联网功能和插件功能

chatgpt免费入口 http://chat.xutongbao.top https://mbd.baidu.com/newspage/data/landingsuper?context%7B%22nid%22%3A%22news_9764161741531547244%22%7D&n_type-1&p_from-1

mac微信备份位置macos手机微信备份的文件迁移走

mac微信备份位置 如果你没有更改过mac版微信的备份文件夹的位置的话&#xff0c;那么mac版微信备份的聊天记录被保存在电脑的【/User/用户/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/】 一个叫【Backup】的文件夹当…

One Chat for Mac(多功能聊天软件)

One Chat for Mac版,这款软件并不能直接进行聊天服务&#xff0c;但是One Chat Mac可以将一系列的聊天软件进行整合并拥有易于使用的用户界面和用户体验&#xff0c;并且提示通知全部都可以自定义。 测试系统&#xff1a; Macos10.14.6系统 One Chat for Mac版教程 下载完成…

这款应用,让Windows软件也能在Mac上使用起来

伴随着苹果秋季发布会的结束&#xff0c;苹果电脑近期也有了一些降级促销活动&#xff0c;我趁机入手了一台iMac台式&#xff0c;准备从Windows系统转投到Mac系统的怀抱中。 兴致勃勃用了几天后&#xff0c;我发现了一个大问题&#xff01;公司使用的财务统计软件&#xff0c;没…

拿去吧!27款MacBook软件推荐给你

1、ClipboardManager 历史剪粘板管理工具 一个能记录你的剪贴板的软件 人类的本质就是 ctrl c和ctrl v&#xff0c;当复制粘贴多了&#xff0c;自然而然需要一款管理工具 2、自动切换输入法 一个能根据打开应用&#xff0c;自动切换输入法的软件 以我举例&#xff1a;敲代…

Mac上超实用的6款软件,老用户都知道!

今天为大家带来的是6款超实用的Mac软件&#xff0c;让你不再走弯路。 第一款&#xff1a;Amphetamine 防休眠的利器 Amphetamine for mac是应用在Mac上的一款防休眠工具&#xff0c;可以自定义哪些程序运行时不休眠&#xff0c;做到自定义Mac睡眠时间&#xff0c;可以通过超级简…

Mac电脑到底该用什么下载软件?Folx苹果电脑专用

Mac电脑到底该用什么下载软件&#xff1f;我用过的下载管理器中,Folx可以说是数一数二的了&#xff0c;它简洁的界面具有非常浓烈的Mac风格。标签管理、BT搜索、Music集成等功能也是非常的实用。 而 Folx 5对于我&#xff0c;值得说道的就是它的下载管理功能。它能够帮助我非常…

Linux terminal 终端快捷键

Linux terminal 终端快捷键 文章目录 Linux terminal 终端快捷键1. 常用快捷键2. 移动光标3. 编辑命令3. Bang(!)命令4. 控制命令 1. 常用快捷键 ctrl左右键: 在单词之间跳转ctrla: 跳到本行的行首ctrle: 跳到页尾Ctrlu&#xff1a;删除当前光标前面的文字 &#xff08;还有剪…

Windows Terminal 常用快捷键

Windows Terminal 常用快捷键 快捷键使用CtrlShift数字打开新控制台CtrlAlt数字切换控制台ShiftAlt/横向打开新控制台ShiftAlt_/-纵向打开新控制台ShiftAlt方向键控制控制台字体大小CtrlShiftw关闭当前控制台Alt方向键在本标签内切换控制台

Android 桌面快捷方式

Android 快捷方式 使用方式 ShortcutUtils.getInstance().addShortcut(this, MainActivity2.class, liveBundle, "live_Id", "看直播", "看直播", R.drawable.live).addShortcut(this, MainActivity2.class,vodBundle, "vod_Id", &qu…