Board-dat/NWI/NWI1186-dat/NWI1186-dat.md
... ...
@@ -2,6 +2,8 @@
2 2
# NWI1186-dat
3 3
4 4
5
+ESP32-Sense Kit w/ESP-Prog
6
+
5 7
6 8
![](2023-10-05-16-10-28.png)
7 9
Chip-cn-dat/Espressif-dat/ESP-prog-dat/ESP-prog-dat.md
... ...
@@ -0,0 +1,29 @@
1
+
2
+# ESP-prog-dat
3
+
4
+- [[ESP32-S3-dat]]
5
+
6
+- [[JTAG-dat]] - [[openOCD-dat]]
7
+
8
+
9
+- [[ESPLink-dat]]
10
+
11
+JTAG == TCK,TMS,TDI,TDO
12
+
13
+https://www.electrodragon.com/product/esp-prog-board-for-esp8266-esp32/
14
+
15
+- [[DPR1109-dat]]
16
+
17
+- kit - [[NWI1186-dat]]
18
+
19
+
20
+## ref
21
+
22
+[ESP USB Bridge](https://github.com/espressif/esp-usb-bridge)
23
+
24
+[esp32-c3 get-started](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/get-started/)
25
+
26
+[esp32-c3](https://www.espressif.com/zh-hans/products/socs/esp32-c3)
27
+
28
+- [[espressif-dat]] - [[espressif]]
29
+
Chip-cn-dat/Espressif-dat/ESP-prog-dat/ESPLink-dat/2025-07-29-18-57-41.png
... ...
Binary files /dev/null and b/Chip-cn-dat/Espressif-dat/ESP-prog-dat/ESPLink-dat/2025-07-29-18-57-41.png differ
Chip-cn-dat/Espressif-dat/ESP-prog-dat/ESPLink-dat/ESPLink-dat.md
... ...
@@ -0,0 +1,93 @@
1
+
2
+# ESPLink-dat
3
+
4
+- [[espressif]]
5
+
6
+
7
+JTAG Debugging with ESPLink
8
+
9
+ESPLink supports JTAG debugging for ESP series chips, making it easy to diagnose system crashes. The following instructions use ESP32-S2 as an example.
10
+
11
+Openocd 安装
12
+
13
+ $git clone https://github.com/espressif/openocd-esp32.git
14
+ $cd openocd-esp32
15
+ $./bootstrap
16
+ $./configure --enable-cmsis-dap
17
+ $make -j
18
+ $sudo make install
19
+
20
+Attach to ESP32-S3
21
+
22
+ pi@raspberrypi:~/oss/openocd-esp32 $ sudo ./src/openocd -s /home/pi/oss/openocd-esp32/tcl -f tcl/interface/esp_usb_bridge.cfg -f tcl/target/esp32s2.cfg
23
+
24
+Sample output:
25
+
26
+ Open On-Chip Debugger v0.11.0-esp32-20220411-5-g03cd2031 (2022-04-25-09:45)
27
+ Licensed under GNU GPL v2
28
+ For bug reports, read
29
+ http://openocd.org/doc/doxygen/bugs.html
30
+ Info : only one transport option; autoselect 'jtag'
31
+ Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1002
32
+ Info : esp_usb_jtag: capabilities descriptor set to 0x30a
33
+ adapter speed: 4000 kHz
34
+ Warn : Transport "jtag" was already selected
35
+ Info : Listening on port 6666 for tcl connections
36
+ Info : Listening on port 4444 for telnet connections
37
+ Info : esp_usb_jtag: serial (84F703D20134)
38
+ Info : esp_usb_jtag: Device found. Base speed 750KHz, div range 1 to 1
39
+ Info : clock speed 750 kHz
40
+ Info : JTAG tap: esp32s2.cpu tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
41
+ Info : esp32s2: Debug controller was reset.
42
+ Info : esp32s2: Core was reset.
43
+ Info : starting gdb server for esp32s2 on 3333
44
+ Info : Listening on port 3333 for gdb connections
45
+
46
+Debug
47
+
48
+Once attached successfully, you can open another terminal window to operate using either GDB or Telnet. Examples are provided below:
49
+
50
+Debug with Gdb
51
+
52
+ $xtensa-esp32s2-elf-gdb -ex 'target remote 127.0.0.1:3333' ./build/blink.elf
53
+ (gdb) info reg
54
+ (gdb) s
55
+ (gdb) continue
56
+
57
+Debug with telnet
58
+ $telnet localhost 4444
59
+ >reset
60
+ >halt
61
+ >reg
62
+ >step
63
+ >reg pc
64
+ >resume
65
+
66
+## schematic
67
+
68
+![](2025-07-29-18-57-41.png)
69
+
70
+
71
+## firmware
72
+
73
+# how to flash
74
+
75
+/home/pi/.espressif/python_env/idf4.4_py3.9_env/bin/python ../esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 bridge.bin
76
+
77
+ -p (PORT)
78
+ -b 460800
79
+ --before default_reset
80
+ --after hard_reset
81
+ --chip esp32s2 write_flash
82
+ --flash_mode dio
83
+ --flash_size detect
84
+ --flash_freq 40m
85
+ 0x1000 bootloader.bin
86
+ 0x8000 partition-table.bin
87
+ 0x10000 bridge.bin
88
+
89
+
90
+## ref
91
+
92
+- https://github.com/Edragon/ESPLink
93
+
Chip-cn-dat/Espressif-dat/ESP32-S3-DAT/ESP32-S3-DAT.md
... ...
@@ -7,6 +7,56 @@
7 7
8 8
- [[ESP32-S3-app-DAT]]
9 9
10
+
11
+## built-in USB JTAG
12
+
13
+- [[JTAG-dat]]
14
+
15
+IDF list
16
+
17
+- ESP32-S3 chip (via builtin USB-JTAG)
18
+- ESP32-S3 chip (via builtin USB-JTAG)
19
+- ESP32-S3 chip (via ESP-PROG)
20
+- ESP32-S3 chip (via ESP-PROG-2)
21
+- Custom board
22
+
23
+### ✅ Supported Features
24
+
25
+The **ESP32-S3** includes a **USB Serial/JTAG Controller**, meaning:
26
+
27
+- ✅ Built-in **USB JTAG debugging** — no need for an external debugger.
28
+- ✅ **USB Serial** for logs and communication.
29
+- ✅ **USB DFU / flashing support**.
30
+- ✅ All over a single USB connection.
31
+
32
+---
33
+
34
+### 🔌 Hardware Connections
35
+
36
+Make sure the native USB pins are used:
37
+
38
+| Function | GPIO Pin |
39
+|--------------|----------|
40
+| USB D+ | GPIO19 |
41
+| USB D− | GPIO20 |
42
+
43
+> ⚠️ These pins must not be remapped or disabled in software if using USB JTAG.
44
+
45
+---
46
+
47
+### 🧰 Setup for Debugging with OpenOCD
48
+
49
+1. **Install ESP-IDF** (v4.4 or later recommended, v5.x best).
50
+2. **Connect ESP32-S3 to your PC via USB** (native USB, not UART).
51
+3. Run OpenOCD with:
52
+
53
+```bash
54
+openocd -f interface/esp_usb_jtag.cfg -f board/esp32s3.cfg
55
+```
56
+
57
+Use GDB, VS Code, or Eclipse for debugging.
58
+
59
+
10 60
## S2 / S3 modules
11 61
12 62
- [[ESP-12K-dat]] - [[NWI1226-dat]]
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-HDK-dat.md
... ...
@@ -6,6 +6,8 @@
6 6
7 7
- [[esp32-chip-error-dat]]
8 8
9
+- [[ESP-prog-dat]]
10
+
9 11
## pins
10 12
11 13
You can use almost any GPIO, except:
SDK-dat/ESP-SDK-dat/ESP-SDK-dat.md
... ...
@@ -4,6 +4,8 @@
4 4
5 5
# ESP-SDK-dat
6 6
7
+- [[ESP32-HDK-dat]]
8
+
7 9
- [[ESP-dat]] - [[ESP-SDK-dat]] - [[ESP32-SDK-dat]] - [[ESP8266-SDK-dat]]
8 10
9 11
- [[SPIFFS-dat]]
... ...
@@ -28,6 +30,9 @@
28 30
29 31
- [[stack-trace-decoder-dat]]
30 32
33
+
34
+
35
+
31 36
## Official SDK
32 37
33 38
- [[esp-idf-dat]]
SDK-dat/platformIO-dat/platformIO-dat.md
... ...
@@ -3,6 +3,10 @@
3 3
4 4
https://w.electrodragon.com/w/PlatformIO
5 5
6
+
7
+create a new project in PlatformIO IDE:
8
+
9
+
6 10
platformio project structure:
7 11
8 12
... ...
@@ -19,4 +23,25 @@ platformio project structure:
19 23
│ └── main.cpp # Main program entry
20 24
├── test/ # Unit tests
21 25
│ └── test_main.cpp
22
- ├── platformio.ini # PlatformIO project configuration file
... ...
\ No newline at end of file
0
+ ├── platformio.ini # PlatformIO project configuration file
1
+
2
+default code template
3
+
4
+ #include <Arduino.h>
5
+
6
+ // put function declarations here:
7
+ int myFunction(int, int);
8
+
9
+ void setup() {
10
+ // put your setup code here, to run once:
11
+ int result = myFunction(2, 3);
12
+ }
13
+
14
+ void loop() {
15
+ // put your main code here, to run repeatedly:
16
+ }
17
+
18
+ // put function definitions here:
19
+ int myFunction(int x, int y) {
20
+ return x + y;
21
+ }
... ...
\ No newline at end of file
Tech-dat/Interface-dat/Jtag-dat/Jtag-dat.md
... ...
@@ -1,7 +1,19 @@
1 1
2 2
# JTAG-dat
3 3
4
+- [[ESP-Prog-dat]]
5
+
6
+- [[openOCD-dat]]
7
+
4 8
Full Jtag Interface
5 9
6 10
![](2024-01-13-17-50-18.png)
7 11
12
+
13
+
14
+
15
+
16
+
17
+## ref
18
+
19
+- [OpenOCD](http://openocd.org/)
... ...
\ No newline at end of file