推荐给嵌入式工程师一些常用软件工具

李肖遥 2024-09-03 22:12
    关注、星标公众号,直达精彩内容


原文:https://sneak.blog.csdn.net/article/details/131803087


常言道:工欲善其事,必先利其器。

作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。

根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件,如下图示:

Part1Visual Studio Code

VS Code 是一个由微软开发且跨平台的轻量级代码编辑器,全称为 Visual Studio Code。它支持语法高亮、自动补全、重构、查看定义等功能,并且内置了命令行工具和Git版本控制系统。

用户可以通过更改主题和键盘快捷方式实现个性化设置,也可以通过扩展程序商店安装扩展来拓展软件功能。

Visual Studio Code个人感觉最厉害的是其自主性,它可以结合很多差距亦或是编译器进行各式各样的嵌入式研发工作!

比如:作者就经常用它进行 Linux 驱动、STM32、ESP8266/32(乐鑫有专门的插件平台)!其中,Visual Studio Code 的众多插件也是其一大特色!作者这里给大家安利几个插件!
插件功能注释
C/C++这个肯定是必须的
C/C++ SnippetsC/C++重用代码块
C/C++ Advanced LintC/C++静态检测
Code Runner代码运行
Include AutoComplete自动头文件包含
Rainbow Brackets彩虹花括号,有助于阅读代码
One Dark ProVSCode 的主题
GBKtoUTF8将 GBK 转换为 UTF8
ARM支持 ARM 汇编语法高亮显示
Chinese(Simplified)中文环境
vscode-iconsVSCode 图标插件,主要是资源管理器下各个文件夹的图标
compareit比较插件,可以用于比较两个文件的差异。
DeviceTree设备树语法插件
TabNine一款 AI 自动补全插件,强烈推荐,谁用谁知道!

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

Part2Notepad++

Notepad++ 是 Windows 环境下的一款免费开源的文本编辑器。它功能强大,支持语法高亮显示、多重窗口同步编辑、多国语言和多种编程语言,并且可以加载丰富的插件。

Notepad++ 还具有完整的中文接口和 UTF8 技术,适合编写计算机程序代码和制作纯文字说明文件。

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

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

Part3Visual Studio

不同于 VSCodeVisual Studio 是一个 IDE,我们可以装一个以备不时之需,比如验证C程序或是进行C#程序开发等。

一些与嵌入式相关的模拟器也是基于 Visual Studio,作者平时的CUDA代码亦或是科研工作上的C++代码都会使用 Visual Studio 进行验证模拟工作!

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

Part4Keil uVision

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

我相信广大的嵌入式工程师没有一个不认识上述界面吧,我们接触最多的STM32 开发通常用的就是该 IDE 。

当然,大家一直诟病的是 Keil uVision 的 UI 界面太丑了!MDK6 其实也即将面世,根据作者的了解貌似 ui 设计依旧没有太大的改善,MDK6 貌似更像一个集合体!

Keil uVision 的主要功能包括代码编辑编译调试仿真等。其中,代码编辑器支持语法高亮、代码折叠、自动补全等功能,可以帮助开发人员快速编写代码。

编译功能可以将源代码编译成可执行文件或库,以便在目标设备上运行。调试功能可以帮助开发人员调试和测试代码,包括单步执行、断点设置、变量监视等功能。

仿真功能可以模拟目标设备的运行环境,以便测试代码的正确性和可靠性。

Part5STM32CubeMX

STM32CubeMX 是一个由 ST 意法半导体公司开发的图形化工具,用于配置和初始化 STM32 微控制器,并生成 C 代码。

它提供了一个直观的可视化界面,可以帮助开发人员快速配置和设置微控制器的各种外设、引脚和时钟。

STM32CubeMX 可以直接生成 HAL 库的 STM32 配置程序,极大地方便了个人开发者对于 STM32 系列开发板的使用。

熟悉作者本人的应该知道,作者很多项目都是以 HAL 库作为教学的。HAL 库的学习好处是很多的,首先意法半导体已经停止对很多开发板的标准库的维护。

