SylixOS 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 目录下再建立一些针对各种板子的文件夹。
  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 装载器动态装载执行,方便升级与调试。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值