Day1,初始工程创建,flag1的切换。
Day2,内核编程,用pendSVC触发异常,在异常处理函数中保存R4~R11到缓冲区,在恢复,模拟任务切换时的寄存器保护与恢复。
Day3,任务的定义与切换,任务的含义,切换的原理,堆,栈,数据,代码区(各部分作用与分配),任务切换本质,保持前一任务当前运行状态,恢复后一任务之前的运行状态(要保存的值)。
Day4,任务切换的实现与分析。
Day5,上一版本通过任务中的任务切换函数实现任务切换,这一版采用时间片的方式自动切换任务。
Day6,解决任务空延时的问题,提供一个函数延时接口,使得延时过程中可放弃CPU转而运行其他任务,计时器与硬件定时器。
Day7,临界区,解决多任务同时访问导致冲突的问题。
Day8,调度锁,在不关中断的情况下对任务进行保护。后续,多任务与优先级。
Day9,位图数据结构学习。
Day10,多优先级任务的编写,不足:一个任务只能占用一个优先级,能否多个任务使用一个优先级?
Day11,双向链表建立与增删查改。
Day12,任务延时队列
Day13,多个任务占用一个优先级。
Day14,任务的挂起与唤醒。
Day15,任务的删除。
Day16,任务状态查询。
Day17,事件控制块。
Day18,事件等待与通知。
Day19,事件控制块的清空与状态查询。
Day20,计数信号量的原理与初始化。
Day21,计数信号量获取与释放。
Day22,计数信号量的删除与状态查询。
Day23,TinyOS邮箱的原理与创建。
Day24,邮箱的获取与释放。
Day25,邮箱的清空与删除。
Day26,邮箱状态查询。
Day27,存储块的原理与创建。
Day28,存储块的获取与释放。
Day29,存储块的删除与状态查询。
Day30,事件标志组初始化。
Day31,事件标志组等待与通知。
Day32,时间标志位的删除与状态查询。
Day33,互斥信号量的原理与创建。
Day34,互斥信号量的等待与通知。
Day35,互斥信号量的删除与状态查询。
Day36,软定时器的原理与创建。
Day37,软定时器的启动与停止。
Day38,软定时器的删除与状态查询。
Day39,堆栈使用量测量。
Day40,CPU使用百分比测量。
Day41,内核裁剪。
Day42,Hooks扩展。
Day43,程序移植,修改晶振频率。
-
Notifications
You must be signed in to change notification settings - Fork 0
iProgramming-embedded/RTOS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
A real-time operation system about MCU(imitative writing)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published