您尚未登录。

楼主 #1 2020-12-18 18:40:58

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

esp32s2移植VSF,顺便跑起USB主机协议栈

最近一段时间入坑esp32s2,移植了vsf内核,移植了dwcotg的USB主从机驱动。
虽然不能说所有坑都填了,不过也至少很多东西可以跑起来了。

先秀一些实际效果(USB主机相关),整理好代码后,提交到github

bcm20702蓝牙狗,配合btstack,链接PS4蓝牙手柄:
esp32s2_bthci.png

直接USB驱动PS4手柄:
esp32s2_ds4.png

使用U盘:
esp32s2_msc.png

使用libusb控制设备:
esp32s2_libusb.png

离线

#2 2020-12-18 22:35:49

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 503
积分: 465

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

坐等开源,准备白嫖。

离线

#3 2020-12-18 23:18:36

sea18c
会员
注册时间: 2019-08-05
已发帖子: 227
积分: 224.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

又有新功能,非常好,VSF越来越强大了。

离线

#4 2020-12-19 00:39:44

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 551
积分: 489
个人网站

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

前排支持大佬填坑

离线

#5 2020-12-19 02:07:13

david
会员
注册时间: 2018-03-05
已发帖子: 180
积分: 149.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

你这usb追踪工具是啥

离线

#6 2020-12-19 12:24:22

manhere
会员
注册时间: 2019-06-22
已发帖子: 19
积分: 18

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

马克下,期待

离线

楼主 #7 2020-12-19 21:53:42

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

david 说:

你这usb追踪工具是啥

LeCroy的USB协议分析仪,很早以前买的东西了

离线

楼主 #8 2020-12-19 21:54:49

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

esp32s2的USB主机模式,应该没什么人用,所以官方的SDK里都不支持
这个我们也就只是玩玩而已,估计也没时间去准备文档,不过驱动代码都会开源

离线

#9 2020-12-20 16:38:36

msr06rr
会员
所在地: 苏州
注册时间: 2018-01-11
已发帖子: 175
积分: 170.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

楼主牛逼,建议给官方提PR...
SDK暂时没有host驱动,但是从这里发布的进度来看似乎是有这个计划的:https://esp32.com/viewtopic.php?f=10&t=14532

最近编辑记录 msr06rr (2020-12-20 16:39:09)

离线

楼主 #10 2020-12-22 12:37:46

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

msr06rr 说:

楼主牛逼,建议给官方提PR...
SDK暂时没有host驱动,但是从这里发布的进度来看似乎是有这个计划的:https://esp32.com/viewtopic.php?f=10&t=14532


原厂估计不会理我吧。。。。

后面几个wifi芯片,我们都会玩玩,同样的平台,同样的开发方式

esp32s2的估计这周提交,前两天优化了设备插拔的部分。

离线

#11 2020-12-22 15:31:15

阿黄
会员
注册时间: 2018-10-03
已发帖子: 265
积分: 195

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

vsf是啥?能介绍一下吗?

离线

楼主 #12 2020-12-23 12:49:53

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

阿黄 说:

vsf是啥?能介绍一下吗?

这个是我们自己做的系统框架,事件驱动的抢占式多任务内核,外加各种模块/驱动。
甚至还有一个linux子系统模块,可以用于编译一些linux的应用代码。
不过,文档啥的还都没完善,所以也就秀一下。

离线

#13 2020-12-23 14:02:23

xiaohui
会员
注册时间: 2019-01-15
已发帖子: 235
积分: 172.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

发现更新了: https://github.com/vsfteam/vsf

离线

楼主 #14 2020-12-24 12:11:37

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

xiaohui 说:

是的,更新会提交到这里,不过,目前还没更新。之前的更新只是内核的移植,USB移植并不完整

离线

#15 2020-12-24 15:05:42

armstrong
会员
注册时间: 2019-04-10
已发帖子: 181
积分: 163.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

楼主公司好牛逼!一般公司都是抓一把码农上来就是各种复制粘贴,拼凑出产品就是目的。
只有上了层次的少数公司才执着的开发让自己让别人都满意的框架!
看了vsf的源码,这风格、质量都属上层了,厉害!

离线

#16 2020-12-24 15:06:47

armstrong
会员
注册时间: 2019-04-10
已发帖子: 181
积分: 163.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

我看过别人公司做的产品的源码,那是不堪入目啊!稍微有点强迫症就会被它雷到重伤!

最近编辑记录 armstrong (2020-12-24 15:07:13)

离线

#17 2020-12-24 15:14:15

armstrong
会员
注册时间: 2019-04-10
已发帖子: 181
积分: 163.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

真心话,看vsf代码就是一种享受!

离线

#18 2020-12-24 19:02:45

david
会员
注册时间: 2018-03-05
已发帖子: 180
积分: 149.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

支持u盘吗 文件系统可以用linux的吗 还是只有fat

离线

楼主 #19 2020-12-24 19:24:34

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

armstrong 说:

真心话,看vsf代码就是一种享受!

谢谢,虽然目前还有一些没有完全统一,不过VSF代码有非常严格的标准,很多细节都做了规定。
不过,也还是有不少人说VSF的代码其实并不好,毕竟不同人的口味不同

离线

楼主 #20 2020-12-24 19:27:40

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

david 说:

支持u盘吗 文件系统可以用linux的吗 还是只有fat

USB主机里,有MSC驱动,可以支持U盘。
文件系统是我们自己写的,因为里面其实并不是linux,esp32s2也跑不起来linux。
截图里,虽然写的是linux,这个只是我们自己写的linux子系统,为了编译一些Linux应用,模拟出linux的一些API和库而已。
还有几个其他的文件系统,比如vfs(用于建立虚拟目录和文件)等等

离线

楼主 #21 2020-12-25 13:51:53

vsf
会员
注册时间: 2020-03-03
已发帖子: 23
积分: 23

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

已经提交,工程位于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。当然,实际可能不需要去掉这么多

离线

#22 2020-12-30 14:08:01

xiaohui
会员
注册时间: 2019-01-15
已发帖子: 235
积分: 172.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

vsf 说:

已经提交,工程位于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。当然,实际可能不需要去掉这么多

支持,难见的好项目

离线

#23 2021-07-29 17:43:16

xiaoqianxiansheng
会员
注册时间: 2021-05-26
已发帖子: 35
积分: 12.5

Re: esp32s2移植VSF,顺便跑起USB主机协议栈

有USB的wifi固件吗

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn