9579beec501d63f62ec48c602f9e2e9f342ea08e
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 |  |
| 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 | + |
|
| 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 |  |
| 7 | 11 | |
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## ref |
|
| 18 | + |
|
| 19 | +- [OpenOCD](http://openocd.org/) |
|
| ... | ... | \ No newline at end of file |