没有合适的资源?快使用搜索试试~ 我知道了~
首页CooCox CoOS用户手册
资源详情
资源评论
资源推荐
CooCox CoOS 用户手册
修正版 1.1
2009 年 8 月
www.coocox.org
目录
1 概述 ........................................................................................... 1
1.1 关于 CooCox CoOS ............................................................... 1
1.2 CooCox CoOS 入门指南 .......................................................... 3
2 任务管理 ..................................................................................... 9
2.1 任务 ................................................................................... 9
2.2 任务状态 ............................................................................10
2.3 任务控制块 ..........................................................................11
2.4 任务就绪链表 .......................................................................14
2.5 任务调度 ............................................................................15
2.6 临界区 ...............................................................................17
2.7 中断 ..................................................................................18
3 时间管理 ....................................................................................19
3.1 系统节拍 ............................................................................19
3.2 延时管理 ............................................................................21
3.3 软件定时器 ..........................................................................22
4 内存管理 ....................................................................................24
4.1 静态内存分配 .......................................................................24
4.2 动态内存分配 .......................................................................25
4.3 堆栈溢出检查 .......................................................................29
5 任务间的同步与通信........................................................................30
5.1 任务间的同步 .......................................................................30
5.2 任务间的通信 .......................................................................35
6 API 手册 .....................................................................................38
6.1 系统管理 ............................................................................38
6.2 任务管理 ............................................................................44
6.3 时间管理 ............................................................................55
6.4 软件定时器 ..........................................................................59
6.5 内存管理 ............................................................................66
6.6 互斥区域 ............................................................................73
6.7 信号量 ...............................................................................76
6.8 邮箱 ..................................................................................83
6.9 消息队列 ............................................................................92
6.10 事件标志 ......................................................................... 101
6.11 系统工具 ......................................................................... 113
6.12 其它 .............................................................................. 116
CooCox CoOS 用户手册
1
1 概述
1.1 关于 CooCox CoOS
CooCox CoOS 是一款针对 ARM Cortex-M 系列芯片而设计的实时系统内核。
1.1.1 CooCox CoOS 特征
n Cortex M 系列微控制器定制
n 免费及开源的实时系统内核
n 高度可裁剪性,最小系统内核仅 974Byte
n 自适应任务调度算法
n 支持优先级抢占和时间片轮转
n 零中断延时时间
n 信号量、邮箱、队列、事件标志、互斥等同步通信方式
n 堆栈溢出检测
n 支持多种编译器:ICCARM, ARMCC, GCC
1.1.2 CooCox CoOS 的技术特性
表 1.1.1 时间特性
功能
时间 (无时间片轮转/有时间片轮转)
创建已定义的任务(无任务切换)
5.3us / 5.8us
创建已定义的任务(有任务切换)
7.5us / 8.6us
删除任务 (退出任务)
4.8us / 5.2us
任务切换 (切换内容)
1.5us / 1.5 us
任务切换 (在设置事件标志的情况下)
7.5us / 8.1us
任务切换 (在发送信号量的情况下)
6.3us / 7.0us
任务切换 (在发送邮件的情况下)
6.1us / 7.1us
任务切换 (在发送队列的情况下)
7.0us / 7.6us
设置事件标志 (无任务切换)
1.3us / 1.3us
发送信号量 (无任务切换)
1.6us / 1.6us
发送邮件(无任务切换)
1.5us / 1.5us
发送队列(无任务切换)
1.8us / 1.8us
IRQ 中断服务程序的最大中断延迟时间
0 / 0
CooCox CoOS 用户手册
2
表 1.1.2 空间特性
描述 空间
内核占 RAM空间
168 Bytes
内核占代码空间
<1KB
一个任务占 RAM 空间
TaskStackSize + 24 Bytes(MIN)
TaskStackSize + 48 Bytes(MAX)
一个邮箱占 RAM 空间
16 Bytes
一个信号量占 RAM 空间
16 Bytes
一个队列占 RAM 空间
32 Bytes
一个互斥体占 RAM 空间
8 Bytes
一个用户定时器占 RAM 空间
24 Bytes
1.1.3 支持的器件(所有 Cortex M0 & Cortex M3系列,以下仅列出常用的)
n ST STM32 系列
n Atmel ATSAM3U 系列
n NXP LPC17xx LPC13xx LPC11xx 系列
n Toshiba TMPM330 系列
n Luminary LM3S 系列
n Nuvoton NUC1xx 系列
n Energy Micro EFM32 系列
1.1.4 源码下载
如果你想要了解更多关于 CooCox CoOS,你可以从如下网站下载 CooCox CoOS 的源
代码:
www.coocox.org
CooCox CoOS 用户手册
3
1.2 CooCox CoOS 入门指南
本节介绍 CooCox CoOS 的使用,这里我们使用 Keil 公司的开发利器 Keil RealView
MDK开发工具和 NXP公司的 EM-LPC1700 开发板做一个很简单的基于CoOS的 demo。
有关 Keil 公司,您可以访问相应的网站了解更多详情:
Keil : www.keil.com
我们这里假定您已经会使用 Keil RealView MDK 进行简单的开发和基本的设置。下面
为您介绍的是这样一个简单的实例,实例中包括三个任务:
led :用于 8 个 LED 的循环闪烁,并按固定的间隔时间设置标志来激活另外两个任
务;
taskA:循环等待任务标志 a_flag 到来,然后通过串口 1 打印 taskA;
taskB:循环等待任务标志 b_flag 到来,然后通过串口 1 打印 taskB;
总 体 现 象 是 , 评 估 板 上 的 8 个 LED 每 0.5 秒 变 动 一 次 , 变 动 顺 序 为
LED0àLED1àLED2à…àLED6àLED7àLED0àLED1à…,串口每 0.5 秒打印一次信
息,依次打印:
taskA is running
taskB is running
…
LED 与 GPIO 的对应关系为:
LED0 ßà P1.28
LED1 ßà P1.29
LED2 ßà P1.31
LED[3…7] ßà P[2.2...2.6]
若您在 MDK 模拟器上使用,将会得到如下运行结果:
P1.2.1 GPIO 引脚电平变化
剩余118页未读,继续阅读
ymxl0826zz
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6