LaterComer

Results 6 issues of LaterComer

## 拉取/合并请求描述:(PR description) [ #### 为什么提交这份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。 ```c /* If not...

v5.1.0

增加了pyproject.toml配置代码格式化;解决setup.py在linux中安装存在问题;cmd_package中所有路径通过命令行输入,代码中不再进行路径拼接

struct optparse结构体原始定义里面没有argc,optparse()函数根据option==0来判断argv[]是否解析结束了,这样是判断会存在隐患 ```c int optparse(struct optparse *options, const char *optstring) { int type; char *next; char *option = options->argv[options->optind]; options->errmsg[0] = '\0'; options->optopt = 0; options->optarg = 0; if (option...

## 拉取/合并请求描述:(PR description) [ #### 为什么提交这份PR (why to submit this PR) 目前通过pip安装env工具链的时候会自动安装kconfiglib,因此tools/kconfiglib可以删除了 #### 你的解决方案是什么 (what is your solution) 删除tools/kconfiglib文件夹,同步修改tools/building.py中,将tools/kconfiglib从sys.path移除 #### 请提供验证的bsp和config (provide the config and bsp) - BSP: - .config:...

- 将env中有关版本的字符串统一调整为v2.0.0 - 在readme.md和env.py中增加2.0版本信息告警,说明只能全工程支持rtt 5.1.0以上版本,效果如下 ![Snipaste_2024-07-10_13-23-03](https://github.com/RT-Thread/env/assets/12015333/8c83c914-6d29-4d0b-8699-80bace9666d1)

### RT-Thread Version master ### Hardware Type/Architectures all ### Develop Toolchain Other ### Describe the bug 在启用RT_USING_DFS_V2情况下,假设设备uart0作为串口终端(shell console),正在调用[dfs_file_read()](https://github.com/RT-Thread/rt-thread/blob/b171877139c63db6346b00b33c09f5a5651dbd25/components/dfs/dfs_v2/src/dfs_file.c#L762)读取数据时候,或者在serial_fops_read()函数被rt_wqueue_wait挂起的时候。 如果此时调用sys_dup2(fd, 0)函数,将会关闭uart0并更新dfs_fdtable,**也就是说在dfs_file_read执行过程中file指针被修改了!!!** ``` fdt->fds[0] = fdt->fds[fd]; ``` 具体解释见下面的dfs_file_read()函数 ```c /* fpos lock...

component: dfsv2