Release v2.1.0
This commit is contained in:
101
README.md
101
README.md
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user