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

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

相关推荐
I'm a winner4 分钟前
《AI 赋能嵌入式开发:从 0 到全栈工程师》模块1|第3课时
人工智能·嵌入式硬件
数字新视界21 分钟前
2026机房动环监控选型指南:场景规模需求、市场发展占有率和竞争梯队报告解析
大数据·运维·网络·人工智能·嵌入式硬件·机房动环监控·机房环境安全
程序员_小兵24 分钟前
PCIe Switch Fabric 技术解析
服务器·c语言·嵌入式硬件·php·fabric
一直C28 分钟前
【嵌入式 ARM 驱动开发】PWM 脉宽调制原理与 GT9147 电容触控屏驱动开发详解
嵌入式硬件·lcd·嵌入式·arm汇编·imx6ull·cortex-a7
尼喃41 分钟前
USB接口保护怎么设计?OVP芯片、TVS、ESD器件选型指南
嵌入式硬件
LCG元1 小时前
STM32F103 I2C 驱动 DS3231 高精度 RTC 实战:BCD 码解码陷阱、闹钟状态机整定与日误差实测
stm32·嵌入式硬件·实时音视频
cu1431 小时前
细谈GM8775C的具体功能和应用
c语言·c++·人工智能·嵌入式硬件
漫漫长远1 小时前
低功耗UPF介绍(一)
笔记·嵌入式硬件·学习·fpga开发
恒锐丰科技林技术员1 小时前
EG1165 半桥 PWM 控制芯片:高压大功率电源的优选控制器
经验分享·嵌入式硬件·硬件工程
恒锐丰科技林技术员2 小时前
宽压降压 DC‑DC 控制器 EG1190 应用解析
经验分享·嵌入式硬件·硬件工程