Release v2.1.0

This commit is contained in:
2026-05-03 18:31:08 +02:00
parent 2aba3f5653
commit bd17fe9649
9 changed files with 282 additions and 119 deletions

101
README.md
View File

@@ -1,3 +1,104 @@
# NeoECU Tooling
Unified CLI tooling for building and flashing NeoECU firmware
## Configuration
Run commands from anywhere inside a project that contains `neoecu.toml`. The tool walks up the directory tree until it finds that file.
`neoecu.toml` uses a `[build]` table. A core is considered configured only when both its directory and type are present:
```toml
[build]
m7_dir = "path/to/cm7/project"
m7_type = "ST"
m4_dir = "path/to/cm4/project"
m4_type = "Zephyr"
```
Supported core types are `ST` for CM7 and `Zephyr` for CM4. If either the CM7 or CM4 keys are missing or incomplete, that core is skipped and the tool runs as a single-core project for the core that is fully configured.
Examples:
```toml
[build]
m7_dir = "STM32"
m7_type = "ST"
```
```toml
[build]
m4_dir = "Zephyr"
m4_type = "Zephyr"
```
## Commands
### `neoecu build`
Builds the configured firmware cores. With both cores configured, this builds CM7 first with CMake and CM4 second with West/Zephyr. With only one fully configured core, only that core is built.
Options:
- `--debug`: build CM7 with the `Debug` CMake preset. If omitted, CM7 uses `Release`.
- `--release`: build CM7 with the `Release` CMake preset.
- `--clean`: clean before building. CM7 uses CMake `--clean-first`; CM4 uses West pristine rebuild.
- `--CM7`: build only the CM7 core.
- `--CM4`: build only the CM4 core.
Examples:
```sh
neoecu build
neoecu build --debug
neoecu build --release --clean
neoecu build --CM7
neoecu build --CM4 --clean
```
### `neoecu flash`
Flashes the configured firmware cores with J-Link. With both cores configured, CM4 is flashed first and CM7 second. With only one fully configured core, only that core is flashed.
Options:
- `--CM7`: flash only the CM7 core.
- `--CM4`: flash only the CM4 core.
Examples:
```sh
neoecu flash
neoecu flash --CM7
neoecu flash --CM4
```
### `neoecu init`
Initializes the configured project cores. For CM7, it runs the CMake `Debug` and `Release` presets and performs an initial debug build. For CM4, it installs West and Zephyr Python requirements, then runs an initial West build.
Example:
```sh
neoecu init
```
### `neoecu clean`
Removes generated build directories for the configured cores while protecting the project root and configured source directories.
Example:
```sh
neoecu clean
```
### `neoecu envcheck`
Checks whether expected build tools, Zephyr environment variables, and Arm toolchain dependencies are available.
Example:
```sh
neoecu envcheck
```