STM32内存管理

betball贝博app stm32 452 次浏览
若没有内存管理,则需要预先定义很大的空间(数组),为了避免该情况,需要动态分配空间。 分块式内存管理 组成:内存池,内存管理表。 内存管理表:数值为0则为被占用,否则即代表连续占用的内存块数...

UCOSIII存储管理

betball贝博app RTOS 439 次浏览
很粗糙,几乎没有实用性。 作为一个RTOS操作系统,内存管理是必备的功能,因此UCOSIII也就内存管理能力。通常应用程序可以调用ANSI C编译器的malloc()和free()函数来动态的分配和释放内存,但是在嵌入式事实操...

UCOSIII同时等待多个贝博betball网页对象

betball贝博app RTOS 463 次浏览
UCOSIII可以等待单个贝博betball网页对象,包括:信号量、互斥信号量、消息队列和事件标志组。 在UCOSIII中允许任务同时等待多个信号量和多个消息队列,也就是说, UCOSIII不支持同时等待多个事件标志组或互斥信号量。...

UCOSIII事件标志组

betball贝博app RTOS 473 次浏览
有时候一个任务需要与多个事件同步,这个时候就需要使用事件标志组。事件标志组与任务之间有两种同步机制:“或”同步和“与”同步。 “或”同步:等待多个事件时,任何一个事件发生 ,任务都被同步,这个就称为“或”同...

UCOSIII任务通信

betball贝博app RTOS 435 次浏览
一个任务或者中断服务程序有时候需要与另一个任务交流信息,这个过程就叫任务间通信。两种途径:全局变量,发布消息。 使用全局变量都必须保证对全局变量的独占访问。消息也可以通过消息队列作为中介发布给任...

UCOSIII内嵌信号量

betball贝博app RTOS 423 次浏览
在UCOSIII中每个任务都有自己的内嵌的信号量,这种功能不仅能够简化代码,而且比使用独立的信号量更有效。任务信号量是直接内嵌在UCOSIII中的,任务信号量相关代码在os_task.c中。 函数名 作用 OSTa...

UCOSIII优先级反转

betball贝博app RTOS 436 次浏览
在实时系统中是不允许出现这种现象的,这样会破坏任务的预期顺序,导致严重后果。 优先级反转是因为需要的信号量请求不到导致的。本来优先级高,但是信号量被优先级低的任务占用。 解决办法是将需要占用信...

UCOSIII信号量和互斥信号量

betball贝博app RTOS 432 次浏览
信号量:像是一种上锁机制,代码必须获得对应的钥匙才能继续执行,一旦获得了钥匙,也就意味着该任务具有进入被锁部分代码的权限。只有等对应被锁部分的代码的钥匙被释放才能继续执行。 信号量本身用于控制对...

UCOSIII软件定时器

betball贝博app RTOS 436 次浏览
通过宏OS_CFG_TME_EN来使能 定时器本质是递减计数器,当计数器减到零时可以出发某种动作的执行,这个动作通过回调函数来实现。 应用程序可以有任意数量的定时器。 定时器的时间分辨率由宏OS_CFG_TMR_TAS...

UCOSIII的中断和时间管理

betball贝博app RTOS 468 次浏览
UCOSIII的中断服务函数即为在普通的中断服务函数中,具体执行代码的前后添加OSIntEnter();和OSIntExit(); OSIntEnter();函数其实就是记录中断嵌套的个数,UCOSIII最多支持250级中断嵌套。 OSIntExit();中断...
Go