Skip to content

[Bug] POSIX_STDIO 选项导致 CONSOLE 换行功能失效 #11091

@FuHW

Description

@FuHW

RT-Thread Version

v5.2.2

Hardware Type/Architectures

AT32F403A

Develop Toolchain

MDK Keil

Describe the bug

正常场景

  1. 配置console使用的uart外设,使用 Serial_V2,同时使能 RT_USING_POSIX_FS 和 RT_USING_POSIX_DEVIO
  2. 编译工程,在终端中一直回车,终端 prompt 正确换行

异常场景:

  1. 在正常场景下使能 RT_USING_POSIX_STDIO,编译下载后,在终端中一直回车,终端 prompt 没有正常回到行首

Image

单步跟踪后发现状况如下:

  1. Console 初始化时 RT_DEVICE_FLAG_STREAM 被正确配置, _console_device.open_flag 值为 0x6048
  2. 在 rt_posix_stdio_init 的初始化过程中, _console_device.open_flag 被重新初始化为 0x5008
  3. 在 finsh_thread_entry 中,重新初始化 Console 的动作被 #if !defined(RT_USING_POSIX_STDIO) && defined(RT_USING_DEVICE) 阻断

Other additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions