热搜关键词: cadence新能源汽车电机传感器

pdf

嵌入式实时操作系统原理与最佳实践_电子与嵌入式系统设计丛书

  • 1星
  • 2023-02-06
  • 5.81MB
  • 需要1积分
  • 13次下载
  • favicon收藏
  • rep举报
  • free评论
标签: 嵌入式

嵌入式

本书系统地介绍了嵌入式操作系统内核的原理、设计和实现。首先通过大量图表详细介绍了嵌入式操作系统的基本概念和原理。然后通过对各个内核功能的分析、设计和实现来加深读者对相关知识的理解。最后通过实际的应用程序来演示如何使用这些功能。从原理、设计、实现和使用的角度来阐明嵌入式操作系统的功能。本书可以作为高校本科生或非计算机专业的研究生嵌入式操作系统的教材,也可作为从事嵌入式系统开发工作的研究生、科研人员和企业开发人员的参考用书。

前言

第1章 嵌入式操作系统基础

1.1 嵌入式软件系统结构

1.1.1 轮询系统

1.1.2 前后台系统

1.1.3 多任务系统

1.2 多任务机制概述

1.2.1 时钟节拍

1.2.2 多任务机制

1.2.3 任务上下文

1.2.4 任务切换

1.2.5 任务的时间片和优先级

1.2.6 任务调度和调度方式

1.2.7 任务调度算法

1.2.8 任务状态

1.3 同步、互斥和通信

1.3.1 任务等待和唤醒机制

1.3.2 任务互斥和优先级反转

1.3.3 优先级天花板和优先级继承

1.4 中断机制

1.4.1 中断流程概述

1.4.2 中断优先级

1.4.3 中断嵌套

1.4.4 中断时序

1.5 Trochili  RTOS介绍

第2章 线程管理与调度

2.1 线程结构设计

2.1.1 线程的结构设计

2.1.2 线程的状态

2.1.3 线程优先级

2.1.4 线程时间片

2.1.5 线程栈管理

2.1.6 线程函数和线程数据

2.2 线程队列设计

2.3 线程调度机制设计

2.3.1 线程调度模型

2.3.2 线程调度算法

2.3.3 线程调度步骤

2.4 线程管理和调度实现

2.4.1 线程初始化

2.4.2 线程激活

2.4.3 线程休眠

2.4.4 线程挂起

2.4.5 线程解挂

2.4.6 线程延时

2.4.7 线程延时取消

2.4.8 线程主动调度

2.4.9 线程优先级设定

2.4.10 线程时间片修改

2.5 系统守护线程

2.6 线程应用演示

2.6.1 线程激活和休眠演示

2.6.2 线程挂起和解挂演示

2.6.3 线程延时演示

2.6.4 线程主动调度演示

2.6.5 线程优先级修改演示

2.6.6 线程时间片修改演示

第3章 线程同步和通信

3.1 线程阻塞队列

3.2 线程阻塞记录

3.3 IPC机制底层支撑函数

3.3.1 线程阻塞队列初始化

3.3.2 保存线程阻塞信息

3.3.3 清除线程阻塞信息

3.3.4 读取线程阻塞结果

3.3.5 线程阻塞过程

3.3.6 解除线程阻塞过程

3.3.7 解除最佳线程阻塞过程

3.3.8 解除全部线程阻塞过程

3.3.9 强制解除线程阻塞

3.3.10 休眠被阻塞的线程

3.3.11 设置被阻塞线程的优先级

第4章 信号量设计与实现

4.1 信号量的基本知识

4.1.1 二值信号量的概念

4.1.2 计数信号量的概念

4.1.3 信号量的操作

4.1.4 信号量的应用

4.2 信号量设计实现

4.2.1 信号量的初始化

4.2.2 信号量的取消初始化

4.2.3 信号量的获取

4.2.4 信号量的释放

4.2.5 终止线程阻塞

4.2.6 信号量刷新

4.3 信号量应用演示

4.3.1 线程间的信号量单向同步

4.3.2 线程间的信号双向同步

4.3.3 线程和ISR的信号同步

