[嵌入式系统-17]:RT-Thread -3- 源代码目录结构

目录

前言:功能模块

一、RT-Thread 源代码目录结构

二、支持的CPU架构

三、SRC内核代码


前言:功能模块

一、RT-Thread 源代码目录结构

从RT-Thread的GitHub官网上面下载了内核源码,下载链接如下
https://github.com/RT-Thread/rt-thread/tags

解压出压缩包后主目录下如下:

目录说明
github打开里面只有一个readme文件,可以删除;
bsp顾明思议,是包含了很多平台的扳级支持包,留一个自己有用的就可以;
componentsRT-Thread外部组件代码,如Finsh、Lwip、文件系统;
documentation一些介绍性的文档,包括其代码风格 ;
examples各种示例应用程序的示例代码,是很好的学习素材 ;
include一些.h头文件;
libcpu各类CPU芯片/内核的移植代码,比如STM32 ;
srcRT-Thread内核代码文件;
tools使用 scon 自动化创建工具时需要的一些文件;
.gitattributes有关git的一个文件,不过多讲述;
.gitignore有关git的一个文件,不过多讲述;
.travis.yml有关git的一个文件,不过多描述;
AUTHORS开发者贡献信息;
ChangeLog.md该版本和该版本之前的变更日志 ;
Kconfig对内核和组件的功能进行配置,对组件进行自由裁剪;
License类似于许可证的存在;
README.md关于RT-Thread英文版说明;
README_zh.md关于RT-Thread中文版说明。

RT-Thread 的源代码目录结构主要包括以下几个主要部分:

  1. BSP(Board Support Package):该目录下包含了具体硬件平台的支持代码,每个硬件平台都有一个对应的 BSP 目录。在该目录中,通常包含了启动文件、时钟配置、中断管理、外设驱动等与硬件相关的代码。

  2. Libcpu:该目录包含了与具体处理器平台相关的代码,包括处理器的寄存器定义、中断处理机制等。

  3. Components:该目录下包含了 RT-Thread 提供的各种功能组件和功能模块,例如文件系统(FS)、网络协议栈(Net)、GUI 界面库(GUI)、TCP/IP 协议栈(lwIP)、USB 支持库等。开发者可以根据需求选择并集成相应的组件。

  4. Examples:该目录下包含了一些应用示例程序,演示了如何使用 RT-Thread 的各种功能和组件。这些示例程序对初学者来说是非常有用的参考。

  5. src/Kernel:该目录是 RT-Thread 操作系统内核的核心代码所在位置。它包含了线程管理、任务调度、内存管理、中断管理、时钟管理等与操作系统相关的代码。

  6. src/RT-Thread:该目录包含了 RT-Thread 系统的核心代码和头文件,包括内核初始化、任务调度、时间管理、线程操作等。

  7. Tools:该目录下包含了一些工具和脚本文件,用于编译和调试 RT-Thread 系统。

此外,还有一些其他的目录和文件,用于存放配置信息、编译工具链、编译输出等。

二、支持的CPU架构

RT-Thread RTOS 支持许多架构,并且已经涵盖了当前应用中的主要架构。

涉及的架构和芯片制造商有:

  • ARM Cortex-M0/M0+:如芯片制造商 ST

  • ARM Cortex-M3:如芯片制造商 ST、全志、灵动等.

  • ARM Cortex-M4:如芯片制造商 ST、Nuvton、NXP、GigaDevice、Realtek、Ambiq Micro 等

  • ARM Cortex-M7:如芯片制造商 ST、NXP

  • ARM Cortex-M23:如芯片制造商 GigaDevice

  • ARM Cortex-R4

  • ARM Cortex-A8/A9:如芯片制造商 NXP

  • ARM7:如芯片制造商 Samsung

  • ARM9:如芯片制造商 Allwinner、Xilinx 、GOKE

  • ARM11:如芯片制造商 Fullhan

  • MIPS32:如芯片制造商 loongson、Ingenic

  • RISC-V:如芯片制造商 Hifive、Kendryte

  • ARC:如芯片制造商 SYNOPSYS

  • DSP:如芯片制造商 TI

  • C-Sky

  • x86

三、SRC内核代码

在 RT-Thread 源代码中,src 目录是其中一个主要目录,它包含了 RT-Thread 操作系统的核心代码。src 目录通常包括以下几个子目录:

  1. rt-thread:该目录包含了 RT-Thread 操作系统的核心代码,包括任务管理、线程调度、中断处理、内存管理、定时器管理等与操作系统运行相关的功能。

  2. components:内部组件,该目录包含了 RT-Thread 提供的各种功能模块和组件的源代码。例如文件系统、网络协议栈、GUI 界面库、USB 驱动等。开发者可以根据需要选择并集成适合的组件。

  3. device:该目录包含了设备驱动相关的源代码。每个子目录通常对应一种设备类型,例如串口设备、以太网设备、SPI 设备等。在这些子目录中,你可以找到设备驱动的初始化、读写函数等与设备操作相关的代码。

  4. libcpu:该目录包含了与具体处理器平台相关的源代码文件,用于支持 RT-Thread 在不同处理器平台上的移植和运行。

  5. sal:该目录包含了供应商抽象层 (System Abstraction Layer) 的源代码。这些代码提供了对底层硬件的访问接口,支持 RT-Thread 在不同的硬件平台上进行移植和使用

  6. user:该目录是用户自定义的目录,用于存放用户自己开发的应用程序和功能模块。

  7. finsh:该目录包含了 RT-Thread 的命令行 shell 组件 FinSH 的源代码。FinSH 提供了一个交互式的命令行界面,使用户能够通过命令行与 RT-Thread 进行交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值