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
Shicheng Chu
e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h ( #7750 )
2023-06-29 11:24:25 -04:00
7YZ7
501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code
2023-04-17 22:26:23 -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
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
BreederBai
c28b79b7d7
硬件驱动(VCOM):增加获取USB虚拟串口连接状态的接口 ( #5881 )
...
* 硬件驱动(VCOM):增加获取USB虚拟串口连接状态的接口
2022-04-28 20:30:51 +08:00
thewon86
f5b0bfd3f4
uniform code writing-disable interrupt
2022-04-20 14:22:43 +08:00
nongxiaoming
57165329ac
[components][usb] fix compile warning in cdc_vcom.c
2021-12-30 01:38:16 +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
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
David Lin
f086765401
Update cdc_vcom.c
2020-11-21 15:37:45 +08:00
hphuang
0bfb881168
merge latest usb class with workaround
2020-07-03 11:13:24 +08:00
David Lin
10e0f28754
Update cdc_vcom.c
2020-03-21 20:54:13 +08:00
Ihavedone
0fdf20cf58
添加虚拟串口接收缓存的 ENV 配置项,可手动配置接收缓存大小,默认为128字节
2020-01-17 15:42:56 +08:00
weety
5293175998
Fixed data loss issue when USB CDC serial works in dma transmission mode.
2019-02-03 20:36:34 +08:00
Peter Zhang
328a697c1d
[components][drivers][usb][usb_device][cdc_vcom]: Add 'RT_VCOM_TX_TIMEOUT' to configure TX_TIMEOUT whick may block vcom tx thread for a long time. Add 'RT_VCOM_TASK_STK_SIZE', 'RT_VCOM_TX_USE_DMA', 'RT_VCOM_SERNO', 'RT_VCOM_SER_LEN', 'RT_VCOM_TX_TIMEOUT' to Kconfig
2018-10-26 14:29:22 +08:00
zyh
c2539db38e
[Components][drivers][usb]修复非对齐访问异常
2018-10-22 12:08:43 +08:00
Bernard Xiong
2c0640a178
[license] Change license to Apache.
2018-10-14 19:37:18 +08:00
liruncong
7b788014f7
修正drivers下,armclang编译时的警告或错误 注:vcom_tx_thread_entry下, if(!res & CDC_TX_HAS_DATE)应为bug.
2018-09-10 19:40:08 +08:00
liruncong
923d6fe33d
消除usb结构体gcc编译时的相关警告
2018-08-28 03:18:39 +08:00
zyh
1ed770039c
[Coponents][USB device]add class register interface
2018-04-24 12:48:05 +08:00
ZYH
5035662cd9
[Components][USB Device]各个class对HS进行了适配
...
部分class还不支持HS,RNDIS存在暂时无法解决的已知bug
2018-03-16 18:36:14 +08:00
charlown
4f1f0ad918
fix cdc_vcom.c notify receive data.
2018-03-15 10:07:23 +08:00
ChunfengMu
a499c18072
[Components][Drivers][USB]vcom dma_tx模式下根据bulk in提交能力限制tx_ringbuffer的填充长度,避免对下次bulk in传输造成影响.
2018-02-06 01:49:59 +08:00
ChunfengMu
9798917638
1:解决主机端未打开串口时,设备端应用程序dma模式下操作vcom发送数据时,dataqueue条目泄漏的问题。
2018-01-31 02:37:34 +08:00
ChunfengMu
263e9faae4
Update cdc_vcom.c
2018-01-30 10:19:40 +08:00
ChunfengMu
2ea318cc03
1:解决未使用串口设备时,bulkout端点接收数据触发断言的问题。
2018-01-30 01:24:00 +08:00
ChunfengMu
0b0cbaf9aa
[Components][Drivers][USB]fix compiling errors
2018-01-24 00:27:11 +08:00
Aubr.Cool
537943ed6f
[Components] driver usb vcom fix error for console ( #1160 )
...
* [Components] driver usb vcom fix error for console
2018-01-22 13:18:27 +08:00
ChunfengMu
31dcce45c8
1:修复cdc_vcom命令处理错误,SetLineCoding命令用于设置一些vcom参数,在此处判定vcom连接状态不合适,因通过SetControlLineState命令wValue字段最低位进行判断。
2018-01-19 01:24:33 +08:00
tangyuxin
cc54e0a74e
[usb]update usb stack
2017-11-11 10:53:08 +08:00
shaolin
64a2902fa9
1. Fix some spell error;
...
2. Fix data transfer size calculate error issue;
2014-07-13 17:19:34 +08:00
shaolin
8fd0a7f9c6
Update USB Device Stack to support more device controllers;
...
Pass USB CV test verification;
Code cleanup;
2014-02-16 17:42:35 +08:00
Grissiom
981d929b56
ringbuffer: fix the ambiguous name
...
RT_RINGBUFFER_SIZE could mean "the size of the whole buffer", "the size
of the empty space" or "the size of the data". Moreover, it's never a
micro anymore. Change it to rt_ringbuffer_data_len before it's too late.
Also, RT_RINGBUFFER_EMPTY is changed to rt_ringbuffer_space_len.
2013-08-19 14:12:35 +08:00
yiyue.fang
621fbdb90c
Embedded GPLv2 license in drivers
2013-06-28 00:36:54 +08:00
Grissiom
046182be94
cdc_vcom: reset the vcom state in proper cases
...
Reset the vcom state in class_{run,stop} and when the PC is not
receiving data from me.
2013-05-25 15:25:32 +08:00
Grissiom
aa179e4438
cdc_vcom: not to start sending data when the data is already sending
...
We start the sending transaction in SOF handler. But if the data is
already sending, start an other transaction will cause data lose.
Implement a state machine is cdc_vcom and avoid that.
2013-05-12 13:27:13 +08:00
Grissiom
d23ee75d2e
cdc_vcom: send data as many as possible
...
The data filled into dcd_ep_write does not to be limited by
MaxPacketSize.
2013-05-10 17:50:07 +08:00
Grissiom
ffb1e62020
cdc_vcom: send a zero-length-packet at the end is transaction
2013-05-10 15:17:59 +08:00
Grissiom
778c4239b1
cdc_vcom: fix the bug that use ringbuffer pool as usb packet buffer
...
This commit set the buffer for packet to CDC_MaxPacketSize which is a
reasonable value for it. However, maybe we should make
CDC_{RX,TX}_BUFSIZE configurable as well.
2013-05-09 23:18:58 +08:00
heyuanjie87
34d531578e
class driver can custom string description
2013-01-24 20:59:43 +08:00
heyuanjie87
d20974b9d2
allows the user custom PID and VID
2013-01-09 12:18:13 +08:00
Ming, Bai
b4de7cce57
Re-normalizing the repo
2013-01-08 22:40:58 +08:00