Skip to content

Commit 1008106

Browse files
committed
added board support, as well as updated build instructions for the ocre runtime
1 parent c7704ca commit 1008106

File tree

8 files changed

+151
-41
lines changed

8 files changed

+151
-41
lines changed

docs/board-support/ST/B-U585I-IOT02A/index.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "B-U585I-IOT02A"
33
layout: default
4-
parent: ST
4+
parent: STMicroelectronics
55
grandparent: Board Support
66
---
77

@@ -58,5 +58,4 @@ Some information may be stored to flash memory and persist across reboots, such
5858
For additional details about the board and development tools, please refer to the following resources:
5959

6060
* **Product Page**: [https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html](https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html)
61-
* **User Manual**: [https://www.st.com/resource/en/user_manual/um2839-discovery-kit-for-iot-node-with-stm32u5-series-stmicroelectronics.pdf](https://www.st.com/resource/en/user_manual/um2839-discovery-kit-for-iot-node-with-stm32u5-series-stmicroelectronics.pdf)
62-
* **STM32CubeIDE**: [https://www.st.com/content/st_com/en/stm32cubeide.html](https://www.st.com/content/st_com/en/stm32cubeide.html)
61+
* **User Manual**: [https://www.st.com/resource/en/user_manual/um2839-discovery-kit-for-iot-node-with-stm32u5-series-stmicroelectronics.pdf](https://www.st.com/resource/en/user_manual/um2839-discovery-kit-for-iot-node-with-stm32u5-series-stmicroelectronics.pdf)
1.56 MB
Loading
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: "NUCLEO-H723ZG"
3+
layout: default
4+
parent: STMicroelectronics
5+
grandparent: Board Support
6+
---
7+
8+
# NUCLEO-H723ZG Development Board Overview
9+
10+
## Overview
11+
The **STM32 NUCLEO-H723ZG Development Board** is a high-performance platform built around ST Micro's STM32H723 microcontroller. This board features the powerful Arm® Cortex®-M7 core making it ideal for computationally intensive applications requiring real-time processing.
12+
13+
Key features include:
14+
* Arm® Cortex®-M7 processor running at up to 550 MHz
15+
* 1 MB Flash memory and 564 KB SRAM
16+
* ST-LINK/V3E embedded debug tool
17+
* Ethernet connectivity support
18+
* USB OTG ports
19+
* Arduino Uno V3 connectivity
20+
* ST morpho expansion pins
21+
* Three ST Zio connectors
22+
* Flexible power supply options:
23+
* ST-LINK USB VBUS
24+
* USB power supply
25+
* External sources
26+
27+
![Board Layout](NUCLEO-H723ZG.png)
28+
29+
## Powering the Device
30+
Connect the board using the USB connector (CN1) labeled **USB PWR/ST-LINK**. The PWR LED (LD3) should illuminate, indicating the board is powered.
31+
32+
## Rebooting the Device
33+
Press the black NRST button to reboot the device.
34+
35+
## Resetting the Device to Factory Defaults
36+
To reset the board to its factory state and clear any stored applications:
37+
1. Hold the blue USER button (B1)
38+
2. Press and release the black NRST button
39+
3. Keep holding the blue button until the LED blinks
40+
4. Release the blue button
41+
42+
## Important Links
43+
For additional details about the board and development tools, please refer to the following resources:
44+
45+
* **[Product Page](https://www.st.com/en/evaluation-tools/nucleo-h723zg.html)**: Official product information and resources
46+
* **[User Manual](https://www.st.com/resource/en/user_manual/um2407-stm32h7-nucleo144-boards-mb1364-stmicroelectronics.pdf)**: Board documentation and technical specifications

docs/board-support/ST/index.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
---
2-
title: ST
2+
title: STMicroelectronics
33
layout: default
44
parent: Board Support
55
has_children: true
66
---
77

8-
# ST Boards
8+
STMicroelectronics development boards offer an excellent platform for working with the Ocre runtime. This section covers our currently supported ST boards and the recommended development tools for working with them.
9+
10+
## Recommended Tools
11+
* **[STM32CubeProg](https://www.st.com/en/development-tools/stm32cubeprog.html)**: Official programming utility for flashing and configuring STM32 devices
12+
* **[STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html)**: Integrated development environment that combines STM32CubeMX and STM32CubeProg functionalities with a full-featured code editor and debugger
13+
14+
For board-specific setup instructions and features, please refer to the individual board pages below.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: "Adding Board Support"
3+
layout: default
4+
parent: Board Support
5+
nav_order: 0
6+
---
7+
8+
# Adding Board Support
9+
This guide outlines the process of adding support for new development boards to the Ocre runtime. While we aim to support a wide range of boards, the embedded ecosystem is vast, and you may need to add support for your specific hardware.
10+
11+
Adding support for a new board involves:
12+
- Creating board-specific configurations
13+
- Testing and validating Ocre runtime functionality
14+
- Contributing your changes back to the project
15+
16+
Follow the steps below to begin adding support for your development board.

docs/quickstart/firmware/hardware.md

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,44 +5,54 @@ parent: Building and Flashing the Ocre Runtime
55
nav_order: 1
66
---
77

8-
# Building the Ocre Runtime
8+
# Using a Physical Device
99

10-
Building the Ocre runtime is the first step in creating a containerized app for your embedded device. This guide will walk you through the process of building the runtime from source and flashing it to your physical development board.
10+
This guide covers building and flashing the Ocre runtime onto actual development boards. While simulated environments are great for initial testing, deploying to real hardware allows you to test your applications under authentic conditions and take advantage of board-specific features like sensors and networking capabilities.
1111

12-
Also, you will find a sample application (`./src/main.c`) that will demonstrate how to use the Ocre runtime, which writes a simple hello world application to flash and directs the Ocre runtime to load and execute it.
12+
Please refer to the board-specific documentation in our [Board Support](../../../board-support) section for detailed setup instructions and requirements for your board before attempting to flash Ocre.
1313

1414
---
1515

1616
## Steps
1717

1818
### **1. Install Dependencies and the Zephyr SDK**
1919

20-
Complete the [Install dependencies](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-dependencies) and the [Install the Zephyr SDK](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-the-zephyr-sdk) sections from the Zephyr [Getting Started Guide](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#getting-started-guide). There are several steps that must be performed if this is the first time you’ve developed for Zephyr on your machine.
21-
In general, builds should be done on a Linux machine or on Windows using WSL2.
20+
Complete the [Install dependencies](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-dependencies) section from the Zephyr [Getting Started Guide](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#getting-started-guide).
2221

23-
**Note:** For the following steps we recommend using a Python virtual environment like [venv](https://docs.python.org/3/library/venv.html).
22+
{: .note}
23+
For the following steps we recommend using a Python virtual environment like [venv](https://docs.python.org/3/library/venv.html).
2424

2525
### **2. Install WEST**
2626

2727
Install the [west](https://docs.zephyrproject.org/latest/develop/west/index.html) CLI tool, which is needed to build, run and manage Zephyr applications.
2828

2929
```
30-
$ pip install west
30+
pip install west
3131
```
3232

3333
### **3. Initialize the workspace**
3434

35-
This will checkout the project code and configure the Zephyr workspace.
35+
Next, we will prepare the Zephyr workspace and checkout the project code.
36+
37+
First, create the `runtime` directory in the location of your chosing.
38+
```
39+
mkdir runtime
3640
```
37-
$ cd
41+
Next, cd to the `runtime` directory.
3842

39-
$ mkdir runtime
43+
```
44+
cd runtime
45+
```
4046

41-
$ cd runtime
47+
Now, initialize the `ocre-runtime` repo.
48+
```
49+
west init -m git@github.com:project-ocre/ocre-runtime.git
50+
```
4251

43-
$ west init -m git@github.com:project-ocre/ocre-runtime.git
52+
Lastly, update the repo with the `west` utility.
4453

45-
$ west update
54+
```
55+
west update
4656
```
4757

4858
### **4. Install Additional Zephyr (pip) requirements**
@@ -55,6 +65,14 @@ pip install -r zephyr/scripts/requirements.txt
5565

5666
**Note:** This step is only possible after updating the repo with `west update`.
5767

68+
### **5. Install the Zephyr SDK**
69+
For the last Zephyr requirement, we must install the SDK.
70+
71+
```
72+
cd zephyr/
73+
west sdk install && cd ..
74+
```
75+
5876
### **5. Build the Ocre Runtime**
5977

6078
To build and flash for a physical device, follow these steps:
@@ -63,15 +81,23 @@ To build and flash for a physical device, follow these steps:
6381

6482
2. Build the application for your specific board. Replace `BOARD_NAME` with your board's name:
6583
```
66-
$ west build -b BOARD_NAME ./application -d build -- -DMODULE_EXT_ROOT=`pwd`/application
84+
cd ..
85+
west build -b BOARD_NAME ./application -d build -- -DMODULE_EXT_ROOT=`pwd`/application
6786
```
68-
**Note**: See the list of [supported boards](https://docs.zephyrproject.org/2.6.0/boards/index.html) from Zephyr to gather your board name. Or, simply run `west boards` from the terminal.
87+
88+
{: .note}
89+
See the list of [supported boards](https://docs.zephyrproject.org/latest/boards/index.html) from Zephyr to gather your board name. Or, simply run `west boards` from the terminal.
6990

7091

7192
### **6. Flash the Ocre Runtime to Your Device**
7293
1. Flash the application to your device:
7394
```
74-
$ west flash
95+
west flash
7596
```
7697

77-
2. After flashing, restart/reset your board to run the application.
98+
2. After flashing, restart/reset your board to run the application.
99+
100+
## Troubleshooting
101+
This section covers common issues you might encounter when building and flashing the Ocre runtime to physical hardware, along with their solutions.
102+
103+
- **Unsupported Board**: If you're unable to flash to your board, and it's not listed in our [supported boards](../../../board-support), check out our [Adding Board Support](../../../board-support/adding-support) guide under the Board Support section. This guide will walk you through the process of adding support for your specific hardware.

docs/quickstart/firmware/index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ has_children: true
88

99
# Building and Flashing the Ocre Runtime
1010

11-
This section will guide you through the process of building the Ocre runtime from source. Whether you're using a simulated environment for testing or deploying to physical hardware, the initial setup and build steps are identical. The paths diverge only at the final stage: simulated devices simply run the runtime directly, while physical devices require an additional flashing step to load the runtime onto the board. Choose your preferred development path below to get started.
11+
This section will guide you through the process of building the Ocre runtime from source. Whether you're using a simulated environment for testing or deploying to physical hardware, the initial setup and build steps are identical. The paths diverge only at the final stage: simulated devices simply run the runtime directly, while physical devices require an additional flashing step to load the runtime onto the board.
12+
13+
To help you get started, we've included a sample application (`./src/main.c`) that demonstrates basic Ocre runtime usage by writing a simple hello world application to flash and directing the runtime to load and execute it. Choose your preferred development path below to begin.

docs/quickstart/firmware/simulated.md

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ parent: Building and Flashing the Ocre Runtime
55
nav_order: 0
66
---
77

8-
# Building the Ocre Runtime
8+
# Using a Simulated Device
99

10-
Building the Ocre runtime is the first step in creating a containerized app for your embedded device. This guide will walk you through the process of building the runtime from source, including setting up the necessary development environment and tools, and running it on a simulated board to test functionality before deploying to physical hardware.
10+
This guide covers building and running the Ocre runtime using Zephyr's `native_sim` target - a simulated environment that allows you to test Ocre applications without physical hardware. This approach is particularly useful for initial development and testing.
1111

12-
Also, there is a sample application (`./src/main.c`) that will demonstrate how to use the Ocre runtime, which writes a simple hello world application to flash and directs the Ocre runtime to load and execute it.
1312

1413
{: .note}
1514
> There are *two* key limitations when building the native simulator:
@@ -27,32 +26,42 @@ Also, there is a sample application (`./src/main.c`) that will demonstrate how t
2726

2827
### **1. Install Dependencies and the Zephyr SDK**
2928

30-
Complete the [Install dependencies](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-dependencies) and the [Install the Zephyr SDK](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-the-zephyr-sdk) sections from the Zephyr [Getting Started Guide](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#getting-started-guide). There are several steps that must be performed if this is the first time you’ve developed for Zephyr on your machine.
31-
In general, builds should be done on a Linux machine or on Windows using WSL2.
29+
Complete the [Install dependencies](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#install-dependencies) section from the Zephyr [Getting Started Guide](https://docs.zephyrproject.org/latest/develop/getting_started/index.html#getting-started-guide).
3230

33-
**Note:** For the following steps we recommend using a Python virtual environment like [venv](https://docs.python.org/3/library/venv.html).
31+
{: .note}
32+
For the following steps we recommend using a Python virtual environment like [venv](https://docs.python.org/3/library/venv.html).
3433

3534
### **2. Install WEST**
3635

3736
Install the [west](https://docs.zephyrproject.org/latest/develop/west/index.html) CLI tool, which is needed to build, run and manage Zephyr applications.
3837

3938
```
40-
$ pip install west
39+
pip install west
4140
```
4241

4342
### **3. Initialize the workspace**
4443

45-
This will checkout the project code and configure the Zephyr workspace.
44+
Next, we will prepare the Zephyr workspace and checkout the project code.
45+
46+
First, create the `runtime` directory in the location of your chosing.
47+
```
48+
mkdir runtime
4649
```
47-
$ cd
50+
Next, cd to the `runtime` directory.
4851

49-
$ mkdir runtime
52+
```
53+
cd runtime
54+
```
5055

51-
$ cd runtime
56+
Now, initialize the `ocre-runtime` repo.
57+
```
58+
west init -m git@github.com:project-ocre/ocre-runtime.git
59+
```
5260

53-
$ west init -m git@github.com:project-ocre/ocre-runtime.git
61+
Lastly, update the repo with the `west` utility.
5462

55-
$ west update
63+
```
64+
west update
5665
```
5766

5867
### **4. Install Additional Zephyr (pip) requirements**
@@ -63,18 +72,24 @@ In order to build the Ocre runtime properly, you'll need to install a few remain
6372
pip install -r zephyr/scripts/requirements.txt
6473
```
6574

66-
**Note:** This step is only possible after updating the repo with `west update`.
75+
### **5. Install the Zephyr SDK**
76+
For the last Zephyr requirement, we must install the SDK.
77+
78+
```
79+
cd zephyr/
80+
west sdk install && cd ..
81+
```
6782

68-
### **5. Build the application**
83+
### **6. Build the application**
6984

7085
The following will build the firmware for the *virtual*, `native_sim` target which will allow you to run the Ocre runtime on a simulated device, rather than a physical board.
7186
```
72-
$ west build -b native_sim ./application -d build -- -DMODULE_EXT_ROOT=`pwd`/application
87+
west build -b native_sim ./application -d build -- -DMODULE_EXT_ROOT=`pwd`/application
7388
```
7489

75-
### **6. Run the application**
90+
### **7. Run the application**
7691

7792
To run the application, simply run the following command:
7893
```
79-
$ ./build/zephyr/zephyr.exe
94+
./build/zephyr/zephyr.exe
8095
```

0 commit comments

Comments
 (0)