-
-
Notifications
You must be signed in to change notification settings - Fork 462
Description
There are a few inaccuracies in the Portenta Mid Carrier Docs page
- Technically, all interfaces are accessible to a User who wants to hack at it (yay open source!). Yet, we do have a specific OoB experience that we provide support for (see Details)
- There are some limitations in what we can support with the STM32 included inside the Portenta X8, since the peripherals are shared with the i.MX core.
- The GNSS support is not part of the Portenta Mid Carrier, nor is it provided by both version of the Pro 4G module.
Details
The Portenta Mid Carrier is indeed compatible with the Portenta boards - Portenta C33 (ABX00074), Portenta H7 (ABX00042 and variants) and Portenta X8 (ABX00049). The final customer solution will likely involve the Pro 4G EMEA (SKU: TPX00201) or GNSS (SKU: TPX00200) PCIE boards.
Network connectivity is handled differently between the Portenta C33/H7 (arduino-libraries/Arduino_Cellular/) and the Portenta X8 (Yocto Linux). One is with a Arduino library, the other is via the Linux stack.
Here is the information in a table format:
Portenta Board | Carrier Board | Pro 4G Module | Cellular Support |
---|---|---|---|
Portenta C33/H7 | Portenta Mid Carrier | EMEA (No GPS)/GNSS (with GPS) | Arduino_Cellular library |
Portenta X8 | Portenta Mid Carrier | EMEA (No GPS)/GNSS (with GPS) | Yocto Linux |
This difference is explained inside the Portenta X8 User Manual
docs-content/content/hardware/04.pro/boards/portenta-x8/tutorials/01.user-manual/content.md
Lines 49 to 63 in 42e01e0
As you can see, Portenta X8 features two powerful computing units: | |
* **NXP® i.MX 8M Mini** Cortex®-A53 quad-core up to 1.8GHz per core + 1x Cortex®-M4 up to 400 MHz. This microprocessor is the one where the Yocto Linux distribution is running together with Docker containers (check [this section](#linux-environment) of this user manual to learn more). | |
* **STMicroelectronics STM32H747XI** dual-core Cortex®-M7 up to 480 MHz + M4 32 bit Arm® MCU up to 240 MHz. This microcontroller is the one where the "Arduino Mbed OS Portenta Boards" Core is running. M4 core is accessible and programmable by the user, while M7 is dedicated to establishing and guaranteeing the communication between i.MX 8M Mini and M4 as well as to manage peripherals through RPC. Check [this section](#arduino-environment) of this user manual to learn more. | |
The two computing units are responsible for different tasks, which are summarized in the table below. | |
| NXP® i.MX 8M Mini | STMicroelectronics STM32H747XI (M4) | | |
| ------------------------------------------------------- | -------------------------------------------------------------- | | |
| Running Yocto Linux distribution with Docker containers | Running Arduino sketches with the Mbed OS Portenta Boards Core | | |
| Dedicated to high level tasks | Dedicated to real-time tasks | | |
| Manage network connectivity | No direct connection to any network stack | | |
| Manage network-based buses (e.g. Modbus TCP, etc.) | Manage field buses (e.g. Modbus RTU, CANbus, etc.) | | |
| Access to peripherals without concurrent access control | Access to peripherals without concurrent access control | |
Note that the User Manual conflicts with the statement made here
The carrier is also compatible with the Portenta H7, Portenta C33, and the auxiliary core of the Portenta X8, being fully compatible with the Arduino code ecosystem. |