nu-lb-nuc140板子 ucosii 2.86 源码分析(一)

分析用的源码:
https://download.csdn.net/download/wowocpp/10890676

需要结合这些书籍
共同查看:
< 嵌入式实时操作系统μC OS原理与实践 [卢有亮编著].pdf>
<ARM Cortex-M0权威指南(中文) 高清扫描版.pdf>

OSInit 函数

在这里插入图片描述

OS_ENTER_CRITICAL

在这里插入图片描述

typedef unsigned int OS_CPU_SR; /* Define size of CPU status register (PSR = 32 bits) /
#if OS_CRITICAL_METHOD == 3 /
Allocate storage for CPU status register */
OS_CPU_SR cpu_sr = 0;
#endif
在这里插入图片描述

异常屏蔽寄存器(PRIMASK)

Page153 :<ARM Cortex-M0权威指南(中文) 高清扫描版.pdf>
在这里插入图片描述
在这里插入图片描述

信号量的初始化

在这里插入图片描述

OSInit
OS_InitEventList

OS_CPU_ExceptStk 数组的作用 ?
typedef unsigned int   OS_STK;                   /* Each stack entry is 32-bit wide  
OS_CPU_EXT  OS_STK   OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE];

ctx :Context Switching 上下文切换。

TCB (Task Control Block )

Task Control Block

OSEventFreeList 是啥 ?
OSSemCreate 解析

TBL — table

OSEventFreeList ---- 事件空闲链表指针

调用关系

OSInit() 调用OS_InitEventList();
OS_InitEventList()中:

OSEventFreeList = &OSEventTbl[0];
#define OS_MAX_EVENTS 10 /* Max. number of event control blocks in your application /
OS_EXT OS_EVENT OSEventTbl[OS_MAX_EVENTS];/
Table of EVENT control blocks */

semaphore 信号量分析

在这里插入图片描述

OS_InitEventList 中:
在这里插入图片描述
在这里插入图片描述

下面的是全局变量:
在这里插入图片描述

(稍后补充)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值