diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/README.md b/Ubiquitous/XiZi_IIoT/board/ch569w/README.md
index 89e770521..1ab572cf3 100644
--- a/Ubiquitous/XiZi_IIoT/board/ch569w/README.md
+++ b/Ubiquitous/XiZi_IIoT/board/ch569w/README.md
@@ -1,78 +1,75 @@
-# 1. 简介
-
-| 硬件 | 描述 |
-| --------- | ----------------------------------------- |
-| 芯片型号 | CH569W |
-| CPU | 单核RISC-V3A |
-| 主频 | 120MHz |
-| 片内SRAM | 32/64/96KB 可配置的 128 位宽 SRAM(RAMX) |
-| 片内FLASH | 448KB 用户应用程序存储区 CodeFlash |
-| 外设 | UART等 |
-
-# 2. 克隆代码
-
-将XiUOS的源代码克隆下来:
-
-```bash
-git clone https://gitlink.org.cn/xuos/xiuos.git
-```
-
-# 3. 下载编译工具链
-
-编译环境:Ubuntu 20.04.6 LTS
-
-编译工具链:riscv-none-embed-gcc(xpack-riscv-none-embed-gcc-8.2.0-3.1)
-
-编译工具链可到Github进行下载:https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v8.2.0-3.1/xpack-riscv-none-embed-gcc-8.2.0-3.1-linux-x64.tgz
-
-下载完成后将其移动到`/opt`目录下,并进行解压:
-
-```bash
-sudo tar -xvzf xpack-riscv-none-embed-gcc-8.2.0-3.1-linux-x64.tgz
-```
-
-# 4. 编译
-
-## 方式1(推荐)
-
-可以在`Ubiquitous/XiZi_IIoT`目录下创建文件`script.sh`,内容如下:
-
-```sh
-#! /bin/env sh
-export CROSS_COMPILE=/opt/xPacks/riscv-none-embed-gcc/8.2.0-3.1/bin/riscv-none-embed-
-make BOARD=ch569w distclean # 将之前的编译生成文件清空
-make BOARD=ch569w menuconfig
-make BOARD=ch569w
-```
-
-创建之后,在命令行移动到`XiZi-IIOT`目录下,键入`./script`运行该脚本。
-
-经过Kconfig配置、编译后,即可在`Ubiquitous/XiZi_IIoT/build`目录中生成`XiZi-ch569w.bin`文件,将该文件拷贝至Windows侧待下一步进行烧录。
-
-> [!CAUTION]
->
-> 如果`make BOARD=ch569w menuconfig`显示【无法找到`kconfig-mconf`】,需要先安装`ncurses-devel`和`kconfig-mconf`,如下:
->
-> ```bash
-> sudo apt install libncurses5-dev kconfig-frontends
-
-
-
-# 5. 烧录
-
-1. 沁恒微电子官网下载 WCHISPTool.exe 工具进行 bin 文件下载到芯片 flash 的操作。CH569W 芯片需要进入下载模式才能使用 ISP 工具下载代码,一般使用 USB 方式下载代码最为方便。
-2. 将 CH569W 评估板使用 USB 插头对插头线和计算机连接起来。如图,打开 ISP 下载工具,芯片信号选择 CH569,下载方式选择 USB,将 CH569W 评估板断电,然后将下载配置脚(出厂默认为 PA5,原理图上的HD0)接地后对评估板上电,此时 ISP 工具的 USB 设备列表中将显示新连上来的 CH569W 芯片。最后点击“下载”,即可使程序下载到评估版上的主芯片。
-
-
-
-
-
-
-
-# 6. 启动
-
-烧录完成后,并且将串口连接至电脑。
-
-将评估板上电重新,即可看到操作系统启动的信息,如下:
-
+# 1. 简介
+
+| 硬件 | 描述 |
+| --------- | ------------------------------------------------- |
+| 芯片型号 | CH569W |
+| CPU | 单核RISC-V3A |
+| 主频 | 120MHz |
+| 片内SRAM | 32/64/96KB 可配置的 128 位宽 SRAM(RAMX) |
+| 片内FLASH | 448KB 用户应用程序存储区 CodeFlash |
+| 外设 | 串口、SPI FLASH、SerDes网络、USBD CDC、Watchdog等 |
+
+# 2. 克隆代码
+
+将XiUOS的源代码克隆下来:
+
+```bash
+git clone https://gitlink.org.cn/xuos/xiuos.git
+```
+
+# 3. 下载编译工具链
+
+编译环境:Ubuntu 20.04.6 LTS
+
+编译工具链:riscv-none-embed-gcc(xpack-riscv-none-embed-gcc-8.2.0-3.1)
+
+编译工具链可到Github进行下载:https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v8.2.0-3.1/xpack-riscv-none-embed-gcc-8.2.0-3.1-linux-x64.tgz
+
+下载完成后将其移动到`/opt`目录下,并进行解压:
+
+```bash
+sudo tar -xvzf xpack-riscv-none-embed-gcc-8.2.0-3.1-linux-x64.tgz
+```
+
+# 4. 编译
+
+## 方式1(推荐)
+
+可以在`Ubiquitous/XiZi_IIoT`目录下创建文件`script.sh`,内容如下:
+
+```sh
+#! /bin/env sh
+export CROSS_COMPILE=/opt/xPacks/riscv-none-embed-gcc/8.2.0-3.1/bin/riscv-none-embed-
+make BOARD=ch569w distclean # 将之前的编译生成文件清空
+make BOARD=ch569w menuconfig
+make BOARD=ch569w
+```
+
+创建之后,在命令行移动到`XiZi-IIOT`目录下,键入`./script.sh`运行该脚本。
+
+经过Kconfig配置、编译后,即可在`Ubiquitous/XiZi_IIoT/build`目录中生成`XiZi-ch569w.bin`文件,将该文件拷贝至Windows本地电脑,用于下一步烧录。
+
+如果`make BOARD=ch569w menuconfig`显示【无法找到`kconfig-mconf`】,需要先安装`ncurses-devel`和`kconfig-mconf`,如下:
+
+```bash
+sudo apt install libncurses5-dev kconfig-frontends
+```
+
+# 5. 烧录
+
+1. 沁恒微电子官网下载 WCHISPTool.exe 工具进行 bin 文件下载到芯片 flash 的操作。CH569W 芯片需要进入下载模式才能使用 ISP 工具下载代码,一般使用 USB 方式下载代码最为方便。
+2. 将 CH569W 评估板使用 USB 插头对插头线和计算机连接起来。如图,打开 ISP 下载工具,芯片信号选择 CH569,下载方式选择 USB,将 CH569W 评估板断电,然后将下载配置脚(出厂默认为 PA5,原理图上的HD0)接地后对评估板上电,此时 ISP 工具的 USB 设备列表中将显示新连上来的 CH569W 芯片。最后点击“下载”,即可使程序下载到评估版上的主芯片。
+
+
+
+
+
+
+
+# 6. 启动
+
+烧录完成后,并且将串口连接至电脑。
+
+将评估板上电重新,即可看到操作系统启动的信息,如下:
+

\ No newline at end of file
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/imgs/image_xitongqidongrizhi.png b/Ubiquitous/XiZi_IIoT/board/ch569w/imgs/image_xitongqidongrizhi.png
index 2813913a8..9b0265fd3 100644
Binary files a/Ubiquitous/XiZi_IIoT/board/ch569w/imgs/image_xitongqidongrizhi.png and b/Ubiquitous/XiZi_IIoT/board/ch569w/imgs/image_xitongqidongrizhi.png differ
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 000000000..f93f60366
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTestRx.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTxTest.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTxTest.png
new file mode 100644
index 000000000..704915edc
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SerdesTxTest.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SpiFlashTest.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SpiFlashTest.png
new file mode 100644
index 000000000..48787feda
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/SpiFlashTest.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestCmd.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestCmd.png
new file mode 100644
index 000000000..d5c62e3a0
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestCmd.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestUSB20.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestUSB20.png
new file mode 100644
index 000000000..48ab50459
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/UsbdCdcTestUSB20.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/WdtTest.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/WdtTest.png
new file mode 100644
index 000000000..fbae2c308
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/WdtTest.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/make-menuconfig.png b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/make-menuconfig.png
new file mode 100644
index 000000000..cdf478cb6
Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/imgs/make-menuconfig.png differ
diff --git a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/spi/connect_spi_flash.c b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/spi/connect_spi_flash.c
index e2babe5e1..193dc112a 100644
--- a/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/spi/connect_spi_flash.c
+++ b/Ubiquitous/XiZi_IIoT/board/ch569w/third_party_driver/spi/connect_spi_flash.c
@@ -417,7 +417,6 @@ UINT16 SPIFlash_ReadID(void)
*/
int InitHwSpi(void) {
SPI_MASTER_INIT ( ); /* SPI0 master mode initialization */
- KPrintf("START SPI FLASH\n");
return 0;
}