Merge branch 'dev'
This commit is contained in:
38
main.qmd
38
main.qmd
@@ -15,7 +15,7 @@ toc: true
|
|||||||
```{=typst}
|
```{=typst}
|
||||||
#set page(
|
#set page(
|
||||||
header: align(right)[
|
header: align(right)[
|
||||||
Version 0.1.0
|
Version 0.1.1
|
||||||
],
|
],
|
||||||
numbering: "1",
|
numbering: "1",
|
||||||
)
|
)
|
||||||
@@ -38,13 +38,13 @@ Core responsibilities:
|
|||||||
|
|
||||||
Because of this separation:
|
Because of this separation:
|
||||||
|
|
||||||
- M7 code must prioritise reliability and determinism
|
- M7 code must prioritize reliability and determinism
|
||||||
- M4 code can tolerate higher latency and complexity
|
- M4 code can tolerate higher latency and complexity
|
||||||
|
|
||||||
Selected tools:
|
Selected tools:
|
||||||
|
|
||||||
- **M7 core**
|
- **M7 core**
|
||||||
- STM32CubeMX — MCU initialisation code generation
|
- STM32CubeMX — MCU initialization code generation
|
||||||
- FreeRTOS — Lightweight task scheduling
|
- FreeRTOS — Lightweight task scheduling
|
||||||
- STM32 HAL — Hardware abstraction layer
|
- STM32 HAL — Hardware abstraction layer
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ Install west:
|
|||||||
uv pip install west
|
uv pip install west
|
||||||
```
|
```
|
||||||
|
|
||||||
Initialise workspace:
|
Initialize workspace:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
west init ~/zephyrproject
|
west init ~/zephyrproject
|
||||||
@@ -191,16 +191,32 @@ uv pip install -r zephyr/scripts/requirements.txt
|
|||||||
|
|
||||||
If errors occur, install missing packages and re-run until successful.
|
If errors occur, install missing packages and re-run until successful.
|
||||||
|
|
||||||
|
```{=typst}
|
||||||
|
#pagebreak()
|
||||||
|
```
|
||||||
Install SDK:
|
Install SDK:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/zephyrproject/zephyr
|
cd ~/zephyrproject/zephyr
|
||||||
west sdk install
|
west sdk install
|
||||||
```
|
```
|
||||||
Add the ZEPHYR_BASE variable to your .bashrc:
|
Add the ZEPHYR_BASE variable to your .bashrc (or equivalent):
|
||||||
```bash
|
```bash
|
||||||
export ZEPHYR_BASE=$HOME/zephyrproject/zephyr
|
export ZEPHYR_BASE=$HOME/zephyrproject/zephyr
|
||||||
```
|
```
|
||||||
|
Check your .bashrc for a line along these lines:
|
||||||
|
```bash
|
||||||
|
export ZEPHYR_SDK_INSTALL_DIR=...
|
||||||
|
```
|
||||||
|
If is doesn't exist, firstly check the SDK version installed:
|
||||||
|
```bash
|
||||||
|
cd && ls | grep "zephyr-sdk"
|
||||||
|
```
|
||||||
|
Then take this and add the following to your .bashrc (or equivalent):
|
||||||
|
```bash
|
||||||
|
export ZEPHYR_SDK_INSTALL_DIR=$HOME/zephyr-sdk-1.0.0
|
||||||
|
```
|
||||||
|
Making sure that the x.x.x matches the version you have installed.
|
||||||
|
|
||||||
```{=typst}
|
```{=typst}
|
||||||
#pagebreak()
|
#pagebreak()
|
||||||
@@ -220,13 +236,13 @@ Run the setup binary:
|
|||||||
```bash
|
```bash
|
||||||
./SetupSTM32CubeMX-*
|
./SetupSTM32CubeMX-*
|
||||||
```
|
```
|
||||||
Add the install directory to your path, ie for bash add the following to `.bashrc`:
|
Add the install directory to your path, add this line to your .bashrc (or equivalent):
|
||||||
```bash
|
```bash
|
||||||
export PATH=$PATH:$HOME/STM32CubeMX
|
export PATH=$PATH:$HOME/STM32CubeMX
|
||||||
```
|
```
|
||||||
It can take a few minutes for the application to start for the first time.
|
It can take a few minutes for the application to start for the first time.
|
||||||
|
|
||||||
Then open the 'Install or remove embedded software pacakges' window:
|
Then open the 'Install or remove embedded software packages' window:
|
||||||
|
|
||||||
{width=95%}
|
{width=95%}
|
||||||
|
|
||||||
@@ -302,6 +318,8 @@ Start by checking dependencies:
|
|||||||
```bash
|
```bash
|
||||||
neoecu envcheck
|
neoecu envcheck
|
||||||
```
|
```
|
||||||
|
It is normal for west to fail at this stage.
|
||||||
|
|
||||||
Then init the tooling system:
|
Then init the tooling system:
|
||||||
```bash
|
```bash
|
||||||
neoecu init
|
neoecu init
|
||||||
@@ -310,14 +328,14 @@ You can now test build the demo project:
|
|||||||
```bash
|
```bash
|
||||||
neoecu build --debug --clean
|
neoecu build --debug --clean
|
||||||
```
|
```
|
||||||
If this succeeds then your build environement is set up correctly!
|
If this succeeds then your build environment is set up correctly!
|
||||||
|
|
||||||
```{=typst}
|
```{=typst}
|
||||||
#pagebreak()
|
#pagebreak()
|
||||||
```
|
```
|
||||||
|
|
||||||
# NeoECU Tooling Overview
|
# NeoECU Tooling Overview
|
||||||
The NeoECU tooling harmonizes the STM32 and Zephyr environements into one set of easy to use commands. It currently supports the following commands:
|
The NeoECU tooling harmonizes the STM32 and Zephyr environments into one set of easy to use commands. It currently supports the following commands:
|
||||||
```bash
|
```bash
|
||||||
neoecu envcheck
|
neoecu envcheck
|
||||||
neoecu init
|
neoecu init
|
||||||
@@ -325,7 +343,7 @@ neoecu build
|
|||||||
neoecu clean
|
neoecu clean
|
||||||
```
|
```
|
||||||
## envcheck
|
## envcheck
|
||||||
The environement checker is a simple tool that checks that all the required tools and dependencies are installed and accessible from your path.
|
The environment checker is a simple tool that checks that all the required tools and dependencies are installed and accessible from your path.
|
||||||
|
|
||||||
## init
|
## init
|
||||||
The init command installs all the required python dependencies for west and initializes the cmake build environment for the STM32 side of the project.
|
The init command installs all the required python dependencies for west and initializes the cmake build environment for the STM32 side of the project.
|
||||||
|
|||||||
Reference in New Issue
Block a user