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: content/hardware/04.pro/boards/portenta-x8/tutorials/01.user-manual/content.md
+32-33
Original file line number
Diff line number
Diff line change
@@ -115,32 +115,11 @@ To explore specific sections in more detail, please click on the links below tha
115
115
116
116
### Portenta X8: Linux & Arduino Interoperability
117
117
118
-
The Portenta X8 runs a **Yocto**based Linux distribution. It allows users to upload sketches to the M4 core of the STM32H7 using the Arduino IDE. The process of uploading sketches may seem familiar to Arduino users, but on Portenta X8, the system uses a service called `monitor-m4-elf-file.service`.
118
+
The Portenta X8 runs on a **Yocto-based Linux distribution** with Docker container support, offering robust capabilities for deploying and managing device independent applications. In addition, it allows users to upload Arduino sketches to the M4 core of the STM32H7 using the Arduino IDE.
119
119
120
-
This service monitors a specific directory for updated sketches and flashes the M4 core with the new code via OpenOCD. This feature enables seamless integration between the Linux and Arduino environments on the board.
120
+
This integration leverages a service called `monitor-m4-elf-file.service`, which monitors for updated sketches and flashes the M4 core using *OpenOCD*, ensuring seamless interaction between Linux and Arduino environments. The Portenta X8 also supports **Remote Procedure Call (RPC)** communication between its Linux system and Arduino cores. It uses **MessagePack-RPC** to efficiently exchange data.
121
121
122
-
The Portenta X8 employs **Remote Procedure Call (RPC)** mechanisms to enable communication between the Linux system and the Arduino cores. RPC allows the two processors (M4 and M7 cores) to exchange data, with the M7 core handling data transfers between the M4 core running Arduino sketches and the Linux environment.
123
-
124
-
The communication uses **MessagePack-RPC**, a lightweight protocol for serialized data transfer, supporting various communication protocols like OpenAMP, SPI, and TCP/IP. This setup ensures efficient interaction between the Linux side and Arduino sketches without the complexity of traditional dual-core processing.
125
-
126
-
The Portenta X8 offers a powerful, versatile platform by combining Linux capabilities with Arduino’s ease of use. Users can deploy and manage device-independent applications using Docker containers while also taking advantage of Arduino’s rich ecosystem for embedded development. This hybrid environment supports flexible development, making it ideal for complex, multifunctional projects.
127
-
128
-
***For more in-depth details on fundamentals of the Portenta X8, please refer to this [documentation](https://docs.arduino.cc/tutorials/portenta-x8/x8-fundamentals/).***
129
-
130
-
## Portenta X8 OS Image Update
131
-
132
-
It is recommended that you check every now and then to see if your Portenta X8 image version is up to date to have the latest security updates.
133
-
134
-
***To review the image version history, refer to the [__Portenta X8 firmware release notes__](https://docs.arduino.cc/tutorials/portenta-x8/x8-firmware-release-notes/).***
135
-
136
-
There are four ways to update your Portenta X8 are described:
137
-
138
-
*[Update for OS release V.399](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-for-os-release-v399)
139
-
*[Update through Arduino Linux Wizard experience](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-through-arduino-linux-wizard-experience)
140
-
*[Update through Portenta X8 Manager in your Arduino Cloud for Business account (available for all OS releases)](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-with-portenta-x8-board-manager)
141
-
*[Update using the `uuu` tool (compatible with custom images)](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-using-uuu-tool)
142
-
143
-
You can find more details in the dedicated tutorial here: [**How To Flash Your Portenta X8**](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing).
122
+
***For more details on Portenta X8’s Linux capabilities, Docker support, and Arduino integration, please refer to the [__Portenta X8 Fundamentals documentation__](https://docs.arduino.cc/tutorials/portenta-x8/x8-fundamentals/).***
144
123
145
124
## First Use Of Your Portenta X8
146
125
@@ -194,21 +173,25 @@ You can now proceed to the setup of the board connectivity by clicking **OK, GOT
194
173
195
174
***If you face any issue with this flow or prefer to interact directly with your Portenta X8 through the command line, please refer to [this section](#working-with-linux) to learn how to connect with the board leveraging ADB service.***
196
175
197
-
Once the setup is ready, let's open the Arduino Linux Wizard page. Use the command line window and launch the TCP port forwarding setup command:
198
-
199
-
```bash
200
-
adb forward tcp:8080 tcp:80
201
-
```
176
+
Once the setup is complete, the browser page will automatically switch to the Arduino Linux Wizard page.
202
177
203
-
Now open your browser, go to [http://localhost:8080](http://localhost:8080), and the Arduino Linux Wizard dashboard will appear.
178
+
The Arduino Linux Wizard page is accessible at [**http://localhost:8080**](http://localhost:8080). You can use this link to open the Arduino Linux Wizard dashboard anytime.
204
179
205
180

206
181
207
-
On the Arduino Linux Wizard page, the **SYSTEM INFO** button is located at the bottom left.
182
+
The **SYSTEM INFO** button is located at the bottom left corner of the Arduino Linux Wizard page.
208
183
209
184

210
185
211
-
It will show you different types of information about the Portenta X8, including hardware/software information, network status, and active containers.
186
+
This section displays details about the Portenta X8, such as hardware and software specifications, network status, and active containers.
187
+
188
+
If you disconnect the Portenta X8 and need to reopen the Arduino Linux Wizard page, use the command line and run the TCP port forwarding command:
189
+
190
+
```bash
191
+
adb forward tcp:8080 tcp:80
192
+
```
193
+
194
+
Then, access the page with [**http://localhost:8080**](http://localhost:8080) to open the Arduino Linux Wizard dashboard.
212
195
213
196
#### Wi-Fi® Configuration
214
197
@@ -242,13 +225,14 @@ Now, you can click **OK** and be redirected to the Arduino Linux Wizard homepage
242
225
243
226
#### Arduino Linux Wizard Homepage
244
227
245
-
This web page is hosted on the Portenta X8 and allows a user to:
228
+
The Arduino Linux Wizard, hosted on the Portenta X8, allows a user to leverage the following capabilities:
-[Interact with the board through the embedded Python® Alpine Shell](#portenta-x8-with-python-alpine-shell)
250
233
-[Provision your device to Arduino Cloud](#portenta-x8-with-arduino-cloud)
251
234
- Manage the Linux distribution with the dedicated [Portenta X8 Board Manager](#portenta-x8-board-manager)
235
+
-[Update the board's operating system](#portenta-x8-os-image-update)
252
236
253
237
#### Portenta X8 with Python Alpine Shell
254
238
@@ -260,6 +244,21 @@ This shell is running in a Python-Alpine container embedded in Portenta X8. You
260
244
261
245

262
246
247
+
## Portenta X8 OS Image Update
248
+
249
+
It is recommended that you check every now and then to see if your Portenta X8 image version is up to date to have the latest security updates.
250
+
251
+
***To review the image version history, refer to the [__Portenta X8 firmware release notes__](https://docs.arduino.cc/tutorials/portenta-x8/x8-firmware-release-notes/).***
252
+
253
+
There are four ways to update your Portenta X8 are described:
254
+
255
+
*[Update for OS release V.399](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-for-os-release-v399)
256
+
*[Update through Arduino Linux Wizard experience](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-through-arduino-linux-wizard-experience)
257
+
*[Update through Portenta X8 Manager in your Arduino Cloud for Business account (available for all OS releases)](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-with-portenta-x8-board-manager)
258
+
*[Update using the `uuu` tool (compatible with custom images)](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/#update-using-uuu-tool)
259
+
260
+
You can find more details in the dedicated tutorial here: [**How To Flash Your Portenta X8**](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing).
261
+
263
262
## Portenta X8 with Arduino Cloud
264
263
265
264
***Note: this is an optional step. The Portenta X8 can also be used with locally without an internet connection.***
The Portenta X8 runs on a **Yocto-based Linux distribution** with built-in support for Docker containers. It allows users to upload sketches to the M4 core of the STM32H7 using the Arduino IDE.
31
+
32
+
While the process may be familiar to Arduino users, the Portenta X8 uses a service called `monitor-m4-elf-file.service`. This service monitors a specific directory for updated sketches. It flashes the M4 core with new code via OpenOCD, providing a seamless integration between the Linux and Arduino environments on the board.
33
+
34
+
Additionally, the Portenta X8 uses **Remote Procedure Call (RPC)** mechanisms to enable communication between the Linux system and the Arduino cores. Through RPC, data can be exchanged between the M4 and M7 cores, with the M7 core managing data transfers between the M4 core running Arduino sketches and the Linux environment.
35
+
36
+
The communication uses **MessagePack-RPC**, a lightweight protocol for serialized data transfer, supporting protocols such as OpenAMP, SPI, and TCP/IP. This setup provides solid interaction between Linux-based processes and Arduino sketches without the typical complexity of dual-core processing.
37
+
38
+
The Portenta X8 provides a powerful and flexible platform by integrating Linux capabilities with Arduino's ease of use. Users can deploy and manage device independent applications using Docker containers while benefiting from Arduino’s rich ecosystem for embedded development. This hybrid environment makes it ideal for complex, multifunctional projects.
29
39
30
40
If you need help setting up your board, please refer to the [**Portenta X8 User Manual**](https://docs.arduino.cc/tutorials/portenta-x8/user-manual) to learn the basics and get started with your Portenta X8.
0 commit comments