首先看看一级目录的大致内容:
/aclocal:该目录存放了autoconf使用的M4宏,这些宏在定制rtems,为不同硬件体系产生不同目标文件过程中起着重要作用
/c:文件正对不同的主板、cpu和芯片的代码,保证了可移植性
/cpukit:是rtems的库文件,比如tcp/ip的协议栈libnetworking,以及与硬件无关的操作系统核心代码。
/doc:存放各种文档
/make:makefile的配置文件,例如make/custom子目录中每个.cfg文件都对应了一个bsp的编译器配置选项,包括处理器模式、编译选项等。
/tools:专用工具
/testsuites:自带的测试用例
上述目录中。/cpukit和/c目录中包括了rtems大部分代码,其中/cpukit下存放了rtems的主要内核代码:
/cpukit/include:内核代码的头文件
/cpukit/itron:ITRON API的实现代码
/cpukit/libblock:使用块设备(硬盘、cd等)所需的库文件实现代码
/cpukit/libfs:文件系统的实现代码,包括fat、minimfs
/cpukit/libnetworking:移植到rtems的bsd tcp/ip代码实现
/cpukit/librpc:移植到rtems的freebsd rpc/xdr的源代码
/cpukit/posix:posix api 的rtems实现
/cpukit/rtems:rtems classic api的实现
/cpukit/score:核心代码,各种api 都是基于这里的代码实现的
/cpukit/wrapup:将用户需要的库文件打包成单一的rtems库librtemscpu.a,该库包含了所有的目标嵌入式处理器模块与bsp
/c/src包含了支持各种cpu和板支持包bsp代码
/c/src/lib/libbsp:bsp源码
/c/src/lib/libcpu:各种类型cpu相关源码
/c/src/libchip:包含了各种外设芯片的驱动源码
/c/src/libnetworking:rtems网络部分源码,包括telnet http服务等