|
2 | 2 |
|
3 | 3 | 
|
4 | 4 |
|
5 |
| - |
6 | 5 | [](https://github.com/windowsair/wireless-esp8266-dap/actions?query=branch%3Amaster) master
|
7 | 6 | [](https://github.com/windowsair/wireless-esp8266-dap/actions?query=branch%3Adevelop) develop
|
8 | 7 |
|
|
22 | 21 | - [x] SWD(SW-DP)
|
23 | 22 | - [x] JTAG(JTAG-DP)
|
24 | 23 | - [x] SWJ-DP
|
25 |
| - |
26 | 24 | 2. 支持的USB通信协议:
|
27 | 25 | - [x] USB-HID
|
28 |
| - - [x] WCID & WinUSB (Default) |
29 |
| - |
| 26 | + - [x] WCID & WinUSB (默认) |
30 | 27 | 3. 支持的调试跟踪器:
|
31 |
| - - [ ] UART Serial Wire Output(SWO) |
32 |
| - - [ ] SWO Streaming Trace |
33 |
| - |
| 28 | + - [ ] UART TCP桥 |
34 | 29 | 4. 其它
|
35 | 30 | - [x] 通过SPI接口加速的SWD协议
|
36 | 31 | - [x] ...
|
|
42 | 37 |
|
43 | 38 | 
|
44 | 39 |
|
| 40 | +ESP8266具有一个内置的mDNS服务(仅ipv4). 你可以通过 `dap.local` 操作设备。 |
| 41 | + |
| 42 | + |
| 43 | + |
45 | 44 | ### 调试接口连接
|
46 | 45 |
|
47 | 46 | | SWD接口 | ESP8266引脚 |
|
48 | 47 | |----------------|--------|
|
49 | 48 | | SWCLK | GPIO14 |
|
50 | 49 | | SWDIO | GPIO13 |
|
51 |
| -| LED\_CONNECTED | GPIO2 | |
52 |
| -| LED\_RUNNING | GPIO15 | |
53 | 50 | | TVCC | 3V3 |
|
54 | 51 | | GND | GND |
|
55 | 52 |
|
56 | 53 | --------------
|
57 | 54 |
|
58 | 55 | | JTAG接口 | ESP8266引脚 |
|
59 | 56 | | :----------------: | :---------: |
|
60 |
| -| TCK | GPIO14 | |
61 |
| -| TMS | GPIO13 | |
62 |
| -| TDI | GPIO4 | |
63 |
| -| TDO | GPIO16 | |
64 |
| -| nTRST \(optional\) | GPIO0\* | |
65 |
| -| nRESET | GPIO5 | |
66 |
| -| LED\_CONNECTED | GPIO2 | |
67 |
| -| LED\_RUNNING | GPIO15 | |
68 |
| -| TVCC | 3V3 | |
69 |
| -| GND | GND | |
| 57 | +| TCK | GPIO14 | |
| 58 | +| TMS | GPIO13 | |
| 59 | +| TDI | GPIO4 | |
| 60 | +| TDO | GPIO16 | |
| 61 | +| nTRST \(optional\) | GPIO0\* | |
| 62 | +| nRESET | GPIO5 | |
| 63 | +| TVCC | 3V3 | |
| 64 | +| GND | GND | |
| 65 | + |
| 66 | +-------------- |
| 67 | + |
| 68 | +| 其它 | ESP8266引脚 | |
| 69 | +|:------------------:|:-------------:| |
| 70 | +| LED\_WIFI\_STATUS | GPIO15 | |
| 71 | +| Tx | GPIO2 | |
| 72 | +| Rx | GPIO3 (U0RXD) | |
| 73 | + |
| 74 | +> Rx 和 Tx 被用于UART TCP桥,默然不开启此功能。 |
70 | 75 |
|
71 | 76 | ----
|
72 | 77 |
|
|
77 | 82 |
|
78 | 83 | ***除此之外,你也可以像我们一开始给出的那张图片直接用杜邦线连接开发板,这就不需要额外的电路。***
|
79 | 84 |
|
80 |
| -> 如果你想修改接口的引脚或者是LED的引脚,请小心地参考指示在[DAP_config.h](components/DAP/config/DAP_config.h)文件中修改。 |
81 |
| -
|
82 | 85 | 此外,你还可以从贡献者那里获得一个完整的硬件参考电路,详见 [circuit](circuit)文件夹。
|
83 | 86 |
|
84 | 87 | ------
|
|
147 | 150 |
|
148 | 151 | ------
|
149 | 152 |
|
150 |
| -## 速度性能 |
| 153 | +## 文档 |
| 154 | + |
| 155 | +### 速度性能 |
151 | 156 |
|
152 | 157 | 单独使用ESP8266通用IO时的最大翻转速率只有大概2MHz。当你选择最大时钟时,我们需要采取以下操作:
|
153 | 158 |
|
|
157 | 162 |
|
158 | 163 | > 请注意,这个项目最重要的速度制约因素仍然是TCP连接速度。
|
159 | 164 |
|
| 165 | +### 对于OpenOCD用户 |
| 166 | + |
| 167 | +这个项目最初是为在Keil上运行而设计的,但现在你也可以在OpenOCD上通过它来烧录程序。 |
| 168 | +注意,如果你想使用40MHz的SPI加速器,你需要在连接目标设备后指定速度,否则会在开始时失败。 |
| 169 | + |
| 170 | +```bash |
| 171 | +# 在使用flash指令前需要先运行: |
| 172 | +> adapter speed 10000 |
| 173 | + |
| 174 | +> halt |
| 175 | +> flash write_image [erase] [unlock] filename [offset] [type] |
| 176 | +``` |
| 177 | + |
| 178 | +> Keil的操作时序与OpenOCD的有些不同。例如,OpenOCD在读取 "IDCODE "寄存器之前缺少SWD线复位序列。 |
| 179 | +
|
| 180 | +### 系统 OTA |
| 181 | + |
| 182 | +当这个项目被更新时,你可以通过无线方式更新固件。 |
| 183 | + |
| 184 | +请访问以下网站了解OTA操作。[在线OTA](http://corsacota.surge.sh/?address=dap.local:3241) |
| 185 | + |
| 186 | +对于大多数ESP8266设备,你不需要关心闪存的大小。然而,闪存大小设置不当可能会导致OTA失败。在这种情况下,请用`idf.py menuconfig`改变闪存大小,或者修改`sdkconfig`: |
| 187 | + |
| 188 | +``` |
| 189 | +# 选择一个flash大小 |
| 190 | +CONFIG_ESPTOOLPY_FLASHSIZE_1MB=y |
| 191 | +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y |
| 192 | +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y |
| 193 | +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y |
| 194 | +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y |
| 195 | +
|
| 196 | +# 然后设置flash大小 |
| 197 | +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" |
| 198 | +``` |
| 199 | + |
| 200 | +如果闪存大小为2MB,sdkconfig文件会看起来像这样: |
| 201 | + |
| 202 | +``` |
| 203 | +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y |
| 204 | +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" |
| 205 | +``` |
| 206 | + |
| 207 | +对于闪存大小为1MB的设备,如ESP8285,必须做以下修改。 |
| 208 | + |
| 209 | +``` |
| 210 | +CONFIG_PARTITION_TABLE_FILENAME="partitions_two_ota.1MB.csv" |
| 211 | +CONFIG_ESPTOOLPY_FLASHSIZE_1MB=y |
| 212 | +CONFIG_ESPTOOLPY_FLASHSIZE="1MB" |
| 213 | +CONFIG_ESP8266_BOOT_COPY_APP=y |
| 214 | +``` |
| 215 | + |
| 216 | +可以用esptool.py工具检查你使用的ESP8266的闪存大小: |
| 217 | + |
| 218 | +```bash |
| 219 | +esptool.py -p (PORT) flash_id |
| 220 | +``` |
| 221 | + |
| 222 | +### Uart TCP桥 |
| 223 | + |
| 224 | +该功能在TCP和Uart之间提供了一个桥梁: |
| 225 | +``` |
| 226 | +发送数据 -> TCP -> Uart TX -> 外部设备 |
| 227 | +
|
| 228 | +接收数据 <- TCP <- Uart Rx <- 外部设备 |
| 229 | +``` |
| 230 | + |
| 231 | + |
| 232 | + |
| 233 | +当TCP连接建立后,网桥将尝试解决首次发送的文本。当文本是一个有效的波特率时,bridge 将切换到它。例如,发送ASCII文本`115200`会将波特率切换为115200。 |
| 234 | +由于性能原因,该功能默认不启用。你可以修改 [wifi_configuration.h](main/wifi_configuration.h) 来打开它。 |
| 235 | + |
| 236 | +---- |
| 237 | + |
160 | 238 | ## 开发
|
161 | 239 |
|
162 |
| -1. 检查其他分支以了解最新的开发进展。 |
163 |
| -2. 使用WinUSB模式(默认启用)。 |
164 |
| -在[dap_configuration.h](main/dap_configuration.h)修改 `USE_WINUSB` 宏。 |
| 240 | +请查看其他分支以了解最新的开发进展。我们欢迎任何形式的贡献,包括但不限于新功能、关于电路的想法和文档。 |
165 | 241 |
|
166 |
| -目前TCP传输速度还需要进一步提高,如果你有什么想法,欢迎在下面提出: |
| 242 | +如果你有什么想法,欢迎在下面提出: |
167 | 243 | - [新的Issues](https://github.com/windowsair/wireless-esp8266-dap/issues)
|
168 | 244 | - [新的pull request](https://github.com/windowsair/wireless-esp8266-dap/pulls)
|
169 | 245 |
|
|
0 commit comments