Commit Graph

169 Commits

Author SHA1 Message Date
Chuan 604d123186 [utest][serial bypass]:Add standardized documentation for Serial Bypass Test 2025-11-26 22:52:39 +08:00
CYFS 327006cb88 [docs][utest]:Add standardized utest documentation block for serialv2_tc 2025-11-15 14:18:44 +08:00
CYFS 934c8195f4 [serialv2]:Fixed the issue where the serialv2 terminal did not have the enable stream mode 2025-11-07 09:52:55 +08:00
Chen Wang c1363c77d6 utest: Improve the strings displayed in the menu
Use "Test" instead of "Unit Testcases" to make string shorter.
Use uppercase to make it look more eye-catching.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-16 18:34:43 +08:00
Chen Wang c2f041640d utest: UTEST_SERIAL_POSIX_TC -> RT_UTEST_SERIAL_POSIX
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-15 09:43:16 +08:00
Chen Wang 3e7fd6b437 utest: UTEST_SERIAL_QEMU_TC -> RT_UTEST_SERIAL_QEMU
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-15 09:43:16 +08:00
Chen Wang 2881803dec utest: UTEST_SERIAL_TC -> RT_UTEST_SERIAL_V2
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-15 09:43:16 +08:00
Chen Wang 066689bd2f utest: UTEST_SERIAL_BYPASS -> RT_UTEST_SERIAL_BYPASS
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-15 09:43:16 +08:00
Chen Wang 5b99f61af8 utest: serial: update case names
Follow the naming rules of utest-cases.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-11 15:38:45 +08:00
Chen Wang 3b97667323 utest: serial: move from examples to components/drivers/serial
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-10-11 15:38:45 +08:00
wdfk-prog 6881f96ea5 feat: Initialize local variables to prevent GCC compilation warnings 2025-09-06 10:51:57 +08:00
Tang Haojin 728d9e4919 fix(ioctl): _IOR() overflows in switch (int) #10650 2025-09-01 12:46:43 +08:00
maosql 9567564e86 fix: warnings generated by Kconfig. 2025-09-01 11:50:41 +08:00
RyanCW e0243e87c0 [component][drivers][serial_v2] 优化serial_v2 (#10603)
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
doc_doxygen / doxygen_doc generate (push) Has been cancelled
doc_doxygen / deploy (push) Has been cancelled
* [bsp][stm32][drv_usart_v2] uart_isr不再使用链式调用,RXNE内循环读空,一些细节优化

* [componnents][drivers][serial_v2] 增加获取config接口,使用rt_tick_get_delta替代内部的时间绕回判断,写满丢弃策略rx接收数据错乱修复,clang-tidy和cppcheck审查优化

* [utest][drivers][serial_v2] 测试例程进行优化

* [bsp][stm32][drv_usart_v2] 撤回DMAMUX1修改

* [componnents][drivers][serial_v2] read和write不再返回-RT_ETIMEOUT改为已发送或读取的字节数,细节优化

* [utest][drivers][serial_v2] 增加单独的timeout测试,减少测试中的硬延时

* [utest][drivers][serial_v2] 漏提交的posix下标志位

* [utest][drivers][serial_v2] 优化测试例程

* [bsp][stm32][drv_usart_v2] transmit返回错误值,RXNE增加超时逻辑

* [componnents][drivers][serial_v2] 增加transmit错误处理,增加超时退出机制显式的避免死循环

* [componnents][drivers][serial_v2] 适配serial_v2和posix非libc标准库下的console和shell
2025-08-16 11:51:57 +08:00
wdfk-prog 302370720e [driver][serial] V1]: fix correct data loss logic when RX ring buffer is full
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
In the serial ISR (`rt_hw_serial_isr`), the previous logic for handling a full RX FIFO was flawed. When the buffer was filled, it would increment `get_index` (`get_index += 1`).

This had two negative consequences:
1.  It effectively discarded the oldest byte of data prematurely.
2.  It reduced the usable capacity of a buffer of size N to N-1. For example, a 64-byte buffer could only ever hold 63 readable bytes after becoming full.