4.3.4 线程间的资源共享

4.3.5 多线程的信号同步

4.3.6 强制解除线程阻塞

4.3.7 信号量取消初始化

第5章 互斥量设计实现

5.1 互斥量基础知识

5.1.1 互斥量的概念

5.1.2 互斥量的操作

5.1.3 互斥量的应用

5.2 互斥量设计实现

5.2.1 互斥量的初始化

5.2.2 互斥量取消初始化

5.2.3 互斥量的加锁

5.2.4 互斥量的释放

5.2.5 终止线程阻塞

5.2.6 互斥量刷新

5.3 互斥量应用演示

5.3.1 线程间的资源共享

5.3.2 强制解除线程阻塞

5.3.3 互斥量刷新

5.3.4 互斥量取消初始化

第6章 邮箱设计实现

6.1 邮箱基础知识

6.1.1 邮箱的概念

6.1.2 邮箱的操作

6.1.3 邮箱的典型应用

6.2 邮箱功能设计

6.2.1 邮箱的初始化

6.2.2 邮箱的取消初始化

6.2.3 接收邮件

6.2.4 发送邮件

6.2.5 终止线程阻塞

6.2.6 邮箱刷新

6.2.7 邮箱广播

6.3 邮箱应用演示

6.3.1 线程间的异步数据传输

6.3.2 线程和ISR间的异步数据传输

6.3.3 线程间的单向同步数据传输

6.3.4 线程间的双向同步数据传输

6.3.5 多线程同步与邮箱刷新

6.3.6 多线程同步与邮箱广播

6.3.7 强制解除线程阻塞

6.3.8 邮箱取消初始化

第7章 消息队列设计与实现

7.1 消息队列基础

7.1.1 消息队列的概念

7.1.2 消息队列的操作

7.1.3 消息队列的典型应用

7.2 消息队列功能设计

7.2.1 消息队列初始化

7.2.2 消息队列取消初始化

7.2.3 消息接收

7.2.4 消息发送

7.2.5 消息广播

7.2.6 线程阻塞解除

7.2.7 消息队列刷新

7.3 消息队列应用演示

7.3.1 线程间的异步数据传输

7.3.2 线程和ISR间的异步数据传输

7.3.3 线程间的单向同步数据传输

7.3.4 线程间的双向同步数据传输

7.3.5 多线程同步与消息队列刷新

7.3.6 多线程同步与消息队列广播

7.3.7 线程阻塞解除

7.3.8 消息队列取消初始化

第8章 事件标记设计实现

8.1 事件标记基础知识

8.1.1 事件标记的概念

8.1.2 事件标记的操作

8.1.3 事件标记的典型应用

8.2 事件标记功能设计

8.2.1 事件标记的初始化

8.2.2 事件标记的重置

8.2.3 接收事件

8.2.4 发送事件

8.2.5 终止线程阻塞

8.2.6 事件标记刷新

8.3 事件标记应用演示

8.3.1 线程间的同步

8.3.2 线程和ISR间的同步

8.3.3 多线程同步与事件标记刷新

8.3.4 强制解除线程阻塞

8.3.5 事件标记重置

第9章 时间管理

9.1 定时器机制概述

9.1.1 简单计数方案

9.1.2 差分计时队列方案

9.1.3 时间车轮方案

9.1.4 定时时间漂移

9.1.5 定时器精度

9.2 软件定时器功能设计

9.2.1 软件定时器结构

9.2.2 软件定时器状态

9.2.3 软件定时器队列

9.2.4 软件定时器功能

9.3 软件定时器使用演示

第10章 内核移植

10.1 处理器介绍

10.1.1 STM32的地址映射

10.1.2 STM32的时钟系统

10.1.3 STM32的中断和异常

10.1.4 时钟节拍定时器

10.1.5 处理器启动

10.2 内核移植

10.2.1 内核功能剪裁

10.2.2 内核移植实现

10.2.3 线程栈初始化函数

10.2.4 PendSV中断管理函数

10.2.5 临界区管理函数

10.2.6 内核多任务启动函数

