uC/OS-II, RTEMS, VxWorks, etc.
【整理】Orange‘S-一个操作系统的实现
摘要:变来变去,动来动去,最终还是回到这里,做自己想做的事并把它做好!1. 虚拟机Bochs安装(1) 出现“ERROR: X windowsgui was selected, but X windows libraries were not found.” 解决办法:sudo apt-get install libx11-devxserver-xorg-devxorg-dev...
阅读全文
posted @
2010-06-04 22:57
白草黒尖
阅读(1621)
推荐(2)
【专题】uC/OS-II内核架构解析(7)---uC/OS-II应用开发
摘要:1.应用开发步骤 (1)包含uC/OS-II的总头文件includes.h; (2) 定义任务栈的大小和任务栈; (3) 分配任务优先级; (4) 实现任务功能; (5) 调用OSInit()函数初始化uC/OS-II的数据结构; (6) 创建用户任务,启动uC/OS-II;2. 编写任务函数 用户任务函数必须是无限循环,程序执行流由OS内核改变。在执行完用户代码后最好调用系统服务,主动把CPU使...
阅读全文
posted @
2010-05-11 15:54
白草黒尖
阅读(1413)
推荐(2)
【专题】uC/OS-II内核架构解析(6)---uC/OS-II内存管理
摘要:1.memPart基本原理uC/OS-II根据需要将内存空间分成多个内存分区,每个内存分区由具有相同大小的内存块(Block)组成。主要包含在C源文件OS_MEM.C中。OS_EXT OS_MEM OSMemTbl[OS_MAX_MEM_PART];OS_EXT OS_MEM *OSMemFreeList;memPart控制块结构体: typedef struct os_men{ void ...
阅读全文
posted @
2010-05-11 15:50
白草黒尖
阅读(1531)
推荐(1)
【专题】uC/OS-II内核架构解析(5)---uC/OS-II通信与同步
摘要:1. 消息邮箱Mbox Mbox用于多任务间单一消息的传递,uC/OS-II使用ECB管理Mbox的基本信息,OSEventPtr指向创建Mbox时指定的内存空间。事件的创建由具体的事件管理程序实现。主要包含在C源文件OS_MBOX.C中。OS_EVENT *OSMboxCreate(void *msg);void *OSMboxPend(OS_EVENT *pevent, INT16U time...
阅读全文
posted @
2010-05-11 15:29
白草黒尖
阅读(3198)
推荐(1)
【专题】uC/OS-II内核架构解析(4)---uC/OS-II任务管理
摘要:1.C可执行代码结构 (1)代码段.text:存放CPU执行的机器指令,通常.text是可共享且只读的。 (2)数据段.data:.rodata(常量数据)、.rwdata(已初始化全局变量、静态变量)。 (3)未初始化数据段.bss:未初始化的全局变量、静态变量。 (4)栈.stack:存放函数参数、局部变量及任务切换时的上下文。(5)堆.heap:用于动态内存分配。2. 任务结构 在uC/OS...
阅读全文
posted @
2010-05-11 15:19
白草黒尖
阅读(1842)
推荐(2)
【专题】uC/OS-II内核架构解析(3)---uC/OS-II系统核心
摘要:主要包含在C源文件OS_CORE.C中。1.uC/OS-II任务调度(1)uC/OS-II调度算法 uC/OS-II采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS,在完成中断后允许进行新的任务调度。 uC/OS-II有两种调度方式:任务级任务调度、中断级任务调度。(2)任务就绪表 INT8U const OSUnMapTbl...
阅读全文
posted @
2010-05-11 15:09
白草黒尖
阅读(4430)
推荐(3)
【专题】uC/OS-II内核架构解析(2)---uC/OS-II基本介绍
摘要:1.uC/OS-II文件结构2.uC/OS-II组成部分 uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。 (1)核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。 (2) 任务管理(OSTask.c) :包含与任务操作密切相关的函数,包...
阅读全文
posted @
2010-05-11 14:48
白草黒尖
阅读(2484)
推荐(1)
【专题】uC/OS-II内核架构解析(1)---嵌入式RTOS
摘要:1. 嵌入式系统基本模型2. RTOS设计原则 采用各种算法和策略,始终保持系统行为的可预测性。即在任何情况下,在系统运行的任何时刻,OS的资源配置策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。3. GPOS与RTOSGPOS:注重每次执行的平均响应时间,而不是某次特定执行的响应时间。RTOS:除满足应用功能需求外,还要满足...
阅读全文
posted @
2010-05-11 14:42
白草黒尖
阅读(2251)
推荐(2)
【整理】典型的支持多核处理器的RTOS
摘要:1、基于同步原语扩展的实时操作系统 在多核处理器的每一个处理器核上都运行一个完全相同的RTOS,然后提供扩展的组件库,这种组件库提供相应的同步原语以支持处理器核间的通信。Eg:VxWorks、RealOS。通过MP Extended Library同步原语库扩展,运行在一个处理器核(Processor Element)上的任务不仅能和运行在同一PE上的任务通信,还能和运行在不同PE上的任务通信,这...
阅读全文
posted @
2010-04-18 18:56
白草黒尖
阅读(4417)
推荐(1)
【整理】支持多处理器系统的RTOS的关键技术
摘要:1、体系结构 支持多核处理器的OS可能有几种结构:主从结构、粗加锁方式、细加锁方式。 (1)主从结构:修改一个OS内核使其支持多处理器系统的最简单的方法,是将整个OS视为一个不可分割的整体,并限定所有内核模式的操作均运行于同一个处理器(即主处理器)上,而另一个处理器(即从处理器)只用来执行用户模式的操作,这样得到的软件结构就不再是对称的。 系统维持两个队列:一个用来管理申请在主处理器上执行的任务,...
阅读全文
posted @
2010-04-18 15:26
白草黒尖
阅读(979)
推荐(1)
【求助】uC/OS-II中的一些疑问
摘要:1、关于OSStartHighRdy(): OSStart()用以启动OS,将CPU控制权交给OS,并选择当前系统中最高优先级的就绪任务执行(OS第一次执行任务);OSStartHighRdy()用以“恢复”第一个被执行的任务的上下文。问:在任务第一次被调度执行前,任务栈中存有任务的上下文信息吗? 在OSTaskCreate()创建任务的过程中,调用了OSTaskStkIn...
阅读全文
posted @
2010-04-17 22:19
白草黒尖
阅读(1003)
推荐(1)