This patch corrects the behavior by implementing a standard overwriting ring buffer strategy. When the buffer is full, the logic is changed to `get_index = put_index`.

This ensures that:
- When new data arrives, it correctly overwrites the oldest data.
- The `get_index` is advanced along with the `put_index`, correctly marking the new start of the buffer.
- The full N-byte capacity of the buffer is utilized, always storing the N most recent bytes.

This change resolves the unexpected data loss and makes the buffer behavior correct and predictable.
2025-08-10 12:10:16 +08:00
rcitach ae50e406da 【SMART】【BSP】【allwinner】Fix smart serial_v2 bypass compile error issue (#10524)
ToolsCI / Tools (push) Has been cancelled
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
doc_doxygen / doxygen_doc generate (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
doc_doxygen / deploy (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / Infineon/psoc6-pioneerkit_modus (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / airm2m/air105 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / allwinner/d1 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / allwinner/d1s (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / amebaz (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / avr32uc3b0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bf533 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl61x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/d0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/lp (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/m0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ck802 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / core-v-mcu/core-v-cv32e40p (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / essemi/es32f0654 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / essemi/es32f365x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / fm33lc026 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ft2004 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / hc32l136 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / hk32/hk32f030c8-mini (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / imx/imx6ull-smart (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / imxrt/imxrt1170-nxp-evk/m7 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / juicevm (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc43xx/M0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc43xx/M4 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc54608-LPCXpresso (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc824 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / m16c62p (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / microblaze (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mini4020 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mm32f327x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mm32l07x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nios_ii (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nuclei/nuclei_fpga_eval (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nv32f100x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / phytium/aarch32 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / pic32ethernet (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / raspberry-pi/raspi2 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rockchip/rk2108 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rv32m1_vega/ri5cy (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rx (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / samd21 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / sep6200 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / synopsys/boards (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tae32f5300 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / taihu (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / thead-smart (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ti/c28x/tms320f28379d (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tkm32F499 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tms320c6678 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / upd70f3454 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / w60x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/arm/ch579m (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/risc-v/ch32v103r-evt (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/risc-v/ch569w-evt (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wh44b0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / x86 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / xplorer4330/M0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / yichip/yc3121-pos (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / yichip/yc3122-pos (push) Has been cancelled
* Modify the reference path of the header file in the middle section

* format

* Fix smart serial_v2 bypass compile error issue

* add allwinner/d1s ci
2025-08-01 20:59:08 +08:00
ryancw d23006ea4f [drivers][serial_v2] 修复dma下rx_flush的bug
AutoTestCI / components/cpp11 (push) Has been cancelled
AutoTestCI / kernel/atomic (push) Has been cancelled
AutoTestCI / kernel/atomic/riscv64 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11 (push) Has been cancelled
AutoTestCI / kernel/atomic_c11/riscv64 (push) Has been cancelled
AutoTestCI / kernel/device (push) Has been cancelled
AutoTestCI / kernel/ipc (push) Has been cancelled
AutoTestCI / kernel/irq (push) Has been cancelled
AutoTestCI / kernel/mem (push) Has been cancelled
AutoTestCI / kernel/mem/riscv64 (push) Has been cancelled
AutoTestCI / kernel/thread (push) Has been cancelled
AutoTestCI / kernel/timer (push) Has been cancelled
AutoTestCI / rtsmart/aarch64 (push) Has been cancelled
AutoTestCI / rtsmart/arm (push) Has been cancelled
AutoTestCI / rtsmart/riscv64 (push) Has been cancelled
AutoTestCI / components/utest (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
2025-07-24 09:37:54 +08:00
ryancw 5c23485006 [components][serial_v2] 写满丢弃策略对dma_ping_buf的处理有误、细节调整 2025-05-22 21:32:21 +08:00
ryancw ac8fba0129 [drivers][serial_v2]允许阻塞接收超过rx缓冲区大小的数据、增加超时时间、flush、获取缓冲区数据长度命令、数据溢出逻辑修复、稳定性细节优化、添加更多serial_v2测试用例
[components][serial_v2] 优化txflush逻辑、对tx的activated做中断保护

[components][at] at_client适配新版serial_v2

[components][at] at_server适配新版serial_v2

[components][serial_v2] 测试用例增加循环调用,format测试用例

[components][serial_v2] poll模式判断逻辑错误

[components][serial_v2] 测试用例去掉一些非必要延时

[components][serial_v2] 测试例程使用menuconfig进行配置,更新readme

[components][at_client] at_client_getchar返回值错误、at_client解析线程优先级错误设置

[components][at] 错误码应该返回负值

[components][serial_v2] TCFLSH和FIONREAD完善、control函数增加错误返回值

[components][serial_v2] RT_SERIAL_CTRL_GET_RX_DATA_LEN更改为RT_SERIAL_CTRL_GET_UNREAD_BYTES_COUNT

[utest][serial_v2] TC_UART_SEND_TIMES替换为RT_SERIAL_TC_SEND_ITERATIONS

[components][serial_v2] FIONREAD参数应该是无符号类型

[utest][serial_v2] 完善测试用例

[components][serial_v2] 避免使用三目运算符

[components][serial_v2] 使用clang-format格式化代码

[components][serial_v2] 添加get超时时间命令

[components][serial_v2] 完善posix接口

[components][serial_v2] 阻塞接口添加阻塞时间为0时的处理逻辑、优化RX阻塞接收逻辑

[components][serial_v2] 设置超时时间命令的参数改为指针形式

[components][serial_v2] nbuf发送添加超时时间为0时的逻辑

[components][serial_v2] 完善添加测试用例

[utest][serial_v2] 修复依赖关系

[components][serial_v2] 非阻塞模式下tx_flush错误修复

[components][serial_v2] activated使用原子API

[components][serial_v2] 优化DMA逻辑、没使能DMA时屏蔽DMA逻辑节约资源

[components][serial_v2] 提供写满时丢弃新数据和覆盖旧数据策略,写满丢弃策略效率更高

[components][serial_v2] 部分平台适配写满时两种策略功能

[components][serial_v2] DMA模式暂不支持丢弃新数据策略

[utest][serial_v2] 优化测试代码

[components][serial_v2] DMA模式下使用乒乓缓冲、DMA模式支持丢弃新数据策略

[utest][serial_v2] 适配DMA乒乓缓冲

[bsp][serial_v2] 部分bsp适配DMA下乒乓缓冲

[components][serial_v2] 使用spinlock替换中断,对部分结构体变量使用原子操作

[utest][serial_v2] 更新测试用例

[components][at] 适配new serialv2不再判断RTT版本号

[components][at] 删除多余的中文注释

[utest][serial_v2] 添加交叉echo示例,qemu环境下专用

[bsp][qemu] 适配串口v2并开启fifo

[components][at] 修复合并导致的错误

[bsp][n32] 适配serial_v2,没有经过测试

[components][serial_v2] 格式化代码

[utest][serial_v2] 删除无意义的打印
2025-05-16 09:42:11 +08:00
zhujiale 9c164882e8 fix when open samrt but using msh after run elf file the msh will down 2025-01-20 15:09:02 +08:00
zhujiale e4760364f1 [serial] add bypass testcase in utest 2024-12-17 11:08:14 +08:00
zhujiale 27cf024585 [serial] add bypass hook to direct processing char when uart irq coming 2024-12-17 11:08:14 +08:00
PermissionDenied7335 92f26b7ad2 [drivers] fixed a minor typo in the comments of dev_serial_v2.c 2024-11-24 12:48:19 -05:00
CXSforHPU bb91502465 [drivers] Specifies the name of the drivers driver file
https://github.com/RT-Thread/rt-thread/pull/9420
2024-09-13 17:40:40 -04:00
Shell 3f6960b7f5 [smart/tty] skip configure of rt_serial on tty open (#9152)
Skip configure on open since all configs are copied from the current
configuration on device. So we don't bother to set it back to device
again.

Changes:

- test and skip configuration on open() of tty device

Signed-off-by: Shell <smokewood@qq.com>
2024-07-09 13:28:24 +08:00
LaterComer 4d0b048c97 [fixed]serial_v2.c兼容DFS_V2接口 (#9153) 2024-07-09 12:10:08 +08:00
wdfk-prog 28c7522e26 [drivers][serial V1]poll tx 增加异常退出机制 2024-06-27 00:11:18 +08:00
sp-cai f1832fea24 [components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)
整理 components/drivers 的 Kconfig
2024-06-16 15:43:27 +08:00
zms123456 adf2b35ec6 [component][driver]init dm serial naming framework in a separate phase (#8971)
init dm serial naming framework in a phase
2024-05-21 22:36:20 +08:00
Shell f2d6325b43 [smart] select console device dynamically (#8949)
* [smart] select console device dynamically

- Fixed compiler warning on terminal subsystem for
  `components/lwp/terminal/terminal.h`
- Updated default console setup to dynamically select an appropriate tty
  device based on the configured console device name.

Signed-off-by: Shell <smokewood@qq.com>

* fixup: remove useless codes

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-17 13:19:00 +08:00
zms123456 ed002bb84a [drivers][serial]fix error in getting serial_tty settings (#8953)
fix error in getting serial_tty settings
2024-05-16 15:36:16 +08:00
geniusgogo 79b3d5ec1e fix_serial_baudrate_set 2024-05-09 00:35:46 -04:00
geniusgogo 02e0334ac3 fix_serial_baudrate_set
Signed-off-by: geniusgogo <xpxyr@sina.com>
2024-05-07 19:03:14 -04:00
xiao-mang b586889216 fix baudrate error (#8873)
* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error
2024-04-29 18:00:34 +08:00
Shell 9e1a816f06 [smart] fix tty serial ioctl (#8861)
Using param callback to reduce unnecessary call.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-25 18:21:32 +08:00
Shell 732d32be09 [smart] fixup rt_hw_serial_unregister_tty of serial tty
Mutex lock should be taken before release the TTY device.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-20 11:35:45 -04:00
zms123456 a68b4df4d8 [component][driver][serial/tty]using serial name to name tty
当使用新device model时,serial的名字由系统分配,id也由系统分配,此时应根据系统分配的serial id来作为serial-tty的id
2024-04-15 23:20:30 -04:00
zms123456 6ad0b2bd09 [components][drivers]fix workqueue bug
fix workqueue bug
2024-04-15 23:15:37 -04:00
Shell 4b0f42c24a [drivers/serial] Introduce hooker for TTY (#8733)
In this patch, a hook list has been introduced to address the concerns
regarding coupling issues arising from modifications to the serial code
for integrating TTY logic.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-09 21:36:16 +08:00
zhao maosheng 687eb87a2b fix: code format of serial.c and compile error in aarch64 context_gcc 2024-04-02 08:07:21 -04:00
zms123456 d856f77a55 [components][drivers] fix posix tty, and add more baudrate (#8683)
* serial-tty fix

* v2
2024-04-01 21:23:04 +08:00
Shell 83e95bdff4 sync smart & dfs (#8672)
Signed-off-by: xqyjlj <xqyjlj@126.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-03-28 23:42:56 +08:00
Liu Yang 59dbebe6fc [components/driver] Fix issue for serial_V2 in no buffer bloking tx mode. 2024-03-20 02:28:35 -04:00
fangjianzhou 00c6800e4e [components/driver] update serial (#8567) 2024-03-01 10:29:21 +08: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
xqyjlj 3283f54c7a 🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
zan319 fce83488ec [serial_v2] 修复阻塞模式下中断发送的逻辑顺序问题与多线程下的竞态条件 (#7997) 2023-09-28 14:04:10 +08:00
xiao-mang befa951451 modify some function prototypes of the dfs_file_ops structure and the function declarations based on it (#7849) 2023-07-24 09:12:35 +08:00
sp-cai 75f65b6af6 [components][drivers][serial] serial.c 修复串口有时重复发送 '\r' 的问题 (#7767) 2023-07-07 23:52:32 -04:00
Bernard Xiong 99e80f8d33 [dfs] Add DFS v2.0 (#7606) 2023-06-10 21:35:25 +08:00