登录/注册

常用的嵌入式开发工具

更多

好的,嵌入式开发涉及多个环节(硬件设计、软件开发、调试、测试等),每个环节都有常用的工具。以下是主要分类和常用工具的中文名称(括号内通常会包含常用英文名称或品牌):

一、 集成开发环境

这是最核心的软件工具,用于编写、编译、链接、调试代码。

  1. Keil MDK / Keil C51: (ARM架构最流行之一) - 由ARM公司所有,专注于ARM Cortex-M内核的微控制器开发。包含编辑器、编译器、调试器等。
  2. IAR Embedded Workbench: (支持多种架构) - 支持多种处理器架构(ARM, RISC-V, AVR, MSP430等),以代码效率和稳定性著称。
  3. STM32CubeIDE: (ST主推的免费IDE) - 意法半导体基于Eclipse和GCC工具链开发的免费IDE,专为STM32系列MCU优化,集成STM32CubeMX功能。
  4. Eclipse + 插件: (强大的开源框架) - 免费开源的框架,通过安装不同插件(如CDT - C/C++ Development Tooling, GNU ARM Eclipse插件等)可以构建强大的嵌入式开发环境,常用于配合GCC工具链。
  5. RT-Thread Studio: (国产RTOS IDE) - 基于Eclipse,深度整合国产开源RTOS RT-Thread及其软件包生态的开发环境。
  6. MRS (MounRiver Studio): (国产MCU常用) - 沁恒微电子推出的基于Eclipse的IDE,支持其自有内核和部分ARM内核芯片。
  7. Arduino IDE: (快速原型开发) - 针对Arduino平台的简易IDE,图形化操作多,上手简单,适合初学者和快速原型验证。

二、 编译器/工具链

负责将C/C++等源代码翻译成目标微控制器能执行的机器码(二进制文件)。

  1. GCC (GNU Compiler Collection): 免费开源的编译器集合,支持多种架构(如arm-none-eabi-gcc用于ARM Cortex-M/R/A),是许多商业IDE(如STM32CubeIDE, Eclipse插件)和开源项目的基石。
  2. Keil ARMCC (ARM Compiler): MDK内置的商业编译器,由ARM开发,以优化程度高著称(通常性能优于GCC,但收费)。
  3. IAR C/C++ Compiler: IAR EW内置的商业编译器,以其优异的代码密度和执行效率闻名(收费)。
  4. Clang/LLVM: 开源编译器框架,近年来在嵌入式领域的支持也在增强,某些工具链(如Zephyr SDK)可能使用它构建。

三、 调试器/仿真器

连接开发主机和开发板/目标芯片的硬件设备/软件接口,用于下载程序、在线调试(设置断点、单步执行、查看变量寄存器等)。

  1. J-Link: (由SEGGER公司开发) - 业界标杆之一,支持极广的ARM Cortex系列微控制器,调试速度快,稳定性好。有基础版J-Link EDU/Base和功能更强的J-Link Pro/Ultra等型号。
  2. ST-LINK/V2, ST-LINK/V3: (意法半导体官方调试器) - 主要用于STM8和STM32系列芯片,通常集成在其评估板上,也有独立调试器。成本较低,性能满足大部分开发需求。
  3. ULINK: (Keil官方调试器) - 配合Keil MDK使用的USB-JTAG/SWD适配器。
  4. J-Link OB (On-Board): (芯片内置或板载) - 很多开发板/核心板上会直接集成一个简化的J-Link调试器接口(USB口直接连接PC)。
  5. DAPLink / CMSIS-DAP: (ARM开源调试器固件) - 基于ARM Cortex-M处理器的开源调试器固件标准,很多开源或低成本开发板(如Arduino Due, 树莓派 Pico)使用此协议。功能比J-Link简单,但成本低。
  6. OpenOCD (Open On-Chip Debugger): (开源软件调试接口) - 开源软件,配合各种硬件调试探头(如FT2232等接口芯片的板子,或J-Link, ST-LINK等),为主机软件(如GDB, Eclipse)提供调试服务器功能。非常灵活,是开源工具链的重要组成部分。

四、 版本控制系统

