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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions