Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 102 additions & 26 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

![image](https://user-images.githubusercontent.com/17078589/107857220-05ecef00-6e68-11eb-9fa0-506b32052dba.png)


[![Build Status](https://github.com/windowsair/wireless-esp8266-dap/workflows/build/badge.svg?branch=master)](https://github.com/windowsair/wireless-esp8266-dap/actions?query=branch%3Amaster) master 
[![Build Status](https://github.com/windowsair/wireless-esp8266-dap/workflows/build/badge.svg?branch=develop)](https://github.com/windowsair/wireless-esp8266-dap/actions?query=branch%3Adevelop) develop

Expand All @@ -22,15 +21,11 @@
- [x] SWD(SW-DP)
- [x] JTAG(JTAG-DP)
- [x] SWJ-DP

2. 支持的USB通信协议:
- [x] USB-HID
- [x] WCID & WinUSB (Default)

- [x] WCID & WinUSB (默认)
3. 支持的调试跟踪器:
- [ ] UART Serial Wire Output(SWO)
- [ ] SWO Streaming Trace

- [ ] UART TCP桥
4. 其它
- [x] 通过SPI接口加速的SWD协议
- [x] ...
Expand All @@ -42,31 +37,41 @@

![WIFI](https://user-images.githubusercontent.com/17078589/118365659-517e7880-b5d0-11eb-9a5b-afe43348c2ba.png)

ESP8266具有一个内置的mDNS服务(仅ipv4). 你可以通过 `dap.local` 操作设备。

![mDNS](https://user-images.githubusercontent.com/17078589/149659052-7b29533f-9660-4811-8125-f8f50490d762.png)

### 调试接口连接

| SWD接口 | ESP8266引脚 |
|----------------|--------|
| SWCLK | GPIO14 |
| SWDIO | GPIO13 |
| LED\_CONNECTED | GPIO2 |
| LED\_RUNNING | GPIO15 |
| TVCC | 3V3 |
| GND | GND |

--------------

| JTAG接口 | ESP8266引脚 |
| :----------------: | :---------: |
| TCK | GPIO14 |
| TMS | GPIO13 |
| TDI | GPIO4 |
| TDO | GPIO16 |
| nTRST \(optional\) | GPIO0\* |
| nRESET | GPIO5 |
| LED\_CONNECTED | GPIO2 |
| LED\_RUNNING | GPIO15 |
| TVCC | 3V3 |
| GND | GND |
| TCK | GPIO14 |
| TMS | GPIO13 |
| TDI | GPIO4 |
| TDO | GPIO16 |
| nTRST \(optional\) | GPIO0\* |
| nRESET | GPIO5 |
| TVCC | 3V3 |
| GND | GND |

--------------

| 其它 | ESP8266引脚 |
|:------------------:|:-------------:|
| LED\_WIFI\_STATUS | GPIO15 |
| Tx | GPIO2 |
| Rx | GPIO3 (U0RXD) |

> Rx 和 Tx 被用于UART TCP桥,默然不开启此功能。

----

Expand All @@ -77,8 +82,6 @@

***除此之外,你也可以像我们一开始给出的那张图片直接用杜邦线连接开发板,这就不需要额外的电路。***

> 如果你想修改接口的引脚或者是LED的引脚,请小心地参考指示在[DAP_config.h](components/DAP/config/DAP_config.h)文件中修改。

此外,你还可以从贡献者那里获得一个完整的硬件参考电路,详见 [circuit](circuit)文件夹。

------
Expand Down Expand Up @@ -147,7 +150,9 @@

------

## 速度性能
## 文档

### 速度性能

单独使用ESP8266通用IO时的最大翻转速率只有大概2MHz。当你选择最大时钟时,我们需要采取以下操作:

Expand All @@ -157,13 +162,84 @@

> 请注意,这个项目最重要的速度制约因素仍然是TCP连接速度。

### 对于OpenOCD用户

这个项目最初是为在Keil上运行而设计的,但现在你也可以在OpenOCD上通过它来烧录程序。
注意,如果你想使用40MHz的SPI加速器,你需要在连接目标设备后指定速度,否则会在开始时失败。

```bash
# 在使用flash指令前需要先运行:
> adapter speed 10000

> halt
> flash write_image [erase] [unlock] filename [offset] [type]
```

> Keil的操作时序与OpenOCD的有些不同。例如,OpenOCD在读取 "IDCODE "寄存器之前缺少SWD线复位序列。

### 系统 OTA

当这个项目被更新时,你可以通过无线方式更新固件。

请访问以下网站了解OTA操作。[在线OTA](http://corsacota.surge.sh/?address=dap.local:3241)

对于大多数ESP8266设备,你不需要关心闪存的大小。然而,闪存大小设置不当可能会导致OTA失败。在这种情况下,请用`idf.py menuconfig`改变闪存大小,或者修改`sdkconfig`:

```
# 选择一个flash大小
CONFIG_ESPTOOLPY_FLASHSIZE_1MB=y
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y

# 然后设置flash大小
CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
```

如果闪存大小为2MB,sdkconfig文件会看起来像这样:

```
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
```

对于闪存大小为1MB的设备,如ESP8285,必须做以下修改。

```
CONFIG_PARTITION_TABLE_FILENAME="partitions_two_ota.1MB.csv"
CONFIG_ESPTOOLPY_FLASHSIZE_1MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="1MB"
CONFIG_ESP8266_BOOT_COPY_APP=y
```

可以用esptool.py工具检查你使用的ESP8266的闪存大小:

```bash
esptool.py -p (PORT) flash_id
```

### Uart TCP桥

该功能在TCP和Uart之间提供了一个桥梁:
```
发送数据 -> TCP -> Uart TX -> 外部设备

接收数据 <- TCP <- Uart Rx <- 外部设备
```

![uart_tcp_bridge](https://user-images.githubusercontent.com/17078589/150290065-05173965-8849-4452-ab7e-ec7649f46620.jpg)

当TCP连接建立后,网桥将尝试解决首次发送的文本。当文本是一个有效的波特率时,bridge 将切换到它。例如,发送ASCII文本`115200`会将波特率切换为115200。
由于性能原因,该功能默认不启用。你可以修改 [wifi_configuration.h](main/wifi_configuration.h) 来打开它。

----

## 开发

1. 检查其他分支以了解最新的开发进展。
2. 使用WinUSB模式(默认启用)。
在[dap_configuration.h](main/dap_configuration.h)修改 `USE_WINUSB` 宏。
请查看其他分支以了解最新的开发进展。我们欢迎任何形式的贡献,包括但不限于新功能、关于电路的想法和文档。

目前TCP传输速度还需要进一步提高,如果你有什么想法,欢迎在下面提出:
如果你有什么想法,欢迎在下面提出:
- [新的Issues](https://github.com/windowsair/wireless-esp8266-dap/issues)
- [新的pull request](https://github.com/windowsair/wireless-esp8266-dap/pulls)

Expand Down
Loading