Skip to content

Commit 86319cb

Browse files
authored
Merge pull request #547 from arduino/jcarolinares/portentah7-fixes
IDE pro references removed. Some bad indentations inside code blocks+typos
2 parents 9a799d3 + c86c0d5 commit 86319cb

File tree

5 files changed

+31
-37
lines changed

5 files changed

+31
-37
lines changed

content/hardware/04.pro/boards/portenta-h7/tutorials/dual-core-processing/content.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ The Portenta H7 is equipped with a processor that has two processing units calle
3333

3434
- [Portenta H7 (ABX00042)](https://store.arduino.cc/portenta-h7) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
3535
- USB C cable (either USB A to USB C or USB C to USB C)
36-
- Arduino IDE 1.8.10+ or Arduino Pro IDE 0.0.4+ 
36+
- Arduino IDE 1.8.10+ 
3737

3838
## Cortex® M7 & M4
39-
Processor cores are individual processing units within the board's main processing unit (do not confuse a processor core with an [Arduino core](https://www.arduino.cc/en/guide/cores)). These cores are responsible for executing instructions at a particular clock speed. The on-board  Arm Cortex processor comes with two cores (Cortex® M7 and M4), with slightly different architectures and clock speeds. The M7 runs at 480 MHz and the architecture is designed to separate Instruction and Data buses to optimize CPU latency. The M4 runs at 240 MHz and the architecture supports the ART™ accelerator (a block that speeds up instruction fetching accesses of the Cortex-M4 core to the D1-domain internal memories). The higher clock rate of the M7 makes it suitable to handle complex processing tasks such as data storage, debugging or handling input/output peripherals at a higher efficiency compared to the M4. The dual core processor of the Portenta H7 sets it apart from other single core Arduino boards, by allowing true multitasking, faster data processing capabilities, enhanced processing power and application partitioning.  
39+
Processor cores are individual processing units within the board's main processing unit (do not confuse a processor core with an [Arduino core](https://docs.arduino.cc/learn/starting-guide/cores)). These cores are responsible for executing instructions at a particular clock speed. The on-board  Arm Cortex processor comes with two cores (Cortex® M7 and M4), with slightly different architectures and clock speeds. The M7 runs at 480 MHz and the architecture is designed to separate Instruction and Data buses to optimize CPU latency. The M4 runs at 240 MHz and the architecture supports the ART™ accelerator (a block that speeds up instruction fetching accesses of the Cortex-M4 core to the D1-domain internal memories). The higher clock rate of the M7 makes it suitable to handle complex processing tasks such as data storage, debugging or handling input/output peripherals at a higher efficiency compared to the M4. The dual core processor of the Portenta H7 sets it apart from other single core Arduino boards, by allowing true multitasking, faster data processing capabilities, enhanced processing power and application partitioning.  
4040

4141
![The Architectures of Cortex® M7 and M4 cores.](assets/por_ard_dcp_m4_m7_architectures.svg)
4242

@@ -48,7 +48,7 @@ To best illustrate the idea of dual core processing, you will be running two sep
4848
![Running two different sketch files on the different cores.](assets/por_ard_dcp_tutorial_overview.svg)
4949

5050
### 1. The Basic Setup
51-
Begin by plugging-in your Portenta board to your computer using an appropriate USB-C cable and have the  Arduino IDE open. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [Setting Up Portenta H7 For Arduino](https://docs.arduino.cc/tutorials/portenta-h7/setting-up-portenta) before you proceed.
51+
Begin by plugging-in your Portenta board to your computer using an appropriate USB-C cable and have the  Arduino IDE open. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [Setting Up Portenta H7 For Arduino](setting-up-portenta) before you proceed.
5252

5353
![A Basic setup of the board attached to your computer](../setting-up-portenta/assets/por_ard_gs_basic_setup.svg)
5454

@@ -149,11 +149,11 @@ int myLED;
149149

150150
void setup() {
151151

152-
randomSeed(analogRead(0));
152+
randomSeed(analogRead(0));
153153

154-
#ifdef CORE_CM7
155-
bootM4();
156-
myLED = LEDB; // built-in blue LED
154+
#ifdef CORE_CM7
155+
bootM4();
156+
myLED = LEDB; // built-in blue LED
157157
#endif
158158
```
159159
@@ -163,9 +163,9 @@ The code between `#ifdef CORE_CM7` and `#endif` will only apply for the M7 Core
163163
Then, as well inside the `setup()` function, you will need to include the following lines to configure properly the green LED in the M4 core.
164164
165165
```cpp
166-
#ifdef CORE_CM4
167-
myLED = LEDG; // built-in greeen LED
168-
#endif
166+
#ifdef CORE_CM4
167+
myLED = LEDG; // built-in greeen LED
168+
#endif
169169
```
170170

171171
### 3. Finishing the Setup() Function and Programming the Loop()
@@ -181,7 +181,7 @@ void loop() {
181181
digitalWrite(myLED, LOW); // turn the LED on
182182
delay(200);
183183
digitalWrite(myLED, HIGH); // turn the LED off
184-
delay( rand() % 2000 + 1000); // wait for a random amount of time between 1 and 3 seconds.
184+
delay(rand() % 2000 + 1000); // wait for a random amount of time between 1 and 3 seconds.
185185
}
186186
```
187187
@@ -192,4 +192,4 @@ This tutorial introduces the idea of dual core processing and illustrates the co
192192
193193
### Next Steps
194194
195-
- Proceed with the next tutorial "Setting Up a Wi-Fi Access Point" to learn how to make use of the built-in Wi-Fi module and configure your Portenta H7 as a Wi-Fi access point.
195+
- Proceed with the next tutorial [Setting Up a Wi-Fi Access Point](wifi-access-point) to learn how to make use of the built-in Wi-Fi module and configure your Portenta H7 as a Wi-Fi access point.

content/hardware/04.pro/boards/portenta-h7/tutorials/setting-up-portenta/content.md

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ software:
2020
- web-editor
2121
---
2222
## Overview
23-
Congratulations on your purchase of one of our most powerful microcontroller boards to date! We know you are eager to try out your new board but before you can start using the Portenta H7 to run Arduino sketches you need to configure your computer and the Arduino IDE. This tutorial teaches you how to set up the board, how to configure your computer and how to run the classic Arduino blink example to verify if the configuration was successful.
23+
Congratulations on your purchase of one of our most powerful microcontroller boards to date! We know you are eager to try out your new board but before you can start using the Portenta H7 to run Arduino sketches you need to configure your computer and the Arduino IDE. This tutorial teaches you how to set up the board, how to configure your computer and how to run the classic Arduino blink example to verify if the configuration was successful.
2424

2525
One of the benefits of the Portenta H7 is that it supports different types of software cores. A core is the software API for a particular set of processors. It is the API that provides functions such as digitalRead(), analogWrite(), millis() etc. which directly operate on the hardware.
2626

@@ -31,19 +31,18 @@ This tutorial focuses on the Arduino core which allows you to benefit from the t
3131
## Goals
3232

3333
- About the Arduino and Mbed operating system (Mbed OS) stack
34-
- Installing the Mbed library
34+
- Installing the Mbed library
3535
- Controlling the built in LED on the Portenta board
3636

3737
### Required Hardware and Software
3838

39-
- [Portenta H7 (ABX00042)](https://store.arduino.cc/products/portenta-h7), [Portenta H7 Lite (ABX00045)](https://store.arduino.cc/products/portenta-h7-lite) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
39+
- [Portenta H7 (ABX00042)](https://store.arduino.cc/products/portenta-h7), [Portenta H7 Lite (ABX00045)](https://store.arduino.cc/products/portenta-h7-lite) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
4040
- USB C cable (either USB A to USB C or USB C to USB C)
41-
- Arduino IDE 1.8.10+ or Arduino Pro IDE 0.0.4+
4241

4342
## Portenta and The Arduino Core
44-
The Portenta H7 is equipped with two Arm Cortex ST processors (Cortex-M4 and Cortex-M7) which run the Mbed OS. Mbed OS is an embedded real time operating system (RTOS) designed specifically for microcontrollers to run IoT applications on low power. A real-time operating system is an operating system designed to run real-time applications that process data as it comes in, typically without buffer delays. [Here you can read more about real time operating systems](https://www.ni.com/en-us/innovations/white-papers/07/what-is-a-real-time-operating-system--rtos--.html).
43+
The Portenta H7 is equipped with two Arm Cortex ST processors (Cortex-M4 and Cortex-M7) which run the Mbed OS. Mbed OS is an embedded real time operating system (RTOS) designed specifically for microcontrollers to run IoT applications on low power. A real-time operating system is an operating system designed to run real-time applications that process data as it comes in, typically without buffer delays. [Here you can read more about real time operating systems](https://www.ni.com/en-us/innovations/white-papers/07/what-is-a-real-time-operating-system--rtos--.html).
4544

46-
The Arduino core for the Portenta H7 sits on top of the Mbed OS and allows to develop applications using Mbed OS APIs which handle for example storage, connectivity, security and other hardware interfacing. [Here you can read more about the Mbed OS APIs](https://os.mbed.com/docs/mbed-os/v5.15/apis/index.html). However, taking advantage of the Arm® Mbed™ real time operating system's powerful features can be a complicated process. Therefore we simplified that process by allowing you to run Arduino sketches on top of it.
45+
The Arduino core for the Portenta H7 sits on top of the Mbed OS and allows to develop applications using Mbed OS APIs which handle for example storage, connectivity, security and other hardware interfacing. [Here you can read more about the Mbed OS APIs](https://os.mbed.com/docs/mbed-os/latest/apis/index.html). However, taking advantage of the Arm® Mbed™ real time operating system's powerful features can be a complicated process. Therefore we simplified that process by allowing you to run Arduino sketches on top of it.
4746

4847
![The Arduino core is built on top of the Mbed stack](assets/por_gs_mbed_stack.svg)
4948

@@ -52,28 +51,25 @@ The Arduino core for the Portenta H7 sits on top of the Mbed OS and allows to de
5251
### Configuring the Development Environment
5352
In this section, we will guide you through a step-by-step process of setting up your Portenta board for running an Arduino Sketch that blinks the built-in RGB LED.
5453

55-
***IMPORTANT: Please make sure to update the bootloader to the most recent version to benefit from the latest improvements. Follow [these steps](/tutorials/portenta-h7/updating-the-bootloader) before you proceed with the next step of this tutorial.***
54+
***IMPORTANT: Please make sure to update the bootloader to the most recent version to benefit from the latest improvements. Follow [these steps](updating-the-bootloader) before you proceed with the next step of this tutorial.***
5655

5756
### 1. The Basic Setup
58-
Let's begin by Plug-in your Portenta to your computer using the appropriate USB C cable. Next, open your IDE and make sure that you have the right version of the Arduino IDE or the PRO IDE downloaded on to your computer.
57+
Let's begin by Plug-in your Portenta to your computer using the appropriate USB C cable. Next, open your IDE and make sure that you have the right version of the Arduino IDE downloaded on to your computer.
5958

6059
![The Portenta H7 can be connected to the computer using an appropriate USB-C cable](assets/por_ard_gs_basic_setup.svg)
6160

6261
### 2. Adding the Portenta to the List of Available Boards
63-
This step is the same for both the classic IDE and the Pro IDE. Open the board manager and search for "portenta". Find the Arduino mbed-enabled Boards library and click on "Install" to install the latest version of the mbed core (1.2.3 at the time of writing this tutorial).
62+
In your Arduino IDE, open the board manager and search for "portenta". Find the Arduino mbed-enabled Boards library and click on "Install" to install the latest version of the mbed core (1.2.3 at the time of writing this tutorial).
6463

65-
**Note:** If you have previously installed the Nano 33 BLE core it will be updated by following this step.
64+
**Note:** If you have previously installed the Nano 33 BLE core it will be updated by following this step.
6665

6766
![A search for "portenta" reveals the core that needs to be installed to support Portenta H7.](assets/por_ard_gs_bm_core.png)
6867

69-
![Also in the Pro IDE, a search for "portenta" reveals the core that needs to be installed to support Portenta H7.](assets/por_ard_gs_bm_core_pro_ide.png)
70-
7168
### 3. Uploading the Classic Blink Sketch
7269
Let's program the Portenta with the classic blink example to check if the connection to the board works. There are two ways to do that:
7370

74-
- In the classic Arduino IDE open the blink example by clicking the menu entry **File > Examples > 01.Basics > Blink**. You need to swap LOW and HIGH pin values as the built-in LED on Portenta is turned on by pulling it LOW.
75-
- By downloading the 'Arduino_Pro_Tutorials' library and opening the pre-made sketch under **File > Examples > Arduino_Pro_Tutorials > Setting Up Portenta H7 For Arduino > Blink**
76-
- In the Arduino Pro IDE Copy and paste the following code into a new sketch in your IDE.
71+
- In the classic Arduino IDE open the blink example by clicking the menu entry **File > Examples > 01.Basics > Blink**. You need to swap LOW and HIGH pin values as the built-in LED on Portenta is turned on by pulling it LOW.
72+
- In the Arduino IDE copy and paste the following code into a new sketch in your IDE.
7773

7874
```cpp
7975
// the setup function runs once when you press reset or power the board
@@ -96,25 +92,23 @@ void loop() {
9692

9793
For Portenta H7 LED_BUILTIN represents the built-in RGB LED on the board in green color.
9894

99-
**Note:** The individual colors of the built-in RGB LED can be accessed and controlled separately. In the tutorial "Dual Core Processing" you will learn how to control the LED to light it in different colors
95+
**Note:** The individual colors of the built-in RGB LED can be accessed and controlled separately. In the tutorial [Dual core processing](dual-core-processing) you will learn how to control the LED to light it in different colors
10096

10197
### 4. Upload the Blink Sketch
102-
Now it's time to upload the sketch and see if the LED will start to blink. Make sure you select Arduino Portenta H7 (M7 core) as the board and the port to which the Portenta H7 is connected. If the Portenta H7 doesn't show up in the list of ports, go back to step 5 and make sure that the drivers are installed correctly. Once selected click Upload. Once uploaded the built-in LED should start blinking with an interval of 1 second.
98+
Now it's time to upload the sketch and see if the LED will start to blink. Make sure you select Arduino Portenta H7 (M7 core) as the board and the port to which the Portenta H7 is connected. If the Portenta H7 doesn't show up in the list of ports, go back to step 1 and make sure that the drivers are installed correctly. Once selected click Upload. Once uploaded the built-in LED should start blinking with an interval of 1 second.
10399

104-
**Note:** The Portenta H7 has an M7 and an M4 processor which run separate cores. That's why you need to select the one to which you want to upload your sketch to (check out the tutorial "Dual Core Processing" to learn more about Portenta's processors).
100+
**Note:** The Portenta H7 has an M7 and an M4 processor which run separate cores. That's why you need to select the one to which you want to upload your sketch to (check out the tutorial [Dual core processing](dual-core-processing) to learn more about Portenta's processors).
105101

106102
![Select the Arduino Portenta H7 (M7 core) in the board selector.](assets/por_ard_gs_upload_sketch.png)
107103

108-
![Selecting the Arduino Portenta H7 (M7 core)](assets/por_gs_board_selection_pro_ide.png)
109-
110104
**Optional:** We collect all the sketches from the tutorials in a library which you can install from the Library Manager: **Tools > Manage Libraries**. Search for 'Arduino_Pro_Tutorials' or download them from the [repository](https://github.com/arduino-libraries/Arduino_Pro_Tutorials/releases).
111105

112106
## Conclusion
113-
You have now configured your Portenta board to run Arduino sketches. Along with that you gained an understanding of how the Arduino Core runs on top of Mbed OS.
107+
You have now configured your Portenta board to run Arduino sketches. Along with that you gained an understanding of how the Arduino Core runs on top of Mbed OS.
114108

115109
### Next Steps
116-
- Proceed with the next tutorial "Dual Core Processing" to learn how to make use of Portenta H7's two processors to do two separate tasks simultaneously.
117-
- Read more about why we chose Mbed as as the foundation [here](https://blog.arduino.cc/2019/07/31/why-we-chose-to-build-the-arduino-nano-33-ble-core-on-mbed-os/)
110+
- Proceed with the next tutorial [Dual core processing](dual-core-processing) to learn how to make use of Portenta H7's two processors to do two separate tasks simultaneously.
111+
- Read more about why we chose Mbed as as the foundation [here](https://blog.arduino.cc/2019/07/31/why-we-chose-to-build-the-arduino-nano-33-ble-core-on-mbed-os/).
118112

119113
## Troubleshooting
120114
### Sketch Upload Troubleshooting

content/hardware/04.pro/boards/portenta-h7/tutorials/updating-the-bootloader/content.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ This tutorial will explain what a bootloader is, why you should consider keeping
2929

3030
- [Portenta H7 (ABX00042)](https://store.arduino.cc/products/portenta-h7), [Portenta H7 Lite (ABX00045)](https://store.arduino.cc/products/portenta-h7-lite) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
3131
- USB C cable (either USB A to USB C or USB C to USB C)
32-
- Arduino IDE 1.8.10+ or Arduino Pro IDE 0.0.4+
32+
- Arduino IDE 1.8.10+
3333

3434
## What Is a Firmware?
3535

@@ -64,7 +64,7 @@ New versions of the bootloader normally get shipped together with the core. That
6464

6565
![Open the Boards Manager from the Tools menu](assets/por_ard_bl_boards_manager.png)
6666

67-
In the board manager and search for "portenta". Find the Arduino mbed-enabled Boards package and click on "Install" to install the latest version of the mbed core (1.3.0 at the time of writing this tutorial).
67+
In the board manager and search for "portenta". Find the Arduino mbed-enabled Boards package and click on "Install" to install the latest version of the mbed core (1.3.0 at the time of writing this tutorial).
6868

6969
![A search for "portenta" reveals the core that needs to be updated to get the latest bootloader](assets/por_ard_bl_update_core.png)
7070

0 commit comments

Comments
 (0)