傻瓜实现FreeRTOS 系统 如果你 1. 希望修改FreeRTOS 源代码 2. 移植实时内核到另一个微控制器或者原型板(prototyping board) 3. 第一次接触FreeRTOS,希望得到关于它们在操作和实现上的更多信息 这些文档会有用
本文档分为两个章节: 1
基本原理和RTOS 概念 包括多任务的背景信息和基本实时概念,这是为初学者准备的(is intended for beginners) 2
从底向上(from the bottom up)解释实时内核源代码 FreeRTOS 实时内核已经移植到许多不同的微控制器架构下
这份文档是以 Atmel AVR 为范例,因为: 1
AVR 架构简单 2
有免费可用的开发工具 WinAVR (GCC) development tools
非常便宜的原型板STK500 prototyping board 在本文的最后,还一步一步地详细描述了一个完整的上下文切换(context switch)
RTOS 基本原理 多任务 调度 上下文切换 实时应用 实时调度 这一节提供一个关于实时和多任务概念的简介
读下一节之前必须理解这些概念
多任务(Mu ltitasking) 在一个操作系统内部,内核[kernel]是最核心的部件
像 Linux 那样的操作系统使用的内核,从表面上看(seemingly),允许用户并发(simultaneously)访问 计算机
多个用户似乎(apparently)可以并行(concurrently)执行多个程序
在操作系统的控制下,每个正在执行的程序就是一个任务[task]
如果一个操作系统能够以这种方法执行多个任务,这就叫做多任务[multitasking]
多任务操作系统的使用可以简化应用程序的设计: 1. 操作系统的多任务和任务间通信的机制允许复杂的应用程