You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/containers/index.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,8 @@ parent: Architecture
6
6
nav_order: 1
7
7
---
8
8
9
-
Ocre containers are lightweight, portable environments that allow software to run consistently across different platforms. In the embedded world, Ocre/Ocre containers bring the benefits of containerization to resource-constrained devices, revolutionizing embedded development. Ocre containers (which are identical to [Ocre](https://lfedge.org/projects/ocre/) containers in function) enable developers to write applications in any language that can compile to WebAssembly, including C, C++, Rust, and more. This flexibility allows organizations to easily repackage existing C code into containerized apps, significantly simplifying management compared to monolithic firmware.
9
+
Ocre containers are lightweight, portable environments that allow software to run consistently across different platforms. In the embedded world, Ocre containers bring the benefits of containerization to resource-constrained devices, revolutionizing embedded development. Ocre containers enable developers to write applications in any language that can compile to WebAssembly, including C, C++, Rust, and more. This flexibility allows organizations to easily repackage existing C code into containerized apps, significantly simplifying management compared to monolithic firmware.
10
10
11
-
12
-

11
+

13
12
14
13
The containerized approach facilitates easier collaboration in embedded projects, allowing vendors to contribute modules without deep integration challenges. Moreover, containers provide enhanced security through virtualization, which is particularly crucial for tiny devices lacking hardware memory management units. Importantly, Ocre containers offer these benefits while maintaining near-native performance, making them suitable for a wide range of embedded applications.
Copy file name to clipboardExpand all lines: docs/architecture/index.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,6 @@ nav_order: 2
7
7
8
8
# Architecture
9
9
10
-

11
10
Ocre's core architecture consists of two **primary** components.
12
11
13
12
-**[Ocre Runtime:](../architecture/runtime/)** Installed on embedded devices, it serves as a stable base for container deployments. This commercially-supported version of the open-source [Ocre](https://lfedge.org/projects/ocre/) runtime provides a hardware abstraction layer and container runtime, working seamlessly with the Ocre Hub. It allows developers to focus on building solutions rather than dealing with low-level device details.
Copy file name to clipboardExpand all lines: docs/architecture/runtime/index.md
+8-16Lines changed: 8 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,28 +4,20 @@ title: Ocre Runtime
4
4
parent: Architecture
5
5
nav_order: 0
6
6
---
7
-
8
7
# Ocre Runtime
9
8
9
+
The Ocre Runtime enables containerization on resource-constrained devices through a combination of proven open-source technologies:
10
10
11
-
The Ocre Runtime is built upon the foundation of the [Ocre Runtime](https://lfedge.org/projects/ocre/), an entirely open-source initiative that provides the core functionality for running containerized applications on embedded devices.
11
+

12
12
13
-
---
13
+
## Components
14
14
15
-

15
+
-**[Zephyr](https://zephyrproject.org)**: A mature RTOS providing comprehensive library support, modularity, and support for hundreds of platforms out-of-the-box with easy adaptation to new hardware.
16
16
17
-
## Components
17
+
-**[WebAssembly Micro Runtime](https://github.com/bytecodealliance/wasm-micro-runtime)**: Provides lightweight, sandboxed execution of containers through efficient virtualization.
18
18
19
-
As illustrated in the diagram above, the runtime is composed of two main layers: the open-source Ocre components (in orange) and Ocre's proprietary additions (in green).
19
+
-**[WASI Components](https://component-model.bytecodealliance.org/introduction.html)**: Implements the WebAssembly System Interface for embedded systems, enabling standardized system access.
20
20
21
-
### Ocre Components (Open-source)
22
-
-**[Zephyr](https://zephyrproject.org)**: Ocre is built on the Zephyr RTOS for its comprehensive library support, modularity, and active developer community. This choice enables support for hundreds of platforms out-of-the-box and easy adaptation to new or custom hardware.
23
-
-**[WebAssembly Micro Runtime](https://github.com/bytecodealliance/wasm-micro-runtime)**: Used as the virtualization layer, it allows for lightweight, sandboxed execution of containers on resource-constrained devices.
24
-
-**Runtime Manager**: Oversees the execution of WebAssembly containers on target devices.
-**[WASI Components](https://component-model.bytecodealliance.org/introduction.html)**: Tailored implementations of the WebAssembly System Interface for embedded systems.
-**Application Framework**: Manages container lifecycle, resource allocation, and inter-container communication for multi-container applications.
28
22
29
-
### Ocre Components (Proprietary)
30
-
-**Device Manager**: Manages the secure boot process, establishes connection with the Ocre Hub, handles configuration updates, and maintains runtime integrity according to the manifest file.
31
-
-**Container Supervisor**: Manages container lifecycles using a state machine approach. It oversees container creation, execution, and termination, interfacing with the Ocre container runtime.
23
+
-**Runtime Manager**: Controls container deployment, updates, and monitoring across target devices.
The **STM32 B-U585I-IOT02A Discovery Board** is a versatile IoT development platform built around ST Micro's STM32U585AI microcontroller. This board combines ultra-low-power operation with advanced security features, making it ideal for developing IoT, wearable, and sensor applications.
15
+
16
+
Key features include:
17
+
* Arm® Cortex®-M33 processor with TrustZone® security
18
+
* 2 MB Flash memory and 786 KB SRAM
19
+
* Wi-Fi® (802.11 b/g/n) and Bluetooth® Low Energy connectivity
20
+
* Rich sensor array:
21
+
* 3D accelerometer and gyroscope
22
+
* Temperature and humidity sensor
23
+
* Digital barometer
24
+
* Time-of-flight and gesture detection
25
+
* Multiple expansion options via ARDUINO® Uno V3, STMod+, and Pmod™ connectors
26
+
* Integrated STLINK-V3E debugger with USB connectivity
27
+
28
+
In the diagram below, you can see many of the board's physical components:
29
+
30
+

31
+
32
+
---
33
+
34
+
## Powering the Device
35
+
36
+
There are two micro-USB ports on the board. The *top right* usb port labeled **USB STLINK** is the usb port we'll be using in this guide. Plug in the device and you should see some LEDs light up.
37
+
38
+
---
39
+
40
+
## Connecting to the Device
41
+
42
+
---
43
+
44
+
## Rebooting the Device
45
+
46
+
You may reboot the device by pressing the black button once.
47
+
48
+
---
49
+
50
+
## Resetting the Device to Factory Defaults
51
+
52
+
Some information may be stored to flash memory and persist across reboots, such as any WiFi credentials you may have entered or applications that have been installed from the Atym hub. You can erase the flash memory to reset the board to a "Factory Default" state by pressing and holding the blue button for five seconds.
53
+
54
+
---
55
+
56
+
## Important Links
57
+
58
+
For additional details about the board and development tools, please refer to the following resources:
0 commit comments