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

嵌入式开发的环境配置取决于"目标芯片/板卡"和"操作系统(或无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),我可以给你一套"复制粘贴就能跑通"的命令清单和目录结构。

相关推荐
Industio_触觉智能5 小时前
RK3506 Buildroot系统目录地图-上|7个关键符号链接与构建产物全解析
嵌入式硬件·sdk·智能硬件·固件·瑞芯微·系统编译·rk3506
河北乐讯通物联网服务商6 小时前
航油管理终端:机场里每架飞机加了什么油、加了多少,是怎么实时算清楚的?
物联网·物联网卡·航油管理终端
lzj_pxxw8 小时前
STM32移植FreeRTOS(Cmake+CubeMX)
vscode·stm32·嵌入式硬件
数字新视界8 小时前
信创机房动环监控技术在提升数据中心管理效率中的应用与前景分析
物联网·数据中心·数据中心基础设施管理·dcim管理系统·数据中心dcim
lisw059 小时前
用于医疗的磁驱动柔性微机器人研究进展!
机器人·自动化·硬件工程
물の韜9 小时前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
无敌贵点大王12 小时前
从寄存器层面重学STM32(7)——定时器
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院12 小时前
粉色笔记本电脑每次要等把电池电耗尽才能开机问题解决方法
嵌入式硬件
wuyk5551 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
shijuejianceliu1 天前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机