管理源代码变更历史,团队协作必备。

  1. Git: - 当前最主流的分布式版本控制系统。常用平台:
    • GitHub: 全球最大的开源代码托管平台。
    • GitLab: 提供开源和自托管企业版解决方案。
    • Gitee (码云): 国内较大的代码托管平台。
    • Bitbucket: Atlassian提供的代码托管平台。
  2. SVN (Subversion): - 传统的集中式版本控制系统,仍在一些企业中广泛使用。

五、 构建系统

自动化编译和构建过程(调用编译器、链接器,管理依赖等)。

  1. Make + Makefile: - 经典的构建工具,通过编写Makefile定义构建规则。
  2. CMake: - 更现代的跨平台构建系统生成器。开发者编写CMakeLists.txt文件描述项目,CMake生成特定平台/IDE所需的构建脚本(如Makefiles, Ninja files, Visual Studio项目文件等)。
  3. Ninja: - 一个小巧而快速的构建系统工具,通常由CMake调用生成其构建文件。

六、 硬件辅助调试与分析工具

用于分析硬件行为、通信协议、功耗等。

  1. 万用表: 基础必备,测量电压、电流、通断、电阻等。
  2. 逻辑分析仪: 捕获和分析多个数字信号线上的时序逻辑关系(如SPI, I2C, UART, GPIO等)。常用品牌:
    • Saleae: 易用性好,软件功能强大(软件收费)。
    • Kingst VIS: (金思特) - 国产,性价比较高。
    • Sigrok / PulseView: 开源软件,支持多种硬件。
  3. 示波器: 观察和测量电信号波形(电压随时间的变化),模拟和数字信号均可分析,应用范围极广。品牌如Keysight(是德), Tektronix(泰克), Rigol(普源精电), Siglent(鼎阳科技)等。
  4. 协议分析仪: 专用于分析和调试特定高速复杂协议(如USB, PCIe, Ethernet等),功能比逻辑分析仪更专精深入。
  5. 串口调试助手 / 终端: 通过UART/RS232与目标板进行通信,发送接收数据,常用于打印日志、命令行交互。软件如:
    • PuTTY: 经典免费工具。
    • Tera Term: 开源免费工具。
    • SecureCRT: 商业软件,功能强大。
    • MobaXterm: 功能丰富的终端工具(免费/付费版)。
    • VS Code 串口插件: 在代码编辑器中直接进行串口通信。
  6. 网络调试助手: 用于调试TCP/UDP等网络通信。如网络调试助手,Wireshark等。
  7. 在线仿真器: 相比普通的调试器(基于JTAG/SWD),ICE通常功能更强大,能提供非侵入式的指令跟踪、实时跟踪信息等。成本较高,常用于复杂SOC或深度性能优化分析。

七、 设计、建模与仿真工具

  1. Altium Designer: 强大的专业PCB设计软件。
  2. KiCad: 优秀的开源PCB设计工具。
  3. Cadence Allegro / OrCAD: 高端PCB设计套件。
  4. Multisim / Proteus: 电路仿真软件,Proteus还支持嵌入式软件的协同仿真。
  5. MATLAB / Simulink: 强大的数学计算、建模和动态系统仿真环境,常用于算法开发、控制系统设计,并可生成嵌入式C代码(Embedded Coder)。
  6. Wireshark: 网络封包分析工具,用于调试网络协议栈(如LwIP)。

八、 其他实用工具

  1. 文本/代码编辑器: 如 Notepad++, Sublime Text, VS Code。VS Code + 嵌入式相关插件(C/C++, Cortex-Debug, PlatformIO等)可以作为强大的轻量级IDE。
  2. 二进制文件工具:
    • objcopy / objdump (GNU Binutils): 处理目标文件和二进制文件(格式转换、信息查看等)。
    • J-Link Commander / J-Link RTT Viewer / STM32CubeProgrammer: 特定烧录器/调试器自带的命令行或GUI工具,用于擦写Flash、查看内存、使用RTT等。
    • SRecord: 处理各种格式的Flash编程文件。
  3. 静态代码分析工具:PC-lint / MISRA C 检查工具,帮助检查代码规范性和潜在问题。
  4. 轻量级RTOS:FreeRTOS, RT-Thread, Zephyr OS, µC/OS,虽然不是传统意义上的“工具”,但它们是嵌入式项目的关键基础软件平台。

