嵌入式系统开发 需要的环境配置

嵌入式开发的环境配置取决于"目标芯片/板卡"和"操作系统(或无OS)"。以下是通用核心组件 + 分场景清单,你按需选一条路线即可。


🧱 一、所有路线都需要的"基础设施"

  1. 交叉编译工具链(最重要)

    • 例如 ARM: gcc-arm-none-eabi(MCU/裸机)、arm-linux-gnueabihf-*(Linux应用)

    • RISC-V: riscv64-unknown-elf-gcc/ riscv64-unknown-linux-gnu-gcc

  2. 调试/烧录工具

    • 硬件:J-Link、ST-Link、DAPLink、FTDI串口模块等

    • 软件:OpenOCD、pyOCD、J-Link GDB Server

  3. IDE / 编辑器 + 构建系统

    • IDE:VS Code + Cortex-Debug / PlatformIO;或商业 IDE(Keil、IAR、SEGGER Embedded Studio)

    • 构建系统:CMake(推荐)、Makefile;RT-Thread/BSP 常用 scons/env.py

  4. 目标板通信

    • 串口/UART:minicom/screen(mac/Linux)、MobaXterm/PuTTY/WindTerm(Windows)

    • 网络:SSH/Telnet、TFTP/NFS(若跑 Linux)

  5. 工程基建(强烈建议尽早引入)

    • Git + 合适的分支策略(如 main/dev/feature)

    • 包/依赖管理:虽不如 Web 成熟,但可用 Conan/vcpkg/manual vendor SDK


📍 二、按常见路线快速选配

A. STM32/Cortex-M MCU(裸机/FreeRTOS)

  • 工具链:arm-none-eabi-gcc+ libnewlib-nano

  • 调试:ST-Link/V2/V3 + OpenOCD

  • 固件库/框架:STM32CubeMX/LL/HAL,或 libopencm3/ch32v003-hal 等裸写寄存器方案

  • VS Code 插件:C/C++、Cortex-Debug、HexView

B. 嵌入式 Linux(树莓派/IMX6ULL/RK3568 等)

  • 工具链:对应 SoC 的 Linaro/SDK 预编译链(如 arm-linux-gnueabihf-

  • 构建:Buildroot/Yocto/OpenWrt(做根文件系统);内核用 Kbuild

  • 调试:gdbserver 远程 attach、strace/perf/valgrind 定位问题

  • 部署:scp/rsync/nfs;uboot/tftp 启动调试

C. RISC-V MCU(GD32V/ESP32-C3/K210 等)

  • 工具链:SiFive/平头哥/官方 SDK 提供的 riscv-none-elf 或 riscv64-unknown-elf

  • 调试:ft2232h/openocd/jtag 适配;部分开发板自带 USB-JTAG

  • IDE:VS Code + RISC-V 插件;PlatformIO 对 ESP32-C3 开箱即用


⚡ 三、STM32F103 最小可运行示例(Ubuntu/WSL/macOS)

复制代码
# 安装工具链 & openocd
sudo apt install gcc-arm-none-eabi openocd

# 获取代码模板(带 Makefile+linker script)
git clone --depth 1 https://github.com/STMicroelectronics/STM32CubeF1.git
cd STM32CubeF1/Projects/YourBoard/Example

# 编译(确保 Makefile 里 CC=arm-none-eabi-gcc)
make -j$(nproc)

# 连接 ST-Link,openocd 监听 gdb
openocd -f interface/stlink.cfg -f target/stm32f1x.cfg

✅ 四、怎么选更省心?

告诉我:芯片型号/板子名(如 STM32F407、树莓派 CM4) ​ + 是否跑 Linux ​ + 你最习惯的系统(Win/Mac/Ubuntu),我可以给你一套"复制粘贴就能跑通"的命令清单和目录结构。

相关推荐
2601_956743681 天前
物联网应用开发的协议选型与平台架构:一个工程视角的深度拆解
物联网·软件工程
雅斯驰1 天前
AES-128加密+滚动码认证:ATA5702W如何防御中继攻击与信号重放
运维·单片机·嵌入式硬件·物联网·自动化
iCxhust1 天前
微机原理课程设计大综合---计数器
汇编·单片机·嵌入式硬件·课程设计·微机原理
搁浅小泽1 天前
PCBA焊点的检测方法
单片机·嵌入式硬件·可靠性工程师
b55t4ck1 天前
Draytek vigo3910 工业路由器固件解密及其CVE-2024-23721漏洞分析
网络·物联网·网络安全
HiWooiot20181 天前
工厂局域网远程监测方案介绍(数字化转型解决方案)
物联网
Deitymoon2 天前
STM32——PWM控制舵机
stm32·单片机·嵌入式硬件
裕工实验室2 天前
功率模块散热设计优化指南
硬件工程·pcb工艺·材料工程
菜鸟的日志2 天前
【嵌入系统】嵌入式学习笔记(一)
windows·笔记·嵌入式硬件·学习·ubuntu·操作系统
电子科技圈2 天前
四大“门派”围攻边缘及端侧AI SoC市场“光明顶”
人工智能·嵌入式硬件·mcu·物联网·网络安全·音视频·语音识别