最近一段时间入坑esp32s2,移植了vsf内核,移植了dwcotg的USB主从机驱动。
虽然不能说所有坑都填了,不过也至少很多东西可以跑起来了。
先秀一些实际效果(USB主机相关),整理好代码后,提交到github
bcm20702蓝牙狗,配合btstack,链接PS4蓝牙手柄:
直接USB驱动PS4手柄:
使用U盘:
使用libusb控制设备:
离线
你这usb追踪工具是啥
LeCroy的USB协议分析仪,很早以前买的东西了
离线
esp32s2的USB主机模式,应该没什么人用,所以官方的SDK里都不支持
这个我们也就只是玩玩而已,估计也没时间去准备文档,不过驱动代码都会开源
离线
楼主牛逼,建议给官方提PR...
SDK暂时没有host驱动,但是从这里发布的进度来看似乎是有这个计划的:https://esp32.com/viewtopic.php?f=10&t=14532
原厂估计不会理我吧。。。。
后面几个wifi芯片,我们都会玩玩,同样的平台,同样的开发方式
esp32s2的估计这周提交,前两天优化了设备插拔的部分。
离线
vsf是啥?能介绍一下吗?
这个是我们自己做的系统框架,事件驱动的抢占式多任务内核,外加各种模块/驱动。
甚至还有一个linux子系统模块,可以用于编译一些linux的应用代码。
不过,文档啥的还都没完善,所以也就秀一下。
离线
是的,更新会提交到这里,不过,目前还没更新。之前的更新只是内核的移植,USB移植并不完整
离线
真心话,看vsf代码就是一种享受!
谢谢,虽然目前还有一些没有完全统一,不过VSF代码有非常严格的标准,很多细节都做了规定。
不过,也还是有不少人说VSF的代码其实并不好,毕竟不同人的口味不同
离线
支持u盘吗 文件系统可以用linux的吗 还是只有fat
USB主机里,有MSC驱动,可以支持U盘。
文件系统是我们自己写的,因为里面其实并不是linux,esp32s2也跑不起来linux。
截图里,虽然写的是linux,这个只是我们自己写的linux子系统,为了编译一些Linux应用,模拟出linux的一些API和库而已。
还有几个其他的文件系统,比如vfs(用于建立虚拟目录和文件)等等
离线
已经提交,工程位于source/example/template/project/cmake/esp32s2下
编译的话,需要定义一个全局的环境变量VSF_PATH,设置为clone的vsf的目录
然后,使用esp的方式直接编译即可。
如果编译过程总,提供btstack文件找不到的话,做如下修改:
1. main/CMakeLists.txt中,去掉btstack的.c,以及去掉btstack_demo.c
2. source/example/template/config/vsf_usr_cfg/vsf_usr_cfg_esp32s2.h里,APP_USE_BTSTACK_DEMO配置为DISABLED
esp32的windows环境下,遇到一些问题,就是如果参与编译的文件太多,连接会出错,官方没有提供任何解决方案。
linux环境下没问题。
解决方法,去掉一些模块,修改source/vsf/component/CMakeLists.txt,去掉3rd-parth、crypto、debugger、tcpip、ui。当然,实际可能不需要去掉这么多
离线
有USB的wifi固件吗
官方应该有现成的吧
离线