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,78 +1,75 @@
# 1. 简介
| 硬件 | 描述 |
| --------- | ----------------------------------------- |
| 芯片型号 | CH569W |
| CPU | 单核RISC-V3A |
| 主频 | 120MHz |
| 片内SRAM | 32/64/96KB 可配置的 128 位宽 SRAMRAMX |
| 片内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-gccxpack-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 芯片。最后点击“下载”,即可使程序下载到评估版上的主芯片。
<img src="imgs/image_shaolukaifabanpaizhao.jpg" alt="image_shaolukaifabanpaizhao" style="zoom:30%;" />
<img src="imgs/image_shaoluruanjianjietu.png" alt="image_shaoluruanjianjietu" style="zoom:50%;" />
# 6. 启动
烧录完成后,并且将串口连接至电脑。
将评估板上电重新,即可看到操作系统启动的信息,如下:
# 1. 简介
| 硬件 | 描述 |
| --------- | ------------------------------------------------- |
| 芯片型号 | CH569W |
| CPU | 单核RISC-V3A |
| 主频 | 120MHz |
| 片内SRAM | 32/64/96KB 可配置的 128 位宽 SRAMRAMX |
| 片内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-gccxpack-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 芯片。最后点击“下载”,即可使程序下载到评估版上的主芯片。
<img src="imgs/image_shaolukaifabanpaizhao.jpg" alt="image_shaolukaifabanpaizhao" style="zoom:30%;" />
<img src="imgs/image_shaoluruanjianjietu.png" alt="image_shaoluruanjianjietu" style="zoom:50%;" />
# 6. 启动
烧录完成后,并且将串口连接至电脑。
将评估板上电重新,即可看到操作系统启动的信息,如下:
![image_xitongqidongrizhi](imgs/image_xitongqidongrizhi.png)

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