Skip to content
spg edited this page Mar 21, 2024 · 10 revisions

0. Revision History

版本号 内容 日期 负责人
0.1 开始编写,修改 latex 模板,确定大纲 2022.05.15 王彬浩
1.0 第一版 aCoral 入门引导编写完成 2022.06.12 王彬浩
1.1 word版本 2022.10.12 王磊
2.0 github wiki版本 2024.03.20 王彬浩

1. 概述

1.1 珊瑚(aCoral)简介

珊瑚(aCoral)是电子科技大学信息与软件工程学院嵌入式智能计算研究团队开发的一款嵌入式实时操作系统, 具有开源、高可配、高扩展性的特点。

嵌入式操作操作系统一般都是实时的,但是如何做到强实时是一个很棘手的问题,为强实时计算密集型应用(航空电子、舰载电子 „„)提供可靠运行支持是aCoral 开发的强力主线。目前 aCoral 提供了强实时内核机制(优先级位图法、优先级天花板协议、差分时间链、最多关中断时间)。与此同时,aCoral 还提供了强实时调度策略:RM调度算法,强实时确保策略也正在研究中。aCoral 会像珊瑚一样成长......

1.2 aCoral系统架构

aCoral-kernel由内核模块和外围模块两大部分组成。其中内核模块包含中断管理系统、内存管理系统、线程管理系统和线程交互系统;外围模块包括驱动管理、图形用户界面(GUI)、文件系统和网络模块(Net)。如图所示

内核模块中:

  • 中断管理系统负责响应并处理处理来自外部和内部的所有中断(异常),例如时钟中断、按键中断等;
  • 内存管理系统负责SDRAM内存管理,包括内存的分配、回收算法的实现;
  • 线程管理系统包括线程调度机制和线程调度策略两个部分,负责创建、挂起、杀死线程等操作以及按照何种策略来调度线程;
  • 线程交互系统包括互斥量、信号量、邮箱、消息队列等线程间交互机制。

外围模块目前aCoral暂时删除了文件系统、GUI,驱动管理和Net(LWIP)正在重新构建。

1.3 aCoral文件结构

  • doc : 文档
    • old : 早期文档
    • pic : wiki的图片
    • html : doxygen文档
    • Doxyfile : doxygen配置
  • include
    • acoral.h : aCoral对外总头文件,user文件夹下的用户应用通过包含该头文件,来使用aCoral提供的机制
    • autocfg.h : aCoral配置文件,本来是用于menuconfig图形界面配置aCoral的,现在没有图形界面了,只能手动配置
  • src
    • driver : 外围模块中的驱动,存放系统的驱动程序
    • hal(Hardware Abstract Layer) : 内核模块的硬件抽象层,将不同SOC抽象成一致的接口给kernel使用。
    • kernel : 内核模块的核心
      • include: 内核的头文件目录
      • src: 内核的源码目录
    • plugin : 外围模块(除driver),比如文件系统,GUI,LWIP等等。
    • lib : 库目录。
    • user : 用户程序目录。
      • user.c 中的 user_main 是用户程序的入口函数,可以在这个函数里添加自己的应用。
    • test : 测试文件目录。主用用于内部测试。

2 aCoral 项目成员

2.1 aCoral 早期版本项目成员

姓名 主要贡献
廖勇 项目创建人及总负责人
申建晶 内核框架设计及实现,GUI 系统
闫志强 内核线程交互开发及 TCP/IP 协议栈
孔帅帅 多核支持及中断系统
高攀 文件系统开发,H.264 在 ARM11 的多核优化
陈旭东 多核调度、实时性确保、多核实时控制
刘晓翔 开发环境及驱动模块
杨茂林 强实时调度算法研究及实现
王小溪 系统测试及性能确保、应用程序
魏守峰 系统测试及性能确保、应用程序
任艳伟 内核实时性确保
程潜 内核实时性确保
程勇明 内核实时性确保
汪琳玫 功耗管理
周强 驱动模型设计及自有图形系统开发
许斌 操作系统配置工具开发
袁霞 调度算法
江维 可信调度、功耗管理
李波 操作系统移植
张海斌 多核中断支持
钟太聪 多核调试器
彭东脉 多核调试器
Mugundhan balaji H.264 多核支持
Subhajit Banerjee Purnapatra 多核调试器
孙康 内存管理
王云飞 内存管理
郭治姣 操作系统移植
韩炫 操作系统移植
文秀春 操作系统移植
刘坚 操作系统移植
龚俊儒 操作系统移植
李天华 操作系统移植
郭文生 多核形式化验证
刘洋 应用程序
熊光泽 技术指导
桑楠 技术指导
雷航 技术指导
罗蕾 技术指导
李允 技术指导
陈丽蓉 技术指导

2.2 aCoral 现有项目成员

姓名 主要贡献
杨茂林 项目负责人
王彬浩 代码编写、文档编写
胡博文 代码编写
王若宇 代码编写
贾苹 代码编写
高久强 代码编写
文佳源 代码编写

Clone this wiki locally