You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Build Time**: ~10-15 seconds for all 12 chips built by build_all_chips.sh (note: cmake defines 14 total chips, but only 12 are in the build script)
116
116
**Output**: Creates `build-{chip}/` directories for each chip with ELF and JSON files
117
117
118
118
This script:
@@ -156,25 +156,27 @@ source venv/bin/activate
156
156
pre-commit run --all-files
157
157
```
158
158
159
-
**Note**: Astyle formatting is configured in `.astyle-rules.yml`. Submodules and libraries (like `src/miniz.*`) are excluded from checks.
159
+
**Note**: Astyle formatting is configured in `.astyle-rules.yml`. Submodules are excluded from checks.
160
160
161
161
### Copyright Headers
162
162
163
-
**ALWAYS** include this header in new C files:
163
+
**ALWAYS** include this header in new C files (the year will be auto-updated by the check-copyright tool):
164
164
```c
165
165
/*
166
-
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
166
+
* SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
167
167
*
168
168
* SPDX-License-Identifier: Apache-2.0 OR MIT
169
169
*/
170
170
```
171
171
172
172
For Python files:
173
173
```python
174
-
# SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
174
+
# SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
175
175
# SPDX-License-Identifier: Apache-2.0 OR MIT
176
176
```
177
177
178
+
**Note**: The check-copyright tool uses `{years}` as a placeholder and will automatically manage copyright years based on the file's creation and modification dates.
179
+
178
180
## CI/CD Workflows
179
181
180
182
### GitHub Actions Workflows
@@ -228,8 +230,7 @@ The repository uses pre-commit.ci for automated PR checks. It runs all pre-commi
228
230
-`command_handler.c/h` - Command parsing and dispatch
229
231
-`commands.h` - Command ID definitions
230
232
-`transport.c/h` - UART/USB-JTAG transport layer
231
-
-`miniz.c/h` - ZIP compression library (esp8266 only, third-party library with upstream TODOs)
232
-
-`ld/` - Linker scripts for each chip (e.g., `esp32s2.ld`, `esp8266.ld`)
233
+
-`ld/` - Linker scripts: one for each chip target (12 chip-specific scripts) plus `common.ld` included by all chip scripts
- Proper fix needed for zero-length packet handling
329
337
330
-
**src/miniz.c** (multiple locations):
331
-
- Various compression optimizations and improvements
332
-
-**Note**: This is a third-party library - these are upstream issues and should NOT be modified locally
333
-
334
338
When working on these areas, consider whether the TODO is actionable or requires broader design decisions.
335
339
336
340
## Validation Steps Before PR Submission
@@ -359,6 +363,11 @@ When working on these areas, consider whether the TODO is actionable or requires
359
363
ls -la build/*.json
360
364
```
361
365
366
+
5.**Update documentation if needed**:
367
+
- If your PR adds or removes files, update the file lists in `.github/copilot-instructions.md` and `README.md` accordingly
368
+
- If your PR adds support for a new chip target, update the chip lists in `.github/copilot-instructions.md` and verify `tools/build_all_chips.sh` includes it
369
+
- Review whether `.github/copilot-instructions.md` or `README.md` need updates to reflect your changes (e.g., new build steps, changed dependencies, updated workflows)
370
+
362
371
## Tips for Efficient Development
363
372
364
373
1.**Trust these instructions**: They are validated and tested. Only search for additional information if something fails or is unclear.
0 commit comments