代码编织梦想

ucosii消息邮箱管理_ucos 邮箱-爱代码爱编程

uCOSii消息邮箱管理 (MESSAGE MAILBOX MANAGEMENT) 消息邮箱主要用于中断和任务之间进行邮件传递,或者是在任务与任务之间进行邮件交换。 我个人觉得,了解uCOSii消息邮箱的几个重要函数,还是有必要的。不是所有人都给我们测试案例。 1、重点需要了解下面几个函数 消息邮箱指针=OSMboxCreate(消息邮箱数据块指针

windows pc实时操作系统_windows系统实时-爱代码爱编程

目录 前言:实时系统是如何与Windows一起工作的呢? 任何熟悉实时概念的人都知道,如今当今众多IT领域它有多么重要。无论是在机械臂中并行运行的伺服电机,精确的测量应用,还是基于摄像机的辅助驾驶系统——在许多现

cortex-爱代码爱编程

一、SVC异常 SVC(系统服务调用,亦简称系统调用)用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。 因此,当用户程序想要控制特定的硬件时,它就会产生一个 SVC 异常,然后操作系统提供的 SVC 异常服务例程得到执

freertos五种内存管理详解_freertos 全局变量 空间-爱代码爱编程

freeRTOS五种内存管理详解 heap1 源码分析 void * pvPortMalloc( size_t xWantedSize ) { void * pvReturn = NULL; // 申请的内存地

rtt(rt-爱代码爱编程

目录 RTT(RT-Thread)内核启动流程详解 前言 RTT内核启动流程 启动流程概述 汇编阶段 C阶段 1、entry入口  2、进入rtthread_startup函数 3、创建主线程 RTT(RT-Thread)内核启动流程详解 前言         与STM32裸机启动流程一样,RT-Thread启动流程分为汇编

rtt(rt-爱代码爱编程

目录 IO设备模型 模型框架原理 IO设备类型 创建和注册IO设备 RTT设备管理程序实现原理 访问IO设备 查找设备 初始化设备 打开设备 关闭设备  控制设备  读写设备 数据收发回调 数据接收回调 数据发送回调 设备模型实例 IO设备模型         RT-Thread 提供了一套简单的 I/O 设

ucosii系统的中断管理_ucos系统中断函数-爱代码爱编程

uCOSii系统的中断管理 1、在使用uCOSii系统时,中断服务程序需要调用两个函数OSIntEnter()和OSIntExit()。 OSIntEnter() 进入中断时,用OSIntNesting来统计中断嵌套次数,告知uCOSii系统,当前中断服务程序正在执行; OSIntExit()退出中断时,用OSIntNesting来统计中断嵌套次

ucosiii实时操作系统 七 中断与时钟管理_ostimedly是否涉及中断级的任务切换-爱代码爱编程

目录 中断管理: 中断处理过程: 临界区保护: 时间管理 OSTimeTick()函数 OSTimeDly()函数 OSTimeDlyHMSM()函数(常用的) OSTimeDlyResume()函数 中断管理: 中断处理过程: 中断是一个硬件机制,主要用来向CPU通知一个异步事件发生了,这时CPU就会将当前CPU寄存器的

freertos中pendsv和systick的中断优先级和svc系统调用_systick中断优先级不能设置-爱代码爱编程

PendSV(Pending Supervisor Call)和SysTick是ARM Cortex-M处理器内核中的两个重要的中断源,它们具有不同的中断优先级。   PendSV中断优先级: PendSV中断是用于实现任务切换的中断,在操作系统中常被用于进行上下文切换。PendSV中断具有最低的中断优先级,即最高的中断优先级数值,通常为0xFF。这

windows 实时解决方案_windows 实时控制-爱代码爱编程

Windows PC实时操作系统 Kithara RealTime Suite Kithara 开发用于自动化、通信、工业机器视觉、汽车工程和硬件相关编程的实时软件。 实时功能通常用于产品开发、制造、包装、质量保证以及测

ucosii_任务栈检测和任务栈清除_ucosii任务堆栈大小-爱代码爱编程

1、任务栈检测和任务栈清除 在创建任务时,也需要设置OSTaskCreateExt()传入opt参数。 当opt= (INT16U)(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK),可以使用OSTaskStkChk()检查的任务栈的剩余空间,也可以使用OS_TaskStkClr()清除任务栈。 2、创建任务举

ucosii内存管理-爱代码爱编程

uCOSii内存管理(MEMORY MANAGEMENT) OSMemGet()执行一次,只能申请一个节点,由于节点的数据长度是固定的,所以可用内存的长度是固定的,这一点和malloc()不同。 OSMemPut()执行一次,只释放一个节点,这一点和free()用法差不多,不用关心内存的长度,只要知道内存首地址就可以释放内存。 内存碎片,就是"可用的

ucosiii实时操作系统 二 同步与通信_ucosiii实现网络功能-爱代码爱编程

目录 同步概念: 互斥概念: 临界区概念: 任务时间概念: 信号量概念:  互斥信号量概念: 事件标志组概念: 消息邮箱和消息梯队概念: 内存管理概念: 如何从裸机开发转跳到OS编程: 轮询系统: 前后台系统: 多任务系统: 同步概念: 任务是独立的。有时候一个任务完成的前提是需要另一个任务给出一个结果,任务

ucosiii实时操作系统 四 任务管理_ucosiii启动流程-爱代码爱编程

目录 uCOSIII启动过程: stm32的启动过程: uCOSIII的启动过程: 任务状态: 任务控制块: 任务堆栈: 任务就绪表: 优先级位映射表//OSPrioTbl[] 位映射表: 查找优先级: 什么是前导零指令呢? 就绪任务列表OSRdyList[] 任务的调度与切换 调度基础: 任务调度器: 中断级调度器: 时

ucosiii实时操作系统 八 软件定时器_ucos软件定时器里能有延时吗?-爱代码爱编程

目录 软件定时器概述 使用步骤: 创建软件定时器: 启动软件定时器: 停止软件定时器: 删除软件定时器: 单次定时器: ​编辑周期定时器: 无初始化延时: 有初始化延时: 软件定时器实验: 软件定时器概述 在学习单片机的的时候,会使用定时器来做很多事情,这个定时器时单片机自带的也就是硬件定时器,而UCOSIII内

ucosiii实时操作系统 九 信号量和互斥信号量_ucos信号量例子-爱代码爱编程

目录 信号量: 创建信号量: 请求信号量: 发送信号量: 直接访问共享资源区实验 使用信号量访问共享资源区实验 任务同步实验: 优先级反转 优先级反转实验 互斥信号量 互斥信号量的API 创建互斥型信号量: 请求互斥信号量: 发送互斥信号量 互斥信号量实验 任务内嵌信号 等待任务信号量: 发布任务信号量: 任务内嵌信号

ucosiii实时操作系统 十一 消息传递_ucosiii消息队列消息数-爱代码爱编程

目录 消息队列: 消息列队相关的API函数 创建消息队列: 等待消息列队: 向消息列队发送消息: 消息队列实验 任务内嵌消息队列: 任务内建消息队列的API函数 等待任务内建消息: 发送任务内建消息: 任务内建消息队列实验:         一个任务或者中断有时候需要和另一个任务交流信息,这个就是消息传递的过程就叫做任

ucosiii实时操作系统 五 任务api(时间片轮转api调度)_ucos3延时轮询-爱代码爱编程

时间片轮转调度 时间片轮转法:主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按照先入先出的原则排成一个队列的队首进程,让CPU上运行一个时间片的时间。时间片是一个小小的时间单位,通常为5~10ms数量级。当进程用完分给他的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放在就绪列队的末尾,把CPU分给就绪队列的队首

freertos 信号量(二) -爱代码爱编程

文章目录 一、计数型信号量1. 计数型信号量简介2. 创建计数型信号量①函数 xSemaphoreCreateCounting()②函数 xSemaphoreCreateCountingStatic()

freertos 任务调度及相关函数详解(一)_vtaskstartscheduler-爱代码爱编程

文章目录 一、任务调度器开启函数 vTaskStartScheduler()二、内核相关硬件初始化函数 xPortStartScheduler()三、启动第一个任务 prvStartFirstTask()四、中