其次,FreeRTOS 等 RTOS 对 HAL 库直接提供了接口 API 函数,方便开发移植!

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

Part6VMWare Workstation

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

嵌入式工程往往需要进行交叉编译的工作,即在 x86 的架构上编译出 ARM 架构的代码。这种操作往往需要我们在 Linux 系统下进行!

考虑到大家办公需求,大部分工程师还是 window 作为日常操作系统的。

所以,VMware Workstation 极大地方便了我们日常生活中的开发!当然,ROS 等使用也都是需要依赖 VMware Workstation 下的 Ubuntu 的

Part7QT Creator

Qt Creator 是一个跨平台的集成开发环境(IDE),专门用于开发基于 Qt 框架的 C++ 应用程序。

它是由 Qt Company 提供的免费开源工具,适用于 Windows、Linux 和 macOS 等操作系统。

QT 可以算是嵌入式工程师中比较庞大的分支,属于嵌入式应用层的开发。与 QT 类似的ui开发平台还有很多!

但是,QT可以说是目前比较常见且成熟的!C++ 功底还行的读者朋友可以往这方面发展发展,薪资待遇都是很不错的!

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

Part8MobaXterm

MobaXterm 是一款功能强大的远程终端模拟器,适用于 Windows 和 Linux 操作系统。

它提供了一个集成的远程终端和 X 服务器,可以连接各种类型的远程主机,包括SSH、FTP、Telnet等。关键是它还是免费的。

串口或者SSH等协议通信时候,终端平台是可以进行复制粘贴的,这实在是泰酷辣!!!!所以MobaXterm 我愿称为最强串口调试助手!!!

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

相比于收费的 SecureCRT ,它真的是宝藏软件!

Part9Vofa+

VOFA+ 是一款直观、灵活、强大的插件驱动高自由度的上位机,在与电气打交道的领域里,如自动化、嵌入式、物联网、机器人等,都能看到 VOFA+ 的身影。

VOFA+ 的名字来源于:Volt/伏特、Ohm/欧姆、Fala/法拉、Ampere/安培,是电气领域的基础单位,与他们的发明者——4位电子物理学领域的科学巨人,分别同名。他们的首字母共同构成了 VOFA+ 的名字。

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

Part10Arduino IDE

Arduino IDE 是一款为 Arduino 板提供支持的集成开发环境(IDE)。它是一个简单易用的工具,可以帮助开发人员编写、编辑、上传和调试基于Arduino的交互式电子产品。

如今,Arduino IDE 已经完全适配 ESP8266/32 的开发需求,IDE 提供了丰富的使用案例与 arduino 的库函数!

部分工程师可能认为 ESP 系列开发板属于纯玩具,亦或是顶多搞搞物联网,其实非也!

根据博主与 MIT 、NJUST 等众多国内外高校同仁了解到:目前,很多高校都将传统的 STM32 教学改为了 ESP32 教学!

同时,乐鑫公司在轻量化边缘计算方面甚至优秀!!!时代在奔流不息,相信乐鑫的ESP32系列以后大放异彩!

Part11Logic

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

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

Part12uniapp

uniapp 是一个基于 Vue.js 开发跨平台前端应用的框架,允许开发者使用一套代码,发布到iOS、Android、Web(响应式)等多个平台。

它支持各种小程序、快应用等多个平台,使开发者能够更灵活地应对不同的应用场景。

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

Part13Beyond Compare

Beyond Compare 是一个综合的比较工具,可以用于比较文本、文件夹、文件等,帮助用户快速、准确地找到差异和相似之处。

它支持多种比较方式,包括文本比较、文件夹比较、文件比较等,可以用于管理原始档、保持资料夹同步、比对程式的输出结果、以及检查所烧入光碟备份的精确度。

Linux 驱动工程师在学习新的开发板驱动时候,往往就需要使用 Beyond Compare 进行老旧驱动代码的对比。

这样,可以快速发现改动了哪些地方,而这些地方则是日后开发需要重点关注的!

Part14Git

Git 是一个分布式版本控制系统,用于跟踪和管理项目的变更。它是由 Linus Torvalds 于2005年发起并开发的,现在已成为开源项目并被广泛使用。

