Skip to content

Commit e6d1697

Browse files
committed
User manual content update new diagram layout & tenta config integration
1 parent f7c8a3f commit e6d1697

File tree

3 files changed

+50
-60
lines changed

3 files changed

+50
-60
lines changed
Loading
36 KB
Loading

content/hardware/04.pro/boards/portenta-x8/tutorials/01.user-manual/content.md

Lines changed: 50 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ In this user manual, we will go through the foundations of the Portenta X8 to he
2727
## Required Hardware
2828

2929
* [Portenta X8](https://store.arduino.cc/products/portenta-x8) (x1)
30-
* USB-C® cable (either USB-C® to USB-A or USB-C® to USB-C®) (x1)
30+
* [USB-C® cable (USB-C® to USB-A cable)](https://store.arduino.cc/products/usb-cable2in1-type-c) (x1)
3131
* Wi-Fi® Access Point or Ethernet with Internet access (x1)
3232

3333
## Required Software
3434

3535
* For Linux programming, leverage the latest Linux image available, and check [this section](#portenta-x8-os-image-update) to verify if your Portenta X8 has already been updated.
36-
* For Arduino programming, leverage [Arduino IDE 1.8.10+](https://www.arduino.cc/en/software), [Arduino IDE 2](https://www.arduino.cc/en/software), or [Arduino Web Editor](https://create.arduino.cc/editor), and the latest "Arduino Mbed OS Portenta Boards" Core > 3.0.1.
36+
* For Arduino programming, leverage [Arduino IDE 1.8.10+](https://www.arduino.cc/en/software), [Arduino IDE 2](https://www.arduino.cc/en/software), or [Arduino Web Editor](https://create.arduino.cc/editor), and the latest **Arduino Mbed OS Portenta Boards** Core > 3.0.1.
3737

3838
## Product Overview
3939

@@ -103,64 +103,6 @@ The full _STEP_ files are available and downloadable from the link below:
103103

104104
Portenta X8 integrates two main programming experiences: the **Yocto Linux** and popular **Arduino** environments.
105105

106-
**DIAGRAM SHOWING MPU + LINUX, MCU (M4) + ARDUINO, COMPUTER, CLOUD + PORTENTA X8 MANAGER**
107-
108-
+-------------------------------------------+ +-------------------------------------------+
109-
| Yocto Linux (MPU) | | MCU (M4) + Arduino Environment |
110-
|-------------------------------------------| |-------------------------------------------|
111-
| - Embedded Linux OS (Yocto) | | - STM32H7 M4 Core |
112-
| - Components: | | - Runs Arduino sketches |
113-
| * Bootloader | | - Real-time control and I/O operations |
114-
| * Linux Kernel | | - Communicates with Linux via RPC |
115-
| * Root Filesystem | | |
116-
| - Manages system resources (CPU, RAM) | | |
117-
| - Handles networking and security | +-------------------------------------------+
118-
| - Executes Docker containers | |
119-
| * Dockerfile setup | |
120-
| * Manages services (RPC, networking) | |
121-
| - Provides APIs and system services | |
122-
+-------------------------------------------+ |
123-
| |
124-
+--------------------------------------------------------------+
125-
|
126-
+---------------------------------------+
127-
| Portenta X8 Board |
128-
|---------------------------------------|
129-
| - Integrates MPU (Linux) & MCU |
130-
| (Arduino) |
131-
| - Dual-core integration (M4 & M7) |
132-
| - M7 Core facilitates communication |
133-
| between MPU and MCU |
134-
| - Manages synchronization |
135-
| - Hosts both Linux and Arduino |
136-
+---------------------------------------+
137-
|
138-
|
139-
+-----------------------------------+
140-
| |
141-
+---------------------------------+ +-------------------------------------------+
142-
| Communication & Synchronization | | Computer Interface |
143-
|---------------------------------| |-------------------------------------------|
144-
| - RPC (Remote Procedure Call) | | - ADB/SSH connection to Linux |
145-
| - Managed by M7 core | | - Arduino IDE for M4 core |
146-
| - Data exchange between MPU & | | - CLI access to OS & Docker |
147-
| MCU | | - Supports local DevOps |
148-
| - Involves network protocols | | - Image flashing via `uuu` tool |
149-
| (TCP/IP, SPI, Shared Memory) | +-------------------------------------------+
150-
+---------------------------------+ |
151-
| |
152-
+---------------------------------------+
153-
|
154-
+-------------------------------------------+
155-
| Cloud Interface |
156-
|-------------------------------------------|
157-
| - Remote management via Arduino Cloud |
158-
| - Firmware & OS updates |
159-
| - Secure container management |
160-
| - IoT data and device control |
161-
+-------------------------------------------+
162-
163-
164106
![Portenta X8 Features Overview](assets/portenta-x8-functionality-overview.png "Portenta X8 Features Overview")
165107

166108
To explore specific sections in more detail, please click on the links below that interest you:
@@ -768,6 +710,54 @@ You may want to build a custom image for the Portenta X8 with the source code pr
768710

769711
***Have a look at [this dedicated tutorial](https://docs.arduino.cc/tutorials/portenta-x8/image-building) to understand how to build your own custom image.***
770712

713+
### Interacting with Tenta-Config
714+
715+
**tenta-config** is a configuration tool for managing hardware settings and device tree overlays on compatible carriers. It provides a graphical interface for customizing system configurations with compatible carriers, such as peripheral management, adjusting video output settings, and managing pin mappings.
716+
717+
![Portenta X8 tenta-config Main Screen](assets/tenta-config-main.png)
718+
719+
The image above shows the main window when accessing the `tenta-config`. It lists all compatible carriers, the option to automatically probe the attached carriers, and additional operations for debugging and configuring purposes for the Portneta X8.
720+
721+
This tool simplifies hardware customization, allowing users to modify their setup without modifying the core device tree, which is essential for tasks like configuring display settings or activating specific hardware features.
722+
723+
To access the `tenta-config` window, please follow these instructions.
724+
725+
First, access the Docker container named **x8-devel** with the following command:
726+
727+
```bash
728+
docker exec -it x8-devel sh
729+
```
730+
731+
This command uses **docker exec** to start a new shell session inside the running **x8-devel** container. The `-it` flags provide an interactive terminal session for executing commands within the container. This is useful for development, enabling direct code editing, monitoring processes, or debugging in an isolated environment.
732+
733+
Next, search for the **tenta_runner** Python script by running:
734+
735+
```bash
736+
find / -name *.py
737+
```
738+
739+
This command recursively searches from the root directory for any Python script, helping locate utilities or applications spread across the system.
740+
741+
Once you find **tenta_runner.py**, navigate to its directory using:
742+
743+
```bash
744+
cd /root/examples/tenta-config
745+
```
746+
747+
Then run the script:
748+
749+
```bash
750+
python tenta_runner.py
751+
```
752+
753+
This command launches a GUI within the `tent` framework, opening the `tenta-config` window as seen in the image below:
754+
755+
![Portenta X8 tenta-config Main Screen](assets/tenta-config-main.png)
756+
757+
If you have a Pro 4G Module or a GIGA Display Shield with the Portenta Mid Carrier, you can choose the `Portenta Mid Carrier` option and set the necessary overlays to prepare essential environment configuration with a few steps.
758+
759+
You can find more information on how to use the `tanta-config` to set up the Pro 4G Module [here](https://docs.arduino.cc/tutorials/portenta-mid-carrier/user-manual/#using-linux-4) and the GIGA Displaye Shield [here](https://docs.arduino.cc/tutorials/portenta-mid-carrier/user-manual/#giga-display-shield-connector-j19).
760+
771761
### Additional Tutorials
772762

773763
If you want to continue working with your Portenta X8, you can find tons of additional tutorials in the **Tutorials** section of our [Arduino Docs](https://docs.arduino.cc/hardware/portenta-x8). Please go check them out!

0 commit comments

Comments
 (0)