硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7388|回复: 12
收起左侧

STM32F4上基于CherryUSB主机例程

  [复制链接]

17

主题

109

回帖

160

积分

初级会员

积分
160
发表于 2022-2-13 13:55:02 | 显示全部楼层 |阅读模式
本帖最后由 初晴sama 于 2022-2-13 14:01 编辑

之前发布过 device stack的分享https://www.armbbs.cn/forum.php?mod=viewthread&tid=109643&extra=,这次分享 host stack。github链接:https://github.com/sakumisu/CherryUSB

目前 hcd porting适配了 EHCI/OHCI 和 synopsys。后续增加 musb 和 沁恒系列。

下图使用 stm32f429 + freertos 演示 多级hub 枚举 cdc、hid、msc 数据测试,以及插拔测试,其中周期性传输均使用异步方式,没有阻塞。欢迎大家提交 PR 和 star。


1.png
2.png
3.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116229
QQ
发表于 2022-2-14 14:41:05 | 显示全部楼层
谢谢楼主分享,做的越来越好了。
回复

使用道具 举报

17

主题

109

回帖

160

积分

初级会员

积分
160
 楼主| 发表于 2022-2-15 09:36:22 | 显示全部楼层
eric2013 发表于 2022-2-14 14:41
谢谢楼主分享,做的越来越好了。

谢谢硬汉哥每次都帮忙顶贴
回复

使用道具 举报

0

主题

52

回帖

52

积分

初级会员

积分
52
发表于 2022-4-18 18:02:58 | 显示全部楼层
研究得透彻
回复

使用道具 举报

0

主题

52

回帖

52

积分

初级会员

积分
52
发表于 2022-4-24 14:04:19 | 显示全部楼层
没有stm32f1标准库适配
回复

使用道具 举报

17

主题

109

回帖

160

积分

初级会员

积分
160
 楼主| 发表于 2022-4-24 22:17:23 | 显示全部楼层
miaoguoqiang 发表于 2022-4-24 14:04
没有stm32f1标准库适配

为什么要适配st标准库?都是买来的 ip,不是应该直接怼寄存器?
回复

使用道具 举报

10

主题

254

回帖

289

积分

高级会员

积分
289
发表于 2022-9-12 14:05:48 | 显示全部楼层
初晴sama 发表于 2022-4-24 22:17
为什么要适配st标准库?都是买来的 ip,不是应该直接怼寄存器?

你是它的作者么?
ST的USB库写的非常诡异,想用TinyUSB,这样以后在HPM那边就不用重新搞,但是这项目连文档都没有,无意看见这个库,文档详细,居然还是中文的,一定要试一试
回复

使用道具 举报

17

主题

109

回帖

160

积分

初级会员

积分
160
 楼主| 发表于 2022-9-17 14:56:55 | 显示全部楼层
fengxin32 发表于 2022-9-12 14:05
你是它的作者么?
ST的USB库写的非常诡异,想用TinyUSB,这样以后在HPM那边就不用重新搞,但是这项目连 ...

是作者
回复

使用道具 举报

3

主题

84

回帖

93

积分

初级会员

积分
93
发表于 2022-9-17 20:58:21 来自手机 | 显示全部楼层
能无缝衔接到stm32cubemx吗?
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
发表于 2024-12-24 19:21:33 | 显示全部楼层
本帖最后由 cdmar79 于 2024-12-25 17:48 编辑

请问下,商业支持里面的OHCI驱动是什么意思,是部分需要商业授权吗?我看port里面不是有OHCI了吗?

加问一个问题,usbd_add_interface 调用的次数和什么有关,demo里的很多templete看了后,有些一个设备2次,有些一个设备1次。。。。
回复

使用道具 举报

0

主题

27

回帖

27

积分

新手上路

积分
27
发表于 2025-1-8 16:27:53 | 显示全部楼层
本帖最后由 lcfmax 于 2025-1-10 14:05 编辑

最近在使用的你的作品cherryusb,谢谢给我们分享这么好的USB协议栈。
目前我在M33架构的MCU的高速,全速USB上验证了几种协议,有一些疑问想请教一下你。
1. 目前我验证了msc, cdc-acm单独功能完全正常稳定
2. 验证 cdc_acm_msc_template的方式也完全正常。
3. 验证hid_custom_inout_template模版的时候,高速跟全速下,上位机跟下位机通信都失败,其中上位机我是在网上找到的别人用过的。后来在全速状态下,修改了报告描述符如下,就可以跟网上的上位机通信了。
    //报告描述符---------------------------------------
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    0x09, 0x00,                    // USAGE (Undefined)   //自定义
    0xa1, 0x01,                    // COLLECTION (Application)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)  //值最小为 0
    0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)  //最大为255
    0x19, 0x00,                    //   USAGE_MINIMUM (Undefined)
    0x29, 0x39,                    //   USAGE_MAXIMUM (Hat switch)
    0x75, 8,                    //   REPORT_SIZE (8)  每包数据大小
    0x95, 0x08,                    //   REPORT_COUNT (8) 每个数据的bit 数  8个bit 即一个字节
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
    0x09, 0x00,                    //   USAGE (Undefined)  //自定义
    0x91, 0x02,                    //   OUTPUT (Data,Var,Abs)
    /* USER CODE END 0 */
    0xC0    /*     END_COLLECTION              */
4. 但是HID在高速USB上面是跑不了,所以请问一下你,你当时有没有测试过HID高速下的通信,你用的上位机是那个?方便提供一下么?
5. 以上我在win10 x64上面验证的。
回复

使用道具 举报

14

主题

58

回帖

100

积分

初级会员

积分
100
发表于 2025-5-11 22:10:14 | 显示全部楼层
看了下osal下面竟然没有cmsis_os2的适配
回复

使用道具 举报

17

主题

109

回帖

160

积分

初级会员

积分
160
 楼主| 发表于 2025-5-12 16:25:40 | 显示全部楼层
Superusrss 发表于 2025-5-11 22:10
看了下osal下面竟然没有cmsis_os2的适配

封装太严重,依赖多,性能差,占用多,不考虑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 17:16 , Processed in 0.335570 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表