使用 Git,开发者可以在本地存储项目的版本历史记录,并将其与远程仓库进行同步,以便与其他团队成员共享和协作。

它还提供了许多命令和工具,如 **git initgit addgit commitgit push**和 **git pull**等,使得开发者可以轻松地管理他们的代码库。

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

Part15Tracealyzer

Tracealyzer 是一个用于实时跟踪和分析嵌入式系统的工具。它是由 MathWorks 公司开发的,旨在帮助开发人员更好地了解和优化他们的嵌入式系统性能。

Tracealyzer 通过实时跟踪系统运行时的行为和事件,提供了对嵌入式系统的深入分析。它可以帮助开发人员识别性能瓶颈、调试问题和优化系统性能。

Tracealyzer的主要特点包括:

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

Part16 PyCharm

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

如今大火的人工智能 AI 技术,譬如:目标检测,自然语言识别等大都需要进行 Python 神经网络的训练。

这往往需要借助 Python 的 IDE ,PyCharm 是如今非常主流的人工智能开发平台!嵌入式 AI 工程师往往需要在 PyCharm 进行网络模型的训练,之后再进行部署 AI 板子!

Part17Matlab

Matlab 是一种用于数学计算和工程应用的编程语言和交互式环境。它由 MathWorks 公司开发,是一种广泛使用的科学计算语言和工具,用于各种领域,如科学、工程、金融等。

可能大部分工程师认为 Matlab 是科研工具,只能仿真模拟!其实,我们可以通过 matlab 的 .m 语言程序转成 C 语言从而在 MCU 中运行一些高级控制算法!

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

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“星球”加入知识星球,有问必答。



点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。

