Commit Graph

210 Commits

Author SHA1 Message Date
sakumisu 62d321caa0
refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799) 2024-06-02 11:20:13 +08:00
StackYuan a582c0cc31 [fix] NXP bsp for RT-Thread 5.1.0 fixed up. 2024-03-19 08:13:00 -04:00
LaterComer 82bb104f65
fix(serial_v2): tx_fifo->rb.buffer_ptr not init when RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING
为什么提交这份PR (why to submit this PR)
serial_v2驱动框架,rt_serial_tx_enable()函数,在 DMA阻塞发送(RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING) 的时候,使用rt_malloc分配了tx_fifo内存,但是并未对tx_fifo->rb.buffer_ptr指针进行初始化(rt_malloc不会自动初始化内存),因此可能导致buffer_ptr是一个随机指针。但是rt_serail_write()函数需要根据tx_fifo->rb.buffer_ptr是否为RT_NULL来判断是调用_serial_fifo_tx_blocking_nbuf()还是_serial_fifo_tx_blocking_buf()。

由于tx_fifo->rb.buffer_ptr可能是一个随机值(不一定为RT_NULL=0),导致RT_DEVICE_FLAG_DMA_TX and RT_SERIAL_TX_BLOCKING模式下调用了_serial_fifo_tx_blocking_buf(),但是rb没有真正开辟内存空间,导致内存异常

