SylixOS ARM BSP 文件结构

ARM 342浏览

SylixOS 是国人自己开发的开源实时操作系统,该系统符合 IEEE1003 POSIX 操作系统规范,功能强大开发便利,系统主页:www.sylixos.com

此篇博客为 SylixOS BSP 编写连载的第一篇,力求以深入浅出的方法介绍 SylixOS ARM BSP 的编写方法。

SylixOS BSP 分为两大部分:

  1. 基础支持程序

  2. 驱动程序

其中【基础支持程序】主要是实现系统的启动流程与硬件板最基础的功能实现,示例中断控制器管理,TICK 定时器管理,初始内存映射管理等等。【驱动程序】主要是实现操作系统对外部设备的管理。

此篇博客主要介绍 SylixOS BSP 文件的构成。SylixOS BSP 可通过 RealCoder(SylixOS 集成开发环境,可点击这里申请下载)创建,创建出来的 BSP
模板分为三个文件夹:bsp、driver、user。

  1. bsp 文件夹下的文件对应的就是【基础支持程序】;

  2. driver 文件夹下的文件对应的就是【驱动程序】;

  3. user 目录为 t_main 内核线程实现,可以根据项目需要加入自己的代码。

bsp 文件夹下存在至少 5 个源文件,他们分别是:config.h、startup.S、bspInit.c、bspLib.c、bspMap.h。当然 SylixOS 并不严格规定 BSP 必须这样写,只是长期以来形成的习惯。

  1. config.h 文件包含板子的基本配置情况,如果本 bsp 包含对多种板子的支持,则可以在 bsp 目录下再建立一些针对各种板子的文件夹,具体方法可参考TI 335x BSP 点击下载

  2. startup.S 文件是系统的启动入口。

  3. bspInit.c 文件是 bsp 初始化入口,其中初始化函数为 bspInit(),此函数会被 startup.S 文件调用。

  4. bspLib.c 文件是【基础支持程序】主要实现部分,包括中断管理,TICK 初始化等等。

  5. bspMap.h 文件是操作系统内存布局设置与初始映射配置。

driver 文件夹下就是【驱动程序】的实现,内部分为很多子文件夹,每一个文件夹都是指定设备的驱动程序,示例 uart (或者 sio tty 等)是代表串口的驱动程序。这个在以后的博客中将会介绍具体的驱动程序编写方法。

user 目录包含 t_main.c 文件,系统完成所有的初始化后进入多任务模式,其中 t_main 是 BSP 创建的内核任务,SylixOS 既可以像 Linux 一样动态装载用户进程,也可以像其他小型 RTOS 一样直接将用户应用程序和 BSP 一起编译,运行在内核空间,如果选择将应用程序和 BSP 一起编译,t_main 任务可以认为是用户应用程序的入口,不过 SylixOS 还是不推荐这种方法,SylixOS 推荐开发者像使用 Linux 或者 Windows 一样,将指定的应用编译成独立进程,通过
SylixOS 装载器动态装载执行,方便升级与调试。

(此篇完)

文章转载出处:http://hanhui03.blog.51cto.com/10427533/1663454