RT-Thread / RT-Thread/rt-thread

[Feature][stm32][drv_serial_v2] 串口支持硬件fifo?

Open
#9,128 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
12.2k
Forks
5.4k
Avg merge
4d 12h
Merged PRs (30d)
40

Description

Describe problem solved by the proposed feature

在finsh开到较高的波特率(比如2M)时,串口驱动(serial_v2)可能会来不及接收连续的数据(比如上键,\x1B\x5B\x41)导致overrun的问题,即使我使用的是480M的H750并将中断所用到的函数放入了itcm。
image

考虑到现在很多新的STM32都带了硬件FIFO,我在初始化完后使能硬件FIFO,finsh就可以顺利的接到上了
image
image
image

未来会考虑为STM32的串口驱动加入硬件FIFO吗

Describe your preferred solution

No response

Describe possible alternatives

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the STM32 serial_v2 driver and its initialization path, then check how hardware FIFO support differs across the STM32 variants involved. Reproduce the high-baud-rate input case described for finsh and determine the driver behavior needed to avoid overrun. Done means the supported hardware FIFO is enabled safely and continuous input no longer loses data.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
embedded-iot, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.