10.2.7 线程优先级计算函数

10.2.8 内核与处理器接口函数

10.2.9 内核启动流程

10.3 评估板介绍

10.3.1 LED驱动开发

10.3.2 外部按键驱动开发

10.3.3 串口驱动开发

第11章 以太网实践

11.1 以太网和以太网协议栈

11.2 MCU接入以太网的方式

11.3 以太网控制器和驱动开发

11.4 基于RTOS的Web实验

11.4.1 例程分析

11.4.2 实验现象

推荐帖子 最新更新时间:2023-03-29 06:09

【实用好书】ADS高速电路信号完整性应用实例
本书主要介绍利用ADS软件进行高速电路信号完整性设计的方法,包含13个工程案例,详细介绍了传输线阻抗分析、串扰分析、TDR仿真、串行总线与DDR总线、电源完整性、仿真与测量结合的设计与分析方法。本书的特点是以工程案例为主,结合理论分析,工程实用性强。   目录 实例1 单端传输线阻抗分析 实例2 差分传输线分析 实例3 传输线及三维连接器TDR仿真 实例4 基于测量的通道建模
arui1999 下载中心专版
请帮忙 看一下 代码中定义的结构体 中相关的寄存器,哪儿有资料 谢谢
请帮忙 看一下 代码中定义的结构体 中相关的寄存器(红色字体部分),哪儿有资料 谢谢,这是华大单片机 相关的一些资料   typedef struct {     union     {         __IO uint32_t TNVS;         stc_flash_tnvs_field_t TNVS_f;     };     union     {  
深圳小花 单片机
void指针的背后藏着什么?
void指针初探 void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。 因此void *只能表示一个地址,不能用来&取值,也不能++和--移动指针,因此不知道多少字节是一个数据单位。   int nums[] = {3,5,6,7,9};     vo
可乐zzZ 编程基础
第八部视频(作者 语音讲解)TinyOS nesC全手打编程实例
本帖最后由 dan158185 于 2015-12-11 00:12 编辑 $(\'flv_hVe\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAcce
dan158185 RF/无线
【Nucleo心得】+(八)HRM_LowPowerRTC 的例程运行
本帖最后由 mars4zhu 于 2014-11-27 11:32 编辑 HRM_LowPowerRTC 是低功耗RTC,平时进入低功耗模式,RTC唤醒后,通过notify来通知手机更新心率数据(心率数据是模拟产生随机心率,即hr = (rand()&0x1F)+60;)。 hr = (rand()&0x1F)+60;           __disable_irq();     
mars4zhu stm32/stm8
热风枪如何无损拆换平板NAND
本帖最后由 cl17726 于 2014-6-23 11:58 编辑 首先NAND是TSSOP的. 我的破国产平板,以前买东西送的,NAND 只有4G,现在完全不够玩,查了一下支持列表,最大32G的Intel MLC,于是买了个32G NAND,但是开热风枪3.5级风,280度,10分钟后没效果,他背面的SD卡座都烫得很了.就是一边NAND,另一边就是TF卡,我想知道怎么拆,跟Cubiebo
cl17726 PCB设计
Ubuntu下MSP430开发环境搭建
msp430G2553程序烧写方法: #include <msp430g2553.h> int main (void) {         volatile int i;         /* Stop watchdog timer */         WDTCTL = WDTPW | WDTHOLD;         /* Setup bit 0 of
fish001 微控制器 MCU
MSP430的时钟问题
单片机上电后,如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK的时钟源,LFXTl接32768 Hz晶体,工作在低频模式(XTS=O)作为ACLK的时钟源。CPU的指令周期由MCLK决定,所以默认的指令周期就是1/800 kHz="1".25μs。要得到lμs的指令周期需要调整DCO频率,即MCLK=1 MHz,只需进行如下设置:BCSCTLl=XT20FF+RSE
fish001 微控制器 MCU

评论

登录/注册

意见反馈

求资源

回顶部
查找数据手册?

EEWorld Datasheet 技术支持

热门活动

相关视频

可能感兴趣器件

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
×