@@ -4,25 +4,27 @@ Overview
44********
55
66M5Stack CoreS3 is an ESP32-based development board from M5Stack. It is the third generation of the M5Stack Core series.
7+ M5Stack CoreS3 SE is the compact version of CoreS3. It has the same form factor as the original M5Stack,
8+ and some features were reduced from CoreS3.
79
8- M5Stack CoreS3 features consist of:
10+ M5Stack CoreS3/CoreS3 SE features consist of:
911
1012- ESP32-S3 chip (dual-core Xtensa LX7 processor @240MHz, WIFI, OTG and CDC functions)
1113- PSRAM 8MB
1214- Flash 16MB
1315- LCD ISP 2", 320x240 pixel ILI9342C
1416- Capacitive multi touch FT6336U
15- - Camera 30W pixel GC0308
1617- Speaker 1W AW88298
1718- Dual Microphones ES7210 Audio decoder
1819- RTC BM8563
1920- USB-C
2021- SD-Card slot
21- - Geomagnetic sensor BMM150
22- - Proximity sensor LTR-553ALS-WA
23- - 6-Axis IMU BMI270
2422- PMIC AXP2101
25- - Battery 500mAh 3.7 V
23+ - Battery 500mAh 3.7 V (Not available for CoreS3 SE)
24+ - Camera 30W pixel GC0308 (Not available for CoreS3 SE)
25+ - Geomagnetic sensor BMM150 (Not available for CoreS3 SE)
26+ - Proximity sensor LTR-553ALS-WA (Not available for CoreS3 SE)
27+ - 6-Axis IMU BMI270 (Not available for CoreS3 SE)
2628
2729Start Application Development
2830*****************************
@@ -48,24 +50,145 @@ below to retrieve those files.
4850 It is recommended running the command above after :file: `west update `.
4951
5052Building & Flashing
51- -------------------
53+ *******************
54+
55+ Simple boot
56+ ===========
57+
58+ The board could be loaded using the single binary image, without 2nd stage bootloader.
59+ It is the default option when building the application without additional configuration.
60+
61+ .. note ::
62+
63+ Simple boot does not provide any security features nor OTA updates.
64+
65+ MCUboot bootloader
66+ ==================
67+
68+ User may choose to use MCUboot bootloader instead. In that case the bootloader
69+ must be built (and flashed) at least once.
70+
71+ There are two options to be used when building an application:
72+
73+ 1. Sysbuild
74+ 2. Manual build
75+
76+ .. note ::
77+
78+ User can select the MCUboot bootloader by adding the following line
79+ to the board default configuration file.
80+
81+ .. code :: cfg
82+
83+ CONFIG_BOOTLOADER_MCUBOOT =y
84+
85+ Sysbuild
86+ ========
87+
88+ The sysbuild makes possible to build and flash all necessary images needed to
89+ bootstrap the board with the ESP32 SoC.
90+
91+ To build the sample application using sysbuild use the command:
92+
93+ .. tabs ::
94+
95+ .. group-tab :: M5Stack CoreS3
96+
97+ .. zephyr-app-commands ::
98+ :tool: west
99+ :zephyr-app: samples/hello_world
100+ :board: m5stack_cores3/esp32s3/procpu
101+ :goals: build
102+ :west-args: --sysbuild
103+ :compact:
104+
105+ .. group-tab :: M5Stack CoreS3 SE
106+
107+ .. zephyr-app-commands ::
108+ :tool: west
109+ :zephyr-app: samples/hello_world
110+ :board: m5stack_cores3/esp32s3/procpu/se
111+ :goals: build
112+ :west-args: --sysbuild
113+ :compact:
114+
115+ By default, the ESP32 sysbuild creates bootloader (MCUboot) and application
116+ images. But it can be configured to create other kind of images.
117+
118+ Build directory structure created by sysbuild is different from traditional
119+ Zephyr build. Output is structured by the domain subdirectories:
120+
121+ .. code-block ::
122+
123+ build/
124+ ├── hello_world
125+ │ └── zephyr
126+ │ ├── zephyr.elf
127+ │ └── zephyr.bin
128+ ├── mcuboot
129+ │ └── zephyr
130+ │ ├── zephyr.elf
131+ │ └── zephyr.bin
132+ └── domains.yaml
133+
134+ .. note ::
135+
136+ With ``--sysbuild `` option the bootloader will be re-build and re-flash
137+ every time the pristine build is used.
138+
139+ For more information about the system build please read the :ref: `sysbuild ` documentation.
140+
141+ Manual build
142+ ============
143+
144+ During the development cycle, it is intended to build & flash as quickly possible.
145+ For that reason, images can be built one at a time using traditional build.
146+
147+ The instructions following are relevant for both manual build and sysbuild.
148+ The only difference is the structure of the build directory.
149+
150+ .. note ::
151+
152+ Remember that bootloader (MCUboot) needs to be flash at least once.
52153
53154Build and flash applications as usual (see :ref: `build_an_application ` and
54155:ref: `application_run ` for more details).
55156
56- .. zephyr-app-commands ::
57- :zephyr-app: samples/hello_world
58- :board: m5stack_cores3/esp32s3/procpu
59- :goals: build
157+ .. tabs ::
158+
159+ .. group-tab :: M5Stack CoreS3
160+
161+ .. zephyr-app-commands ::
162+ :zephyr-app: samples/hello_world
163+ :board: m5stack_cores3/esp32s3/procpu
164+ :goals: build
165+
166+ .. group-tab :: M5Stack CoreS3 SE
167+
168+ .. zephyr-app-commands ::
169+ :zephyr-app: samples/hello_world
170+ :board: m5stack_cores3/esp32s3/procpu/se
171+ :goals: build
60172
61173The usual ``flash `` target will work with the ``m5stack_cores3/esp32s3/procpu `` board
62174configuration. Here is an example for the :zephyr:code-sample: `hello_world `
63175application.
64176
65- .. zephyr-app-commands ::
66- :zephyr-app: samples/hello_world
67- :board: m5stack_cores3/esp32s3/procpu
68- :goals: flash
177+ .. tabs ::
178+
179+ .. group-tab :: M5Stack CoreS3
180+
181+ .. zephyr-app-commands ::
182+ :zephyr-app: samples/hello_world
183+ :board: m5stack_cores3/esp32s3/procpu
184+ :goals: flash
185+
186+ .. group-tab :: M5Stack CoreS3 SE
187+
188+ .. zephyr-app-commands ::
189+ :zephyr-app: samples/hello_world
190+ :board: m5stack_cores3/esp32s3/procpu/se
191+ :goals: flash
69192
70193The baud rate of 921600bps is set by default. If experiencing issues when flashing,
71194try using different values by using ``--esp-baud-rate <BAUD> `` option during
@@ -85,22 +208,59 @@ message in the monitor:
85208 *** Booting Zephyr OS build vx.x.x-xxx-gxxxxxxxxxxxx ***
86209 Hello World! m5stack_cores3/esp32s3/procpu
87210
88-
89211 Debugging
90- ---------
212+ *********
91213
92214ESP32-S3 support on OpenOCD is available at `OpenOCD ESP32 `_.
93215
94216ESP32-S3 has a built-in JTAG circuitry and can be debugged without any additional chip. Only an USB cable connected to the D+/D- pins is necessary.
95217
96218Further documentation can be obtained from the SoC vendor in `JTAG debugging for ESP32-S3 `_.
97219
220+ Here is an example for building the :zephyr:code-sample: `hello_world ` application.
221+
222+ .. tabs ::
223+
224+ .. group-tab :: M5Stack CoreS3
225+
226+ .. zephyr-app-commands ::
227+ :zephyr-app: samples/hello_world
228+ :board: m5stack_cores3/esp32s3/procpu
229+ :goals: debug
230+
231+ .. group-tab :: M5Stack CoreS3 SE
232+
233+ .. zephyr-app-commands ::
234+ :zephyr-app: samples/hello_world
235+ :board: m5stack_cores3/esp32s3/procpu/se
236+ :goals: debug
237+
238+ You can debug an application in the usual way. Here is an example for the :zephyr:code-sample: `hello_world ` application.
239+
240+ .. tabs ::
241+
242+ .. group-tab :: M5Stack CoreS3
243+
244+ .. zephyr-app-commands ::
245+ :zephyr-app: samples/hello_world
246+ :board: m5stack_cores3/esp32s3/procpu
247+ :goals: debug
248+
249+ .. group-tab :: M5Stack CoreS3 SE
250+
251+ .. zephyr-app-commands ::
252+ :zephyr-app: samples/hello_world
253+ :board: m5stack_cores3/esp32s3/procpu/se
254+ :goals: debug
255+
98256References
99257**********
100258
101259.. target-notes ::
102260
103261.. _`M5Stack CoreS3 Documentation` : http://docs.m5stack.com/en/core/CoreS3
104262.. _`M5Stack CoreS3 Schematic` : https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/K128%20CoreS3/Sch_M5_CoreS3_v1.0.pdf
263+ .. _`M5Stack CoreS3 SE Documentation` : https://docs.m5stack.com/en/core/M5CoreS3%20SE
264+ .. _`M5Stack CoreS3 SE Schematic` : https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/products/core/M5CORES3%20SE/M5_CoreS3SE.pdf
105265.. _`OpenOCD ESP32` : https://github.com/espressif/openocd-esp32/releases
106266.. _`JTAG debugging for ESP32-S3` : https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/jtag-debugging/
0 commit comments