Os_cpu.h说明完成 接下来需要移植os_cpu_a.asm汇编代码 OS_CPU_SR_Save 保存cpu状态寄存器的汇编代码,将primask保存 OS_CPU_SR_Restore 恢复cpu状态,将primask赋值到之前保存的值 OSStartHighRdy 使用调度器调度第一个任务,os_start会调用它 当一个任务放弃 cpu 的使用权,就会调用 OS_TASK_SW()宏,而 OS_TA...
原子哥,mdk代码之间变量定义是不允许的,但是像这种#define OS_ENTER_CRITICAL() {OS_CPU_SR cpu_sr = 0u; cpu_sr = OS_CPU_SR_Save();} 应该是属于函数开始定义吧。 类似于 void delay(int x) { int y=x*100; while(y--); } 作为延时函数被调用。我理解对吗? 回复 使用道具 举报 ...
OS_CPU_SR cpu_sr = 0u; #endif#ifdef OS_SAFETY_CRITICALif (perr == (INT8U *)0) { OS_SAFETY_CRITICAL_EXCEPTION(); return ((void *)0); } #endif#if OS_ARG_CHK_EN > 0u if (pmem == (OS_MEM*)0) { /*Must point to a valid memory partition*/ *perr = OS_ERR_MEM_INVALID...
#if OS_CRITICAL_METHOD == 3u /*Allocate storage for CPU status register*/ OS_CPU_SR cpu_sr = 0u; #endif #ifdef OS_SAFETY_CRITICAL if (perr == (INT8U *)0) { OS_SAFETY_CRITICAL_EXCEPTION(); return ((void *)0); } #endif #if OS_ARG_CHK_EN > 0u if (pevent == (OS_EVE...
#从上面这段输出可以看出,该服务器主机名是node5,linux内核版本是3.10.0-693.el7.x86_64,CPU是x86架构#该命令可以查看更多信息 [root@node5 ~]# more /etc/*release ::: /etc/centos-release ::: CentOS Linux release 7.4.1708 (Core) ::: /etc/os-release ::: NAME...
#从上面这段输出可以看出,该服务器主机名是node5,linux内核版本是3.10.0-693.el7.x86_64,CPU是x86架构 #该命令可以查看更多信息 [root@node5 ~]# more /etc/*release ::: /etc/centos-release ::: CentOS Linux release 7.4.1708 (Core) ::: /etc/os-release ::: NAME...
#从上面这段输出可以看出,该服务器主机名是node5,linux内核版本是3.10.0-693.el7.x86_64,CPU是x86架构 # 该命令可以查看更多信息 [root@node5 ~]# more /etc/*release ::: /etc/centos-release ::: CentOS Linux release 7.4.1708 (Core) ::: /etc/os-release ::: NAME...
OS_CPU_SR cpu_sr; #endif ⋯⋯ OS_ENTER_CRITICAL(); ⋯⋯ //需要硬保护的临界区代码 OS_EXIT_CRITICAL(); } 3.2调度器算法的改进 众所周知,μC/OS-II在设计时强调实时性。它采用单一的基于优先级的抢先式调度算法,有效地保证了实时性的要求。其另外一个特点是任务切换带来的时延窗口很小。在任...
OS_CPU_SR cpu_sr; //OS_CPU_SR即为unsigned int endif if OS_EVENT_EN > 0 //OS_EVENT_EN 定义为:(((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0) || (OS_SEM_EN > 0) || (OS_MUTEX_EN > 0))//OS_EVENT_EN 定义为:能使队列代码产生&&申...
#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr; #endif BOOLEAN tasks_waiting; if (OSIntNesting > 0) { /* ISR中,不允许删除信号量 */ *err = OS_ERR_DEL_ISR; return (pevent);