本帖最后由 acoral 于 2010-9-22 10:01 编辑
aCoral:A small Coral,珊瑚的特性正是aCoral追求的目标。
aCoral是电子科技大学计算机学院嵌入式实时计算实验室开发的一款嵌入式多核实时操作系统,开源,支持多核(SMP:Symmetry Multiple Process)的嵌入式实时操作系统,具有高可配,高扩展性。
目前,aCoral包括五大模块:
(1)内核:自主编写
(2)轻型TCP/IP(LWIP):由LWIP移植而来
(3)GUI (TLGUI):改自开源的嵌入式Linux图形系统LGUI
(4)文件系统:在zlg文件系统上进行了大量优化而来
(5)简单应用:(网页服务器,Telent服务,文件操作,GUI图形,测试等)
aCoral支持多线程模式,其最小配置时,生成的代码为7K左右,而配置文件系统,轻型TCP/IP,GUI后生成的代码仅有300K左右。目前,aCoral支持各种ARM系列处理器:Cortex-m3, ARM7, ARM9,ARM11,以及ARM11MPCORE四核平台(链接)。同时,为了方便没有开发板的用户体验aCoral,其模拟版本可以在运行Linux的PC中作为应用程序运行,这种模式可以体验aCoral的所有功能,包括内核、文件系统、GUI,该模式支持单核和多核。
aCoral的核心定位:多核,强实时。
多核:目前,aCoral只支持同构多核,对于异构多核的支持,aCoral保留了相关机制和接口,用于以后扩展。
强实时:嵌入式操作操作系统一般都是实时的,但是如何做到强实时是一个很棘手的问题,为强实时计算密集型应用(航空电子、舰载电子……)提供可靠运行支持是aCoral开发的强力主线。目前aCoral提供了强实时内核机制(优先级位图法、优先级天花板协议、差分时间链、最多关中断时间)。与此同时,aCoral还提供了强实时调度策略:单核和多核的RM调度算法,由于多核情况下的RM算法的复杂性,目前只支持简单环境下多核RM调度,RM调度算法在多核情况下的其它问题正在研究和解决中。此外,其他多核强实时确保策略也正在研究中。
此外,我们编写了大量的文档,对于嵌入式新人具有很大的入门指导意义,现在大家非常熟悉的嵌入式操作系统ucos那本书,它重点讲解了内核部分,对于底层移植,虽然它也花了很大篇幅讲解,但我想很多人仍然不知从何入手,也不知移植后的完整代码是怎样的?aCoral可以给你更好的选择。官方网站:www.acoral.org
aCoral对于主流的开发平台都有支持,像s3c2440,s3c2410,s3c44b0,lpc2313,lpc2200,stm3210,同时支持ARM11多核平台pb11mpcore,还有两个PC虚拟平台emu-single,emu-cmp,只要你有一台运行Linux的PC机,你就可以学习,运行,调试aCoral。同时文档中讲解的移植模板更是给想做移植的人一个动手实践的方向,任何人都可以参照代码,写出自己的内核。尤其是多核,大家对多核可能都有所了解,但是嵌入式多核估计就了解的少了,对应的多核操作系统就更少了,aCoral源码及附带文档能让你深入了解多核,最后你会发现,多核其实就是那么一回事。
官方网站:www.acoral.org
|