一个自制的树莓派操作系统, OS one 这个名字来自于电影 《Her》
- 提供GPIO处理函数.
- GUI界面,有窗体demo, 窗体可对鼠标操作做出相应.
- 默认分辨率 1440 × 900 .
- 可显示bmp 24位色(true color)图片.
- 支持鼠标键盘输入设备.
- 多任务,默认最多16个任务.
- 时间片轮转调度.
- 任务间通信
- 任务阻塞, 挂起
- 支持动态申请内存.
- 系统最多支持255个timer定时器
- 支持UART通信
硬件: Raspberry Pi B+ (其他版本树莓派没有测试)
Host : Linux version 3.13.0-44-generic (buildd@lamiak) #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014
工具链:arm-none-eabi-
V4.8.2
###kernel.img
make
= make kernel.img
-编译最终产生的 kernel.img
make clean
-清理项目
make install
-将kernel.img 复制到sd卡, 复制之前确认请修改Makefile里的设备名称和路径
###minocom for OS One
树莓派输入设备(鼠标键盘)用串口通信,所以必须运行串口程序
先make
,然后make install
<千万不要./configure
!!!>
- 接上树莓派串口线, 两个LED灯分别连接到GPIO16和GPIO19。这两个等会显示内核状态信息(不接这两个LED不影响系统运行)
- 编译运行 minocom for OS One ,
- 编译kernel.img 并复制到sd卡,覆盖原来的kernel.img (原来的kernel.img 要备份)
- 加电运行
- 可以试着移动鼠标,拖动窗口
- 屏幕左上角显示Task1 和 Task2 的通信状态
- 屏幕右上角显示四个Timer的状态
- 窗口显示kernel status 。 分别有任务栈适用情况,鼠标键盘状态,空闲堆内存大小
- 可以试着按键, 窗口上input status 中的key 会显示按键的ASCII码
- 移动鼠标, 单机右击窗口都有显示
##参考资料
- 《操作系统设计 Xinu方法》
- 《30天自制操作系统》
- 《嵌入式实时操作系统uc/os III》
- 《linux内核设计的艺术》
- 《Linux 0.01内和分析与操作系统设计》
项目主页:OS One主页
github(国外) : https://github.com/iBreaker/OS-ONE.git
coding.net(国内): https://coding.net/breaker/OS-ONE.git
Breaker
791628659@qq.com
2015-03-12 15:05:14