Skip to content

Commit e562dc4

Browse files
committed
docs: add embedded toolchain readiness and configuration guidance
Fix tagline to include Cortex-A. Add readiness table to README showing all three targets are pre-installed. Add CMake toolchain file examples to USER_GUIDE for desktop, bare-metal, and Linux cross-compilation.
1 parent 8d4353e commit e562dc4

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Clang](https://img.shields.io/badge/Clang-20-6f42c1)](#pre-installed-tools)
88
[![Container](https://img.shields.io/badge/container-ghcr.io%2Fabitofhelp%2Fdev--container--cpp-0A66C2)](#image-names)
99

10-
Professional C++ development container for desktop and embedded (ARM Cortex-M) development.
10+
Professional C++ development container for desktop and embedded (ARM Cortex-M/A) development.
1111

1212
## Supported Architectures
1313

@@ -185,6 +185,17 @@ The bare-metal toolchain includes OpenOCD, stlink-tools, and gdb-multiarch for
185185
flashing and debugging. The Linux cross-compiler includes the full sysroot
186186
(`libc6-dev-armhf-cross`) for building Linux userspace applications.
187187

188+
### Embedded Toolchain Readiness
189+
190+
Both images are fully self-contained for all three targets. No additional
191+
downloads or toolchain installation is required.
192+
193+
| Target | Compiler | Status |
194+
|--------|----------|--------|
195+
| Desktop (native) | `g++` / `clang++` | Pre-installed |
196+
| STM32F769I — Cortex-M7 bare-metal | `arm-none-eabi-g++` | Pre-installed |
197+
| STM32MP135F — Cortex-A7 Linux | `arm-linux-gnueabihf-g++` | Pre-installed |
198+
188199
## STM32 Custom Image
189200

190201
For projects that require ST's proprietary tools, developers can build a custom

USER_GUIDE.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,64 @@ flashing and debugging. The Linux cross-compiler includes the full sysroot
8181
For ST's proprietary tools (STM32CubeCLT, STM32CubeMX), see the "STM32 Custom
8282
Image" section in [README.md](README.md#stm32-custom-image).
8383

84+
#### Configuring your project for each target
85+
86+
**Desktop (native)**
87+
88+
No toolchain file is needed. Configure and build with CMake directly:
89+
90+
```bash
91+
cmake -B build -G Ninja
92+
cmake --build build
93+
```
94+
95+
**STM32F769I — Cortex-M7 bare-metal**
96+
97+
Create a CMake toolchain file at `cmake/arm-none-eabi.cmake`:
98+
99+
```cmake
100+
set(CMAKE_SYSTEM_NAME Generic)
101+
set(CMAKE_SYSTEM_PROCESSOR arm)
102+
103+
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
104+
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
105+
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
106+
107+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
108+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
109+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
110+
```
111+
112+
Then configure with the toolchain file:
113+
114+
```bash
115+
cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi.cmake
116+
cmake --build build
117+
```
118+
119+
**STM32MP135F — Cortex-A7 Linux**
120+
121+
Create a CMake toolchain file at `cmake/arm-linux-gnueabihf.cmake`:
122+
123+
```cmake
124+
set(CMAKE_SYSTEM_NAME Linux)
125+
set(CMAKE_SYSTEM_PROCESSOR arm)
126+
127+
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
128+
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
129+
130+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
131+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
132+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
133+
```
134+
135+
Then configure with the toolchain file:
136+
137+
```bash
138+
cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/arm-linux-gnueabihf.cmake
139+
cmake --build build
140+
```
141+
84142
---
85143

86144
## 1. Prerequisites

0 commit comments

Comments
 (0)