最近在尝试裸机驱动 F1C100s,有一些大神将全志 USB 代码提取到裸机上,但是这些框架代码都比较混乱,感觉并不好用。在其他很多单片机上我们都可以使用 TinyUSB 框架,那么我们能不能也在 F1C100s 上用这个框架呢?经过三天的研究,我成功将 TinyUSB 适配了 F1C100s 上的 musb 控制器,适配后的代码位于 t123yh/tinyusb。
我将适配后的框架放入了前辈做的 Keil RTX4 工程中,形成了一个完整可工作的串口 Loopback Demo,代码在 t123yh/F1C100s_RTX4_USB。如果大家希望移植其他的 USB 设备类,可以自己到 TinyUSB 的 Example 文件夹下面找,有很多现成的例子。
目前有一个小 bug:串口的 IN 和 OUT Endpoint 不能用同一个(即不能同时使用 Endpoint 2 作为 TX 和 RX,只能用两个不同的)。如果用同一个,则串口只能发送一次数据,再发送数据就无法接收了。这个不知道是软件的 bug 还是硬件本身不支持。如果有会玩 USB 的朋友可以告知或修复一下。
离线
F1C100s_RTX4_USB
added msc example, but speed not good (12MB/s for RAM)
添加了 msc 示例,但速度不佳(RAM 为 12MB/s)
如果能帮忙提升下速度就好了
离线
文件不全https://whycan.com/files/members/7570/捕获_20211208-1937.jpg
tinyusb 是个子模块,建议从 github 上面拉一下最新版
离线
优秀!
感谢楼主分享, 我顺手克隆了一份上传, 方便无法上github的朋友: tinyusb_20211201_git.7z
之前的版本有各种问题,要用的朋友还是从我的 github 上面获取最新版,修了好几个 bug
离线