X982QNyPT0v)bYF@m-11g~P=0lk)>{-{eUt>@
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
literal 21104
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
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/README.md b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/README.md
new file mode 100644
index 000000000..09e8feab0
--- /dev/null
+++ b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/README.md
@@ -0,0 +1,61 @@
+# 1. 模块编译配置
+
+开发板支持外设驱动:UART、SPI FLASH、SerDes网络、USBD CDC、Watchdog。
+
+默认配置文件路径:`xiuos/Ubiquitous/XiZi_IIoT$ ll board/ch569w/.defconfig`
+
+可以通过命令`make BOARD=ch569w menuconfig` ,查看`ch569w feature`的默认配置。
+
+
+
+# 2. 模块测试用例
+
+下面介绍各模块的测试方法。
+
+## 2.1 UART
+
+UART用于串口打印,和shell命令输入。
+
+测试方法,查看设备启动日志,以及输入命令。
+
+## 2.2 SPI FLASH
+
+开发板的spi没有外部接口,是连接的flash芯片。测试通过spi对flash的读写。
+
+串口执行:`SpiFlashTest`
+
+
+
+## 2.3 SerDes
+
+串并互转控制器及收发器(SerDes)。系统内置了支持信号隔离和远距离传输的 SerDes 模块,支持 1.2Gbps 高速差分信号(GXM/GXP
+引脚),可以通过光纤模块或网线中的一个差分对等传输媒体,进行远距离数据传输。
+
+开发板上SERDES为半双工接口,仅单向传输使用。需要两个CH569设备通过SerDes进行通信。
+
+SerDes测试需要先执行`SerdesRxTest`,等到SerdesRx打印初始化成功后,在另有一个设备上执行`SerdesTxTest`。
+
+
+
+
+
+## 2.4 USBD CDC
+
+USBD CDC(USB Device Communication Device Class)是一种将 USB 设备模拟为串口(虚拟串口)的功能实现,允许设备通过 USB 与主机进行串行数据通信。
+
+串口输入命令:`UsbdCdcTest`,在电脑的设备管理器查看,出现新增COM口。
+
+
+
+
+
+
+
+## 2.5 Watchdog
+
+看门狗测试,需要编译时选择打开watchdog功能。
+
+系统在后台运行wdt,通过命令`WdtTest`,停止喂狗,触发系统重启。
+
+
+
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTestRx.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTestRx.png
new file mode 100644
index 0000000000000000000000000000000000000000..f93f603661dc2ba3ae071025587119aafe9e6b33
GIT binary patch
literal 14683
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