# rt_thread_repo **Repository Path**: Harrypotter-zhs/rt_thread_repo ## Basic Information - **Project Name**: rt_thread_repo - **Description**: 一些驱动或者备份文件。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2023-03-13 - **Last Updated**: 2023-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rt_thread_repo ### 介绍 这里放着我在 rt-thread 项目里使用过的,或者修改过的驱动、内核、第三方组件等备份文件,都是经过测试可用的。 > 本仓库大部分修改,在官方论坛有讲解文章 1. [rt-thread STM32F4 usbhost 调试笔记](https://club.rt-thread.org/ask/article/2878.html) 1. [rt-thread 系统启动及 SysTick 初始化流程优化可行性分析](https://club.rt-thread.org/ask/article/2881.html) 1. [rt-thread 系统优化系列(一) 之 关中断](https://club.rt-thread.org/ask/article/2931.html) 1. [rt-thread 系统优化系列(二) 之 线程间同步和通信对中断的影响](https://club.rt-thread.org/ask/article/2939.html) 1. [rt-thread 系统优化系列(三) 之 软定时器](https://club.rt-thread.org/ask/article/2967.html) 1. [rt-thread 系统实战系列(一) 之 在系统调试利器](https://club.rt-thread.org/ask/article/3097.html) 1. [elm FatFS 升级到 R0.14b](https://club.rt-thread.org/ask/article/3033.html) ### 目录结构 - bsp/stm32 目录下存放的是在 stm32f429 芯片上测试过的一些 bsp 驱动。 - usbhost USB 主机驱动。 - rt-thread 系统核心代码。 - lwip 裁剪 ext rxt 两个线程时发现的几个bug。 - user od_cmd 命令簇实现 #### bsp/stm32 其中,abandon 里是官方舍弃的驱动框架; mtd_drv 里有两种 nand flash 的 mtd 设备实现; 1. drv_mtd_nand.c 和 drv_mtd_nand.h 使用的 3.1.4 (含)之前的 mtd 设备框架 2. mtd_nand.c mtd_nand.h 是 3.1.5 之后,包括 4.x 版本,目前使用的 mtd 设备框架。 3. nand_mt29f4g08.c nand_mt29f4g08.h 两个文件是 mt29f4g08 型号 nand flash 在新 mtd 设备框架下的驱动实现。 如果需要,请使用新版 mtd 设备框架,移植到 3.1.4 也没问题。**需要注意的是:需要使用我的仓库提供的 yaffs2 ,这个是适配了 rt_mtd_nand_device 设备的** ----- usb_drv 是 usbhost 驱动,修改过 bug 和性能改进 STM32F4xx_HAL_Driver 修改了部分 hal 文件,去掉对 SysTick 的依赖。满足对于在系统调度器启动前需要延时的需要。 #### usbhost 仅包含 rt-thread 的 usbhost 优化后源码。其它文件请优先使用官方提供的。 特别说明: usbhost/class/mass.c 文件的 rt_usb_bulk_only_xfer 函数调用第二个 rt_usb_hcd_pipe_xfer 函数前后,我添加了个延时,这个延时针对不同的 U盘或者读卡器要求不一样。可以根据实际情况修改 wr_delay 延时时间。 #### rt-thread 仅包含内核部分,不包括组件。 升级到 4.0.4 —— 2021/11/03 #### lwip 裁剪 lwip 过程中发现的,定义 LWIP_NO_TX_THREAD LWIP_NO_RX_THREAD ,不使用 lwip 收发线程代码有缺陷。里面存放是修改后的文件。 #### od_xxx user 目录下是在系统调试工具,可以查看打印出任意范围内内存值;比 rtt 自带的 list_xxx 工具更详细显示内核对象的细节信息;可以分类显示内核对象列表所有节点对象详细信息,list 不止 prev next 指针! #### 待补充