Embedded Software Development
嵌入式软件开发CommonWriting the program that runs on the chip inside a device such as a motor driver board or a sensor.
Embedded software runs on the chip built into a device — usually a microcontroller (MCU, such as an STM32) or an SoC (system-on-chip) — which has limited resources and needs to run reliably for long stretches. Development is usually done in C/C++, either operating hardware registers directly (bare metal) or running on top of a real-time operating system such as FreeRTOS; the code is cross-compiled on a computer and then flashed onto the chip, with a JTAG/SWD debugger used to step through it. Joint-motor control, sensor sampling, battery management, and low-level bus communication (CAN, EtherCAT) in a robot all belong to this layer, and it determines whether control is real-time and reliable — it’s also an important job category at embodied AI companies, distinct from algorithms work.
ExampleA current-loop program written for an STM32 reads the encoder at 20 kHz, computes the PWM duty cycle, and reports the joint angle back to the host computer over a CAN bus.
- Also called
- Embedded Development, Microcontroller Programming
- Related
- Microcontroller Unit (MCU) · Real-Time Operating System (RTOS) · Firmware · Cross-compilation · STMicroelectronics STM32 MCU Family · Controller Area Network (CAN)
- Sources
- Wikipedia: Embedded software