李肖遥 公众号“技术让梦想更伟大”,作者:李肖遥,专注嵌入式,只推荐适合你的博文,干货,技术心得,与君共勉。
评论
  • 在物联网领域中,无线射频技术作为设备间通信的核心手段,已深度渗透工业自动化、智慧城市及智能家居等多元场景。然而,随着物联网设备接入规模的不断扩大,如何降低运维成本,提升通信数据的传输速度和响应时间,实现更广泛、更稳定的覆盖已成为当前亟待解决的系统性难题。SoC无线收发模块-RFM25A12在此背景下,华普微创新推出了一款高性能、远距离与高性价比的Sub-GHz无线SoC收发模块RFM25A12,旨在提升射频性能以满足行业中日益增长与复杂的设备互联需求。值得一提的是,RFM25A12还支持Wi-S
    华普微HOPERF 2025-02-28 09:06 101浏览
  • 一、VSM的基本原理震动样品磁强计(Vibrating Sample Magnetometer,简称VSM)是一种灵敏且高效的磁性测量仪器。其基本工作原理是利用震动样品在探测线圈中引起的变化磁场来产生感应电压,这个感应电压与样品的磁矩成正比。因此,通过测量这个感应电压,我们就能够精确地确定样品的磁矩。在VSM中,被测量的样品通常被固定在一个震动头上,并以一定的频率和振幅震动。这种震动在探测线圈中引起了变化的磁通量,从而产生了一个交流电信号。这个信号的幅度和样品的磁矩有着直接的关系。因此,通过仔细
    锦正茂科技 2025-02-28 13:30 78浏览
  • 更多生命体征指标风靡的背后都只有一个原因:更多人将健康排在人生第一顺位!“AGEs,也就是晚期糖基化终末产物,英文名Advanced Glycation End-products,是存在于我们体内的一种代谢产物” 艾迈斯欧司朗亚太区健康监测高级市场经理王亚琴说道,“相信业内的朋友都会有关注,最近该指标的热度很高,它可以用来评估人的生活方式是否健康。”据悉,AGEs是可穿戴健康监测领域的一个“萌新”指标,近来备受关注。如果站在学术角度来理解它,那么AGEs是在非酶促条件下,蛋白质、氨基酸
    艾迈斯欧司朗 2025-02-27 14:50 363浏览
  • 美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?‌美国加州CEC能效认证与美国DOE能效认证在多个方面存在显著差异‌。认证范围和适用地区‌CEC能效认证‌:仅适用于在加利福尼亚州销售的电器产品。CEC认证的范围包括制冷设备、房间空调、中央空调、便携式空调、加热器、热水器、游泳池加热器、卫浴配件、光源、应急灯具、交通信号模块、灯具、洗碗机、洗衣机、干衣机、烹饪器具、电机和压缩机、变压器、外置电源、消费类电子设备
    张工nx808593 2025-02-27 18:04 94浏览
  • 振动样品磁强计是一种用于测量材料磁性的精密仪器,广泛应用于科研、工业检测等领域。然而,其测量准确度会受到多种因素的影响,下面我们将逐一分析这些因素。一、温度因素温度是影响振动样品磁强计测量准确度的重要因素之一。随着温度的变化,材料的磁性也会发生变化,从而影响测量结果的准确性。因此,在进行磁性测量时,应确保恒温环境,以减少温度波动对测量结果的影响。二、样品制备样品的制备过程同样会影响振动样品磁强计的测量准确度。样品的形状、尺寸和表面处理等因素都会对测量结果产生影响。为了确保测量准确度,应严格按照规
    锦正茂科技 2025-02-28 14:05 117浏览
  •         近日,广电计量在聚焦离子束(FIB)领域编写的专业著作《聚焦离子束:失效分析》正式出版,填补了国内聚焦离子束领域实践性专业书籍的空白,为该领域的技术发展与知识传播提供了重要助力。         随着芯片技术不断发展,芯片的集成度越来越高,结构也日益复杂。这使得传统的失效分析方法面临巨大挑战。FIB技术的出现,为芯片失效分析带来了新的解决方案。它能够在纳米尺度上对芯片进行精确加工和分析。当芯
    广电计量 2025-02-28 09:15 89浏览
  • RGB灯光无法同步?细致的动态光效设定反而成为产品客诉来源!随着科技的进步和消费者需求变化,电脑接口设备单一功能性已无法满足市场需求,因此在产品上增加「动态光效」的形式便应运而生,藉此吸引消费者目光。这种RGB灯光效果,不仅能增强电脑周边产品的视觉吸引力,还能为用户提供个性化的体验,展现独特自我风格。如今,笔记本电脑、键盘、鼠标、鼠标垫、耳机、显示器等多种电脑接口设备多数已配备动态光效。这些设备的灯光效果会随着音乐节奏、游戏情节或使用者的设置而变化。想象一个画面,当一名游戏玩家,按下电源开关,整
    百佳泰测试实验室 2025-02-27 14:15 132浏览
  • 1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,
    黎查 2025-02-28 14:39 100浏览
  • 在2024年的科技征程中,具身智能的发展已成为全球关注的焦点。从实验室到现实应用,这一领域正以前所未有的速度推进,改写着人类与机器的互动边界。这一年,我们见证了具身智能技术的突破与变革,它不仅落地各行各业,带来新的机遇,更在深刻影响着我们的生活方式和思维方式。随着相关技术的飞速发展,具身智能不再仅仅是一个技术概念,更像是一把神奇的钥匙。身后的众多行业,无论愿意与否,都像是被卷入一场伟大变革浪潮中的船只,注定要被这股汹涌的力量重塑航向。01为什么是具身智能?为什么在中国?最近,中国具身智能行业的进
    艾迈斯欧司朗 2025-02-28 15:45 160浏览
  •           近日受某专业机构邀请,参加了官方举办的《广东省科技创新条例》宣讲会。在与会之前,作为一名技术工作者一直认为技术的法例都是保密和侵权方面的,而潜意识中感觉法律有束缚创新工作的进行可能。通过一个上午学习新法,对广东省的科技创新有了新的认识。广东是改革的前沿阵地,是科技创新的沃土,企业是创新的主要个体。《广东省科技创新条例》是广东省为促进科技创新、推动高质量发展而制定的地方性法规,主要内容包括: 总则:明确立法目
    广州铁金刚 2025-02-28 10:14 90浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