Skip to content

Commit 491444c

Browse files
authored
[Docs] Added more details about embedded FLASH and PSRAM on ESP32-S3. (#6321)
* [Docs] Added more information about embedded PSRAM and Flash for ESP32-S3 * [Docs] Fixed some typos * [Docs] Fixed some spacing issues
1 parent a135169 commit 491444c

File tree

1 file changed

+63
-14
lines changed

1 file changed

+63
-14
lines changed

Diff for: docs/source/guides/tools_menu.rst

+63-14
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ For more details or to add a new board, see the `boards.txt`_ file.
2828
Generic Options
2929
---------------
3030

31-
Most of the options are available for every ESP32 families. Some options will be available only for specific targets, like the USB configuration.
31+
Most of the options are available for every ESP32 family. Some options will be available only for specific targets, like the USB configuration.
3232

3333
Board
3434
*****
@@ -57,19 +57,21 @@ CPU Frequency
5757

5858
On this option, you can select the CPU clock frequency. This option is critical and must be selected according to the high-frequency crystal present on the board and the radio usage (Wi-Fi and Bluetooth).
5959

60-
In some application, reducing the CPU clock frequency is recommended in order to reduce the power consumption.
60+
In some applications, reducing the CPU clock frequency is recommended in order to reduce power consumption.
6161

6262
If you don't know why you should change this frequency, leave the default option.
6363

6464
Flash Frequency
6565
***************
6666

67-
Use this function to select the flash memory frequency. The frequency will be dependent of the memory model.
67+
Use this function to select the flash memory frequency. The frequency will be dependent on the memory model.
6868

6969
* **40MHz**
7070
* **80MHz**
7171

72-
If you don't know if your memory supports **80Mhz**, you can try to upload you scketch using the **80MHz** option and watch the log output via the serial monitor.
72+
If you don't know if your memory supports **80Mhz**, you can try to upload the sketch using the **80MHz** option and watch the log output via the serial monitor.
73+
74+
.. note:: In some boards/SoC, the flash frequency is automatically selected according to the flash mode. In some cases (i.e ESP32-S3), the flash frequency is up to 120MHz.
7375

7476
Flash Mode
7577
**********
@@ -79,17 +81,20 @@ This option is used to select the SPI communication mode with the flash memory.
7981
Depending on the application, this mode can be changed in order to increase the flash communication speed.
8082

8183
* **QIO** - Quad I/O Fast Read
82-
* Four SPI pins are used to write to the flash and to read from flash.
84+
* Four SPI pins are used to write to the flash and to read from the flash.
8385

8486
* **DIO** - Dual I/O Fast Read
85-
* Two SPI pins are used to write to the flash and to read from flash.
87+
* Two SPI pins are used to write to the flash and to read from the flash.
8688

8789
* **QOUT** - Quad Output Fast Read
8890
* Four SPI pins are used to read the flash data.
8991

9092
* **DOUT** - Dual Output Fast Read
9193
* Two SPI pins are used to read flash data.
9294

95+
* **OPI** - Octal I/O
96+
* Eight SPI pins are used to write and to read from the flash.
97+
9398
If you don't know how the board flash is physically connected or the flash memory model, try the **QIO** at **80MHz** first.
9499

95100
Flash Size
@@ -104,7 +109,29 @@ This option is used to select the flash size. The flash size should be selected
104109

105110
If you choose the wrong size, you may have issues when selecting the partition scheme.
106111

112+
Embedded Flash
113+
^^^^^^^^^^^^^^
114+
115+
Some SoC has embedded flash. The ESP32-S3 is a good example.
116+
117+
.. note:: Check the manufacturer part number of your SoC/module to see the right version.
118+
119+
Example: **ESP32-S3FH4R2**
120+
121+
This particular ESP32-S3 variant comes with 4MB Flash and 2MB PSRAM.
107122

123+
**Options for Embedded Flash**
124+
125+
* **Fx4** 4MB Flash (*QIO*)
126+
* **Fx8** 8MB Flash (*QIO*)
127+
* **V** 1.8V SPI
128+
129+
The **x** stands for the temperature range specification.
130+
131+
* **H** High Temperature (*-40 to 85ºC*)
132+
* **N** Low Temeprature (*-40 to 65ºC*)
133+
134+
For more details, please see the corresponding datasheet at `Espressif Product Selector`_.
108135

109136
Partition Scheme
110137
****************
@@ -130,21 +157,44 @@ PSRAM
130157

131158
The PSRAM is an internal or external extended RAM present on some boards, modules or SoC.
132159

133-
This option can be used to ``Enable`` or ``Disable`` the PSRAM.
160+
This option can be used to ``Enable`` or ``Disable`` PSRAM. In some SoCs, you can select the PSRAM mode as the following.
161+
162+
* **QSPI PSRAM** - Quad PSRAM
163+
* **OPI PSRAM** - Octal PSRAM
164+
165+
Embedded PSRAM
166+
^^^^^^^^^^^^^^
167+
168+
Some SoC has embedded PSRAM. The ESP32-S3 is a good example.
169+
170+
Example: **ESP32-S3FH4R2**
171+
172+
This particular ESP32-S3 comes with 4MB Flash and 2MB PSRAM.
173+
174+
**Options for Embedded Flash and PSRAM**
175+
176+
* **R2** 2MB PSRAM (*QSPI*)
177+
* **R8** 8MB PSRAM (*OPI*)
178+
* **V** 1.8V SPI
179+
180+
The **x** stands for the temperature range specification.
181+
182+
* **H** High Temperature (*-40 to 85ºC*)
183+
* **N** Low Temeprature (*-40 to 65ºC*)
184+
185+
For more details, please see the corresponding datasheet at `Espressif Product Selector`_.
134186

135187
Arduino Runs On
136188
***************
137189

138190
This function is used to select the core that runs the Arduino core. This is only valid if the target SoC has 2 cores.
139191

140-
When you have some heavy task running, you might want to run this task on a different core then the Arduino tasks. For this reason, you have this configuration to select the core.
192+
When you have some heavy task running, you might want to run this task on a different core than the Arduino tasks. For this reason, you have this configuration to select the right core.
141193

142194
Events Run On
143195
*************
144196

145-
This function is used to select the core that runs the events. This is only valid if the target SoC has 2 cores.
146-
147-
The same situation on the previous configuration.
197+
This function is also used to select the core that runs the Arduino events. This is only valid if the target SoC has 2 cores.
148198

149199
Port
150200
****
@@ -180,7 +230,7 @@ USB Firmware MSC On Boot
180230
The USB Mass Storage Class, or USB MSC, is a class used for storage devices, like a USB flash drive.
181231

182232
This option can be used to ``Enable`` or ``Disable`` this function at the boot. If this option is ``Enabled``, once the device is connected via USB, one new storage device will appear in the system as a storage drive.
183-
Use this new storage drive to write or read files, or to drop a new firmware binary to flash the device.
233+
Use this new storage drive to write and read files or to drop a new firmware binary to flash the device.
184234

185235
.. figure:: ../_static/usb_msc_drive.png
186236
:align: center
@@ -194,6 +244,5 @@ The USB Device Firmware Upgrade is a class used for flashing the device through
194244

195245
This option can be used to ``Enable`` or ``Disable`` this function at the boot. If this option is ``Enabled``, once the device is connected via USB, the device will appear as a USB DFU capable device.
196246

197-
198247
.. _Espressif Product Selector: https://products.espressif.com/
199-
.. _boards.txt: https://github.com/espressif/arduino-esp32/blob/master/boards.txt
248+
.. _boards.txt: https://github.com/espressif/arduino-esp32/blob/master/boards.txt

0 commit comments

Comments
 (0)