你的解决方案是什么 (what is your solution)
rt_serial_tx_enable(),在DMA阻塞发送分支下,对tx_fifo->rb.buffer_ptr进行初始化,赋值为RT_NULL。
2024-02-21 00:29:53 -05:00
zms123456 d01dd05a0c
[kernel][dm]适配新的设备驱动模型 (#8075) 2023-10-18 20:50:30 +08:00
Meco Man 4e0225a48d [debug] use LOG_D instead RT_DEBUG_LOG
related: https://github.com/RT-Thread/rt-thread/pull/7799
2023-07-28 13:50:32 -04:00
Shicheng Chu e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h (#7750) 2023-06-29 11:24:25 -04:00
zhkag 33f550cb65
[Kernel] message 可以返回消息的实际大小 (#7709) 2023-06-21 18:22:42 +08:00
kunpHust 7a2bccd1c2
[HUST CSE][components][udisk.c] add two checkout procedures after malloc to make sure allocating successfully (#7475) 2023-05-15 14:35:38 +08:00
miaoxingr f36a1bb514
[components/drivers] add checking code after allocating memory 2023-05-12 01:39:51 -04:00
hust202013232 9dd0d41251
[components][rndis.c] add safety checking after allocating memory 2023-05-12 01:37:42 -04:00
kkangdom 3cf07f1a62
[components][rndis.c] add a checkout procedure after malloc to make sure allocating successfully (#7460) 2023-05-09 10:02:11 +08:00
ourea1429 085ded8eef
[winusb.c] add checking after allocating memory for variable winusb_device to make sure allocae is successful 2023-04-28 14:59:42 +01:00
7YZ7 501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code 2023-04-17 22:26:23 -04:00
Zxy 156fda61cf [errno code]fix that use RT_ENOMEM without - 2023-03-23 01:55:21 -04:00
Meco Man 0f461e870c [errno code][-RT_ERROR] fix that use RT_ERROR without - 2023-03-20 00:06:16 -04:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
kylongmu 0b58637a49
USB CDC驱动在win11下无法识别,看了微软的描述修改子类后正常 (#6783)
这是微软关于此问题的链接:
 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/usbcon/usb-driver-installation-based-on-compatible-ids#usbsersys-installation
Windows 10 及更高版本
从 Windows 10 开始,Usbser.inf 已添加到 %Systemroot%\INF 目录,该目录加载 Usbser.sys 作为设备堆栈中功能设备对象 (FDO) 。 如果设备属于通信和 CDC 控制设备类, Usbser.sys 加载。 无需编写自己的 INF 来引用驱动程序。 驱动程序是基于与包含在 Windows 中的其他 USB 设备类驱动程序相似的兼容 ID 匹配来加载的。

USB\Class_02

USB\Class_02&SubClass_02

如果要自动 加载Usbser.sys, 在设备描述符中将类代码设置为 02,将子类代码 设置为 02。 有关详细信息,请参阅 USB 通信设备类。 使用此方法时,无需为设备分发 INF 文件,因为系统使用的是 Usbser.inf。
如果设备指定类代码 02,但子类代码值不是 02,则 Usbser.sys不会自动加载 。 即插即用管理器尝试查找驱动程序。 如果找不到合适的驱动程序,则设备可能未加载驱动程序。 在这种情况下,你可能需要加载自己的驱动程序或编写引用另一个内置驱动程序的 INF。
2023-01-02 22:25:54 -05:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
myshow2258 87be8fdba8 Modified bsp/stm32/libraries/HAL_Drivers/drv_usbd.c
Modified   components/drivers/usb/usbdevice/class/cdc_vcom.c
修复cdc在v1v2的serial框架下接收发送错误的问题.stm32下usbd添加更多的ep_id,以支持复合设备.
2022-11-14 23:47:49 -05:00
Wayne dc9887913b
[usbhost] List keyboard option. (#6456)
* [bsp/nuvoton] Support NuMaker-M467HJ BSP and update drivers.

* Format files.

* [usbhost] List keyboard and update driver.

* Enlarge to reasonable thread stack size.

* Do indent..

* Keep private.

Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2022-09-22 23:23:28 -04:00
Dengguiling aa2d2c63f6
[compoenets][driver][usb] fix usbhost hid issues. (#6116)
* [compoenets][driver][usb] fix usbhost hid issues.

1.Set idle function should receive an empty package.
2.Fix uinst_t reference error in hid enable function.
2022-07-07 16:10:43 +08:00
BreederBai c28b79b7d7
硬件驱动(VCOM):增加获取USB虚拟串口连接状态的接口 (#5881)
* 硬件驱动(VCOM):增加获取USB虚拟串口连接状态的接口
2022-04-28 20:30:51 +08:00
blta 2d08dca65a [USB] fix stall bug on control transfers 2022-04-20 14:33:12 +08:00
thewon86 f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
guozhanxin 08bebb40ba [usb audio] fix building error. 2022-04-20 09:10:52 +08:00
guozhanxin 2f6f9da5e3 fix usbhost issue by #4378 2022-01-26 11:39:39 +08:00
guo 9b44734643
Merge pull request #4378 from LeeChunHei/usbh_construct
添加多過一個usb host的可能性
2022-01-26 10:39:46 +08:00
Meco Man f89a162ea3 [core] 使用rt_memcpy rt_memset代替memcpy memset 2022-01-09 00:23:18 +08:00
nongxiaoming 57165329ac [components][usb] fix compile warning in cdc_vcom.c 2021-12-30 01:38:16 +08:00
tangyuxin a77cc81876 [components][drivers] format file 2021-12-01 14:41:13 +08:00
mazhiyuan f04941c951 [cdc_vcom.c]adapt to both v1 and v2 of serial 2021-10-14 11:42:05 +08:00
mazhiyuan bc5744b1ba 修复cdc_vcom.c中的一些编译问题 2021-10-14 10:58:14 +08:00
mazhiyuan 0a7280f161 修复开启RT_USING_DEVICE_OPS时ecm.c报错 2021-10-14 10:36:38 +08:00
guo 55a302cd09
Merge branch 'master' into usbh_construct 2021-09-28 10:36:54 +08:00
guozhanxin 48bf53b6e0 【完善】uac class, 去除 GPL 代码 2021-04-21 16:39:14 +08:00
dillon-min 247df39bfe
Merge branch 'master' into comp 2021-03-16 20:15:43 +08:00
Dillon Min effcee25b7 component: driver: usb: Add usb interface string(iInterface) setting
To make compositive usb device string more reansonable, not all devices
just show same "RTT Composite Device" on windows device manager.

add a interface rt_usbd_device_set_interface_string to set respective
interface string.

Signed-off-by: Dillon Min <dillon.minfei@gmail.com>
v1 -> v2: remove all tabs to space, to match rt-thread coding style
2021-03-11 17:29:41 +08:00
Meco Man 3c05a4e719 [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
LeeChunHei 00727d6b6d provide possibility for multi usb host 2021-02-23 17:05:01 +08:00
LeeChunHei e03eaec462 update to new usb api in hid and mouse source file 2021-02-23 13:42:19 +08:00
Bernard Xiong 4426af03f8
Revert "添加imxrt的pulse encoder和usb host驅動" 2021-02-23 09:44:27 +08:00
LeeChunHei b51c6339f0 finish testing 2021-02-13 18:50:58 +08:00
LeeChunHei fa5c8e1502 modifly to use multi usb(not tested) 2021-02-13 18:50:47 +08:00
David Lin f086765401
Update cdc_vcom.c 2020-11-21 15:37:45 +08:00
David Lin b10c9b7b63
Update hid.c 2020-11-21 15:36:56 +08:00
David Lin cc6b6a6ee3
Update hid.c 2020-11-21 15:36:26 +08:00
David Lin da464e6cc3
Update mstorage.c 2020-11-21 15:35:53 +08:00
David Lin 107b2063c1
Update winusb.c 2020-11-21 15:32:09 +08:00
David Lin f273e52614
Update audio_speaker.c 2020-11-21 15:30:12 +08:00