Add driver README.md

This commit is contained in:
songyanguang 2025-08-14 10:22:00 +08:00
parent 0da14e6546
commit caa3fc3bb5
11 changed files with 135 additions and 78 deletions

View File

@ -1,13 +1,13 @@
# 1. 简介
| 硬件 | 描述 |
| --------- | ----------------------------------------- |
| --------- | ------------------------------------------------- |
| 芯片型号 | CH569W |
| CPU | 单核RISC-V3A |
| 主频 | 120MHz |
| 片内SRAM | 32/64/96KB 可配置的 128 位宽 SRAMRAMX |
| 片内FLASH | 448KB 用户应用程序存储区 CodeFlash |
| 外设 | UART等 |
| 外设 | 串口、SPI FLASH、SerDes网络、USBD CDC、Watchdog等 |
# 2. 克隆代码
@ -45,18 +45,15 @@ make BOARD=ch569w menuconfig
make BOARD=ch569w
```
创建之后,在命令行移动到`XiZi-IIOT`目录下,键入`./script`运行该脚本。
创建之后,在命令行移动到`XiZi-IIOT`目录下,键入`./script.sh`运行该脚本。
经过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
经过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. 烧录

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -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`的默认配置。
![make-menuconfig.png](imgs/make-menuconfig.png)
# 2. 模块测试用例
下面介绍各模块的测试方法。
## 2.1 UART
UART用于串口打印和shell命令输入。
测试方法,查看设备启动日志,以及输入命令。
## 2.2 SPI FLASH
开发板的spi没有外部接口是连接的flash芯片。测试通过spi对flash的读写。
串口执行:`SpiFlashTest`
![SpiFlashTest.png](imgs/SpiFlashTest.png)
## 2.3 SerDes
串并互转控制器及收发器SerDes。系统内置了支持信号隔离和远距离传输的 SerDes 模块,支持 1.2Gbps 高速差分信号GXM/GXP
引脚),可以通过光纤模块或网线中的一个差分对等传输媒体,进行远距离数据传输。
开发板上SERDES为半双工接口仅单向传输使用。需要两个CH569设备通过SerDes进行通信。
SerDes测试需要先执行`SerdesRxTest`等到SerdesRx打印初始化成功后在另有一个设备上执行`SerdesTxTest`。
![SerdesTestRx.png](imgs/SerdesTestRx.png)
![SerdesTxTest.png](imgs/SerdesTxTest.png)
## 2.4 USBD CDC
USBD CDCUSB Device Communication Device Class是一种将 USB 设备模拟为串口(虚拟串口)的功能实现,允许设备通过 USB 与主机进行串行数据通信。
串口输入命令:`UsbdCdcTest`在电脑的设备管理器查看出现新增COM口。
![UsbdCdcTestCmd.png](imgs/UsbdCdcTestCmd.png)
![UsbdCdcTestUSB20.png](imgs/UsbdCdcTestUSB20.png)
## 2.5 Watchdog
看门狗测试需要编译时选择打开watchdog功能。
系统在后台运行wdt通过命令`WdtTest`,停止喂狗,触发系统重启。
![WdtTest.png](imgs/WdtTest.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -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;
}