Skip to content

Commit 65cfafb

Browse files
committed
Include instructions for the new partition scheme
1 parent 585772e commit 65cfafb

File tree

1 file changed

+78
-16
lines changed

1 file changed

+78
-16
lines changed

content/Hardware Support/Generic/Reset-the-flash-memory-on-STM32H747-based-devices.md

Lines changed: 78 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,84 @@ title: Reset the flash memory on STM32H747-based devices
33
id: 16206977438748
44
---
55

6-
Learn how to reset the QSPI flash memory for STM32H747-based Arduino devices by uploading a utility sketch. The sketch will remove any previous partitioning scheme, and recreate the factory-defined partition scheme. Finally, the latest connectivity firmware and TLS certificates are reinstalled.
6+
Learn how to reset or change the QSPI flash memory configuration on STM32H747-based Arduino boards using a utility sketch. Running the sketch erases any custom partitioning, restores one of two supported memory layouts, and reinstalls the latest connectivity firmware along with TLS certificates.
77

88
You may want to use this procedure to:
99

10-
* Restore the factory-defined memory allocation for full support of Arduino IDE or Arduino Cloud.
11-
* Resolve issues with storage or connectivity.
10+
- Switch between different partition schemes.
11+
- Recover a board with incorrectly partitioned memory.
12+
- Resolve other issues with memory or connectivity.
13+
14+
In this article:
15+
16+
<!-- TOC -->
17+
18+
- [Available partitioning schemes](#available-partitioning-schemes)
19+
- [Use the default partitioning scheme](#use-the-default-partitioning-scheme)
20+
- [Use the partitioning scheme for Arduino PLC IDE](#use-the-partitioning-scheme-for-arduino-plc-ide)
21+
- [Troubleshooting](#troubleshooting)
22+
23+
<!-- /TOC -->
24+
25+
---
26+
27+
## Available partitioning schemes
28+
29+
| Partitioning scheme | Description |
30+
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------|
31+
| [Default partitioning scheme](#partition-your-device-for-arduino-cloud-or-other-applications) | Required for full Arduino Cloud support. |
32+
| [Arduino PLC IDE](#partition-your-device-for-arduino-plc-ide) | Compatible with Arduino PLC IDE 1.0.8. |
33+
34+
---
35+
36+
## Use the default partitioning scheme
37+
38+
This partitioning scheme supports the latest Arduino Cloud features, and is recommended unless you are using your device with Arduino PLC IDE.
1239

1340
Supported devices:
1441

15-
* Arduino GIGA R1 WiFi
16-
* Arduino Opta Lite
17-
* Arduino Opta RS485
18-
* Arduino Opta WiFi
19-
* Arduino Portenta H7
20-
* Arduino Portenta H7 Lite
21-
* Arduino Portenta H7 Lite Connected
22-
* Arduino Portenta Machine Control
42+
- Arduino GIGA R1 WiFi
43+
- Arduino Opta Lite
44+
- Arduino Opta RS485
45+
- Arduino Opta WiFi
46+
- Arduino Portenta H7
47+
- Arduino Portenta H7 Lite
48+
- Arduino Portenta H7 Lite Connected
49+
- Arduino Portenta Machine Control
50+
51+
Follow these steps:
52+
53+
1. Open the partitioning sketch:
54+
55+
- Arduino IDE: Ensure that you are using the [latest version of the board package](https://support.arduino.cc/hc/en-us/articles/4404691106066-Update-board-packages-in-Arduino-IDE), then select File > Examples > STM32H747_System > QSPIFormat.
56+
57+
- Arduino Cloud Editor: Open the [QSPIFormat example](https://app.arduino.cc/sketches/examples?eid=arduino%2Fhardware%2Fmbed_opta%2F4.4.1%2Flibraries%2FSTM32H747_System%2Fexamples%2FQSPIFormat&slid=mbed_opta%3A4.4.1%3Astm32h747_system){.link-chevron-right} in the Cloud Editor.
58+
59+
1. Connect your device to your computer and select the device in the editor.
60+
61+
1. Click ![Upload button](img/symbol_upload2.png) **Upload** to upload the sketch to the device.
62+
63+
1. Click the ![Serial Monitor button](img/symbol_monitor.png) **Serial Monitor** button in the top-right corner or select Tools > Serial Monitor (Arduino IDE only).
64+
65+
1. Open the Serial Monitor. When this message appears, the process is complete:
66+
67+
```
68+
Firmware and certificates updated!
69+
It's now safe to reboot or disconnect your board.
70+
```
2371

2472
---
2573

26-
> [!IMPORTANT]
27-
> Resetting the flash memory will remove the PLC IDE runtime. [Reinstall the runtime](https://docs.arduino.cc/software/plc-ide/tutorials/plc-ide-setup-license/#3-download-the-runtime) to continue using PLC IDE with your device.
74+
## Use the partitioning scheme for Arduino PLC IDE
75+
76+
The default memory partitioning scheme is not compatible with Arduino PLC IDE 1.0.8.
77+
78+
Supported devices:
79+
80+
- Arduino Opta Lite
81+
- Arduino Opta RS485
82+
- Arduino Opta WiFi
83+
- Arduino Portenta Machine Control
2884

2985
Follow these steps:
3086

@@ -34,9 +90,9 @@ Follow these steps:
3490

3591
1. Open the sketch in your editor:
3692

37-
* Arduino IDE: Extract the .zip into your [Sketchbook](https://support.arduino.cc/hc/en-us/articles/4412950938514-Open-the-Sketchbook-folder). Ensure both `memory_partitioning.ino` and `certificates.h` are inside a folder named `memory_partitioning`.
93+
- Arduino IDE: Extract the .zip into your [Sketchbook](https://support.arduino.cc/hc/en-us/articles/4412950938514-Open-the-Sketchbook-folder). Ensure both `memory_partitioning.ino` and `certificates.h` are inside a folder named `memory_partitioning`.
3894

39-
* Cloud Editor: Open the [Sketches tab](https://app.arduino.cc/sketches) and click on the **Create** button in the top-right corner. Select **Import local file** in the dropdown menu and import `memory_partitioning.zip`.
95+
- Cloud Editor: Open the [Sketches tab](https://app.arduino.cc/sketches) and click on the **Create** button in the top-right corner. Select **Import local file** in the dropdown menu and import `memory_partitioning.zip`.
4096

4197
1. Open the imported sketch in your editor.
4298

@@ -53,4 +109,10 @@ Follow these steps:
53109
It's now safe to reboot or disconnect your board.
54110
```
55111

56-
Check if the problem persists. If you're using PLC IDE, you'll first need to [reinstall the runtime](https://docs.arduino.cc/software/plc-ide/tutorials/plc-ide-setup-license/#3-download-the-runtime). If you're using an Arduino Opta and still encounter issues, the memory may have write protection enabled. Follow the instructions in [Recover an Arduino Opta with read-only flash memory](https://support.arduino.cc/hc/en-us/articles/16289852333212-Recover-an-Arduino-Opta-with-read-only-flash-memory), then repeat the steps above.
112+
Note that resetting the flash memory will remove the PLC IDE runtime. To continue using PLC IDE with your device, you need to [reinstall the runtime](https://docs.arduino.cc/software/plc-ide/tutorials/plc-ide-setup-license/#3-download-the-runtime).
113+
114+
---
115+
116+
## Troubleshooting
117+
118+
If you're using an Arduino Opta and still encounter issues, the memory may have write protection enabled. Follow the instructions in [Recover an Arduino Opta with read-only flash memory](https://support.arduino.cc/hc/en-us/articles/16289852333212-Recover-an-Arduino-Opta-with-read-only-flash-memory), then partition the memory again.

0 commit comments

Comments
 (0)