随笔分类 - ucos
摘要:一、一、OS_CPU_A.ASM文件的编写1、 1、SoftwareInterrupt的编写 当发生软件中断时,程序通过异常向量表跳转到软中断的汇编与C接口程序SoftwareInterrupt处,下图为SoftwareInterrupt的流程图。 程序:SoftwareInterrupt LDR SP, StackSvc ; 重新设置堆栈指针,堆栈指向的是SVC模式下的堆栈 STMFD SP!...
阅读全文
摘要:uC/OS-II 初级程序员指南 (一) uC/OS-II 简介uC/OS-II是一种基于优先级的可抢先的硬实时内核。自从92年发布以来,在世界各地都获得了广泛的应用,它是一种专门为嵌入式设备设计的内核,目前已经被移植到40多种不同结构的CPU上,运行在从8位到64位的各种系统之上。尤其值得一提的是,该系统自从2.51版本之后,就通过了美国FAA认证,可以运行在诸如航天器等对安全要求极为苛刻的系...
阅读全文
摘要:Q: 新旧任务级的切换是不是必须在管理模式下切换 切换后新任务的运行是不是必须在管 理模式下A: 在配套《ARM 微控制器基础与实战》里的任务切换是通过 SWI 实现的.SWI 会使 CPU 进入 管理模式.同时 CPU 自动将任务的 CPSR 保存到管理模式的 SPSR 中. SWI 程序还保存了一些寄存器到管理模式的堆栈中.然后任务切换程序会在管理模式 和系统模式间来回切换,目的是把保存在管理...
阅读全文
摘要:1.在uC/OS-II的帮助手册内,作者特地强调绝对不能在OSInit()或者OSStart()内调用Timer初始化程序,那会破坏系统的可移植性同时带来性能上的损失。 所以,一个折中的办法就是: 在优先级最高某绦蚰诘饔?这样可以保证当OSStart()调用系统内部函数 OSStartHighRdy()开始多任务后,首先执行的就是Timer初始化程序。或者 专门开一个优先级最高的任务,只做一件事...
阅读全文
摘要:1 引言由于 C/OS在设计之初就充分考虑了本身在不同处理器上的移植问题,因此在任何处理器上的移植 C/OS都只需要关心三个文件:头文件OS_CPU.H 、C文件0S_CPU_C.C和汇编文件OS_CPU_A.ASM.下面我们分别由这三个文件入手来介绍移植需要解决的几点问题。一. C/OS-II本身涉及到的问题C/OS中的任务总是处于五种状态之一:睡眠态、就绪态、运行态、等待状态和中断服务态。任何...
阅读全文
浙公网安备 33010602011771号