Choosing the right toolchain is crucial for embedded hardware development. This article organizes core tools by learning stages to help you advance efficiently.

1. Beginner Stage: Laying the Foundation
Goal: Master schematic design, basic programming, and debugging
Recommended Tools:
Altium Designer (Circuit Design)
Features: Chinese interface, supports 3D view, built-in component library.
Applicable Scenarios: Peripheral circuit design for microcontrollers (e.g., STM32 minimum system board).
STM32CubeMX (MCU Configuration)
Features: Graphical configuration of pins and peripherals, automatically generates initialization code.
Applicable Scenarios: Quickly set up communication interfaces like UART and I2C.
J-Link Debugger (Hardware Debugging)
Features: Supports SWD/JTAG protocols, compatible with IDEs like Keil and IAR.
Applicable Scenarios: Real-time viewing of register values, locating program crash points.
2. Intermediate Stage: Tackling Complex Projects
Goal: Master high-speed signal design, multi-core debugging, and system integration
Recommended Tools:
KiCad (Open Source Circuit Design)
Features: Free, supports 4-layer board design, built-in Python script extension.
Applicable Scenarios: Raspberry Pi expansion board design.
PlatformIO (Cross-Platform Development)
Features: Unified interface supporting multiple frameworks like Arduino and ESP-IDF.
Applicable Scenarios: Firmware development for IoT devices (e.g., ESP32 + LoRa).
Saleae Logic Analyzer (Signal Analysis)
Features: 8 channels, 24MHz bandwidth, supports SPI/I2C protocol decoding.
Applicable Scenarios: Validating SDRAM timing, debugging USB communication issues.
3. Advanced Stage: Mastering High-End Applications
Goal: Tackle AI acceleration, automotive electronics, and large-scale designs
Recommended Tools:
Cadence Allegro (High-End PCB Design)
Features: Supports board designs with more than 32 layers, built-in SI/PI simulation modules.
Applicable Scenarios: Power plane segmentation for GPU graphics cards, DDR5 routing.
Yocto Project (Embedded Linux Build)
Features: Customizable Linux distribution, supports ARM/RISC-V architectures.
Applicable Scenarios: BSP development for in-vehicle entertainment systems.
Lauterbach TRACE32 (Multi-Core Debugging)
Features: Supports the entire Cortex-A/R/M series, can debug 4 cores simultaneously.
Applicable Scenarios: Fault injection testing for autonomous driving domain controllers.
This article is an original piece by Yiy Education. Please indicate the source when reprinting!