总结:

一个典型的嵌入式开发流程可能会用到:

  1. IDE/编辑器 + 工具链 (Keil/IAR/Eclipse+GCC): 写代码、编译、链接。
  2. 调试器探头 (J-Link/ST-LINK) + IDE内调试器: 下载程序、在线调试。
  3. 串口终端工具 (PuTTY): 查看串口日志输出。
  4. 版本控制 (Git): 管理代码。
  5. 万用表/示波器/逻辑分析仪: 解决硬件问题,分析信号。
  6. (可选) 构建系统 (Make/CMake): 自动化构建过程。

根据项目的具体需求(芯片架构、复杂度、团队规模、预算等),开发者会选择合适的工具组合。

盘点工程师常用嵌入式开发工具

嵌入式开发涉及硬件与软件的紧密结合,开发工具的选择对效率和质量至关重要。以下是嵌入式开发中

2025-02-07 10:06:56

嵌入式工程师常用开发工具有哪些?

嵌入式工程师常用的开发工具有哪些? 在嵌入式系统

2024-12-20 15:29:24

如何利用现代嵌入式开发工具中的堆栈保护功能

 以被广泛使用的IAR Embedded Workbench for Arm嵌入式开发工具为例,使用Project》Options》C/C++ Compiler》Code》Stack protection选项,即可针对被认定为需要保护的函数启用堆栈保护。

2022-03-29 14:50:38

STM32Cube嵌入式开发工具让MCU开发更智能

电子发烧友网站提供《STM32Cube嵌入式开发工具让MCU开发更智能.pdf》资料免费下载

资料下载 tr12345 2023-07-29 11:29:03

慕课嵌入式系统(第六章.嵌入式开发工具)

慕课电子科技大学.嵌入式系统.第六章.嵌入式软件系统概述.嵌入式开发工具0 目录6 嵌

资料下载 佚名 2021-11-03 12:21:06

嵌入式开发培训学什么?嵌入式开发板知识讲解

,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发。嵌入式开发是一项系统工程,要求

资料下载 李娜 2021-11-02 20:21:03

嵌入式linux开发工具总结

1.嵌入式linux开发工具-编译器gcc(静态库 动态库的制作)可以制作库 库的使用2.嵌入式linux

资料下载 佚名 2021-11-01 16:32:00

嵌入式实验】《嵌入式开发工具使用》

嵌入式开发工具使用一.实验目的二.实验内容三.预备知识四.实验设备及工具(包括软件调试工具)五.实验步骤5.1 交叉编译

资料下载 吴藩 2021-10-21 13:06:04

龙芯1x嵌入式开发工具怎么样

龙芯1x嵌入式开发工具收藏一下:龙芯1x嵌入式开发工具|Loongson 1x Embedded Develo…|关于我们|龙芯嵌入式开发工具|

2021-12-24 06:25:47

嵌入式开发工具有哪些

慕课电子科技大学.嵌入式系统.第六章.嵌入式软件系统概述.嵌入式开发工具0 目录6 嵌

2021-11-08 09:18:38

嵌入式开发工具使用

嵌入式开发工具使用一.实验目的二.实验内容三.预备知识四.实验设备及工具(包括软件调试工具)五.实验步骤5.1 交叉编译

2021-10-28 09:43:20

嵌入式开发工具面临的挑战是什么?未来的发展趋势呢?

嵌入式开发工具面临的挑战是什么一种新的调试体系结构CoreSight嵌入式开发工具发展趋势是什么

2021-04-27 06:58:35

嵌入式开发中的几种常用工具介绍

4.docker容器技术 5.multipass 6.qemu 1.本文说明嵌入式开发已经从以往的单片机开发逐渐过渡到越来越依赖Linux的系统。虽然大多数情况下,windows的

2021-04-02 10:05:07

ARM嵌入式常用开发工具

ARM嵌入式常用开发工具及开发流程

2021-01-26 07:24:11

嵌入式开发常用工具软件

嵌入式开发中那些常用的工具软件

2020-01-14 17:00:30

7天热门专题 换一换
相关标签