uC/OS应用的简单剖析
时间:05-07
来源:互联网
点击:
用户的工作,对于整个系统的具体应用工作还得需要用户自己去考虑,如何利用好这些功能服务函数就成为一个比较重要的问题.
1.main函数的结构
voidmain(void)
{
初始化系统的硬件;
OSInit();
任务的建立,消息机制的建立;
OSStart();
}
这里需要的是在OSStart()执行之前不得启动中断,硬件系统还不能工作.必须先让软件系统进入工作状态后才行.
2.中断的结构
ISR:
{
保存处理器寄存器的值;
调用OSIntEnter();
执行用户的工作;
调用OSIntExit();
恢复处理器寄存器的值;
RTI;
}
用户的中断形式和以前一样,没有什么大的变化,仅仅是在原来用户ISR的基础上在固定的位置加了两个函数:OSIntEnter(),
OSIntExit().
3.各个任务的结构
voidYourTask(void)
{
for(;;)
{
用户代码
调用的系统服务
}
}
在任务启动函数执行完后,系统会切换到最高优先级的任务去执行,此时,可以将系统硬件部分的启动放在该任务的最前边,仅仅是启动时执行一次,主要是启动系统的节拍中断,或者一些必须在多任务系统调度后才能初始化的部分,使系统的真正开始工作,达到软件硬件的基本同步.
VoidHighestPrioTask(void)
{
OSStartHardware();
For(;;)
{
用户代码
调用的系统服务
}
}
用户可以按照这些格式去编写自己的任务,建立自己的应用系统.
- 剖析投影机各类接口(12-13)
- Linux启动过程剖析(08-15)
- 嵌入式软件代码压缩技术剖析(08-06)
- 用现场电磁兼容性理论剖析单片机系统设计解析方案(06-19)
- 剖析uCOS(05-07)
- 深入剖析Android消息机制(03-28)