该库是与 Hydradancer 一同开发的,后者是基于 WCH569 芯片的 Facedancer USB 仿真库的新后端。
这个项目需要可靠的驱动程序,而 WCH 示例中缺少许多功能,或未经测试。
本库提供经过 tests/ 中的基准/完整性测试验证的 USB3、USB2、HSPI 和 SerDes 驱动程序。它基于 wch-ch56x-bsp,但目标是提供更高级别的库。由于 Hydradancer 同时使用多个外设(USB3/HSPI、USB2/HSPI),因此实现了一个中断队列,以避免在 hspi_scheduled 中丢失中断,并配合静态内存池使用。虽然本仓库中的测试足够简单,可以在中断处理程序内完成处理,但 Hydradancer 会丢失中断,因此需要将中断延迟到用户模式处理。
在基于 CMake 的项目中,只需使用 add_subdirectory(path_to_wch-ch56x-lib) 并链接到 wch-ch56x-lib 目标即可。wch-ch56x-lib 目前是一个 INTERFACE 目标,这意味着源文件/头文件将与您的目标一起编译,而不是独立编译。
可用选项
要构建并烧录固件,请参阅构建教程。
其中也包含有关编译选项的更多信息。
该项目使用一块或两块基于 WCH569 RISC-V MCU 的 HydraUSB3 板。
wch-ch56x-lib/
| ├─ tests/ # test firmwares to test various parts of the library
| ├─ src/
| | ├─wch-ch56x-lib # the source/header files of the lib
| ├─ tools/
| ├─ docs/ # additional documentation
有关不同测试及其用法的更多信息,请参阅 docs/Testing.md
如果您遇到错误或想建议新功能,请查看现有 issues,并在必要时创建新 issue。
要贡献代码,建议先查看现有 issues,并通过评论告知其他贡献者您正在处理的事项。这样您就不会浪费时间在没有必要或已经在进行的功能上。
之后,请创建拉取请求(pull request)并关联相关 issue。
您的代码应遵循编码风格指南。