硬汉嵌入式论坛

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

[ThreadX全家桶] USBX的OTG如何处理?

[复制链接]

19

主题

125

回帖

182

积分

初级会员

积分
182
发表于 2023-10-1 16:46:46 | 显示全部楼层 |阅读模式
现在打算实现OTG,让主从自动识别,硬件上的ID和VBUS sensing都预留了。这个怎么关联?那里有示例工程?

主机模式打算实现MSC,从机打算实现MSC+CDC。
工程是用CUBEMX生成的。
现在把ux_user.h中的宏定义手工修改了。


[C] 纯文本查看 复制代码
//#define UX_HOST_SIDE_ONLY

/* Defined, this value will only enable the device side of usbx.  */
//#define UX_DEVICE_SIDE_ONLY

/* Defined, this value will include the OTG polling thread. OTG can only be active if both host/device are present.
*/

#ifndef UX_HOST_SIDE_ONLY
#ifndef UX_DEVICE_SIDE_ONLY

 #define UX_OTG_SUPPORT 

#endif
#endif



然后如果不这样修改,只是单纯分别初始化HOST或DEVICE的话,在_ux_host_stack_initialize中,会报UX_MEMORY_INSUFFICIENT错误。
内存已经修改大。

[C] 纯文本查看 复制代码
#if !defined(UX_HOST_STANDALONE)
    /* Obtain enough stack for the two USBX host threads.  */
    if (status == UX_SUCCESS)
    {
        _ux_system_host -> ux_system_host_enum_thread_stack =  _ux_utility_memory_allocate(UX_NO_ALIGN, UX_REGULAR_MEMORY,
                                                                            UX_HOST_ENUM_THREAD_STACK_SIZE);

        /* Check for successful allocation.  */
        if (_ux_system_host -> ux_system_host_enum_thread_stack == UX_NULL)
            status = UX_MEMORY_INSUFFICIENT;
    }

回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
 楼主| 发表于 2023-10-1 18:04:49 | 显示全部楼层
在usbx\common目录下找到主从相关的代码了,可能这里面的逻辑要自己弄下了,什么时候触发主机中断,什么时候触发从机。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-10-2 06:49:59 | 显示全部楼层
支持OTG方式,不需要手动切换HOST,  Device,不过应该是没有做例子。
回复

使用道具 举报

19

主题

125

回帖

182

积分

初级会员

积分
182
 楼主| 发表于 2023-10-2 14:50:59 | 显示全部楼层
微软官方有关于OTG的只言片语的代码,基于LPC3131的,但那个ThreadX现在的主要维护人员说,这芯片太老了,就没然后了。现大比较奇怪的是,不主从一体,初始化HOST或DEVICE,内存不足。现在用的最新的ThreadX和CUBEMX.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-10-2 15:10:02 | 显示全部楼层
ccschen 发表于 2023-10-2 14:50
微软官方有关于OTG的只言片语的代码,基于LPC3131的,但那个ThreadX现在的主要维护人员说,这芯片太老了, ...

可以考虑在他们的Github上给他们发个issue,看看方便制作个OTG的案例不,方便参考,不用自己摸索了,太耽误事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 11:40 , Processed in 0.214656 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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