随笔分类 -  STM32--->FreeRTOS系统

摘要:FreeRTOS提供了五种通信方式来传递信号,包括队列、信号量、互斥量、事件组和任务通知。队列适用于数据传输,信号量用于状态传递和资源保护,互斥量针对临界资源访问控制,事件组能组合多个事件标志,任务通知则是一种快速但单向的通知机制。这些方法提高了多任务环境下的效率和安全性。 在裸机编程中,一般信号传 阅读全文
posted @ 2024-08-16 17:18 孤情剑客 阅读(5584) 评论(0) 推荐(3)
摘要:FreeRTOS 的配置基本是通过在 FreeRTOSConfig.h 中使用“#define” 这样的语句来定义宏定义实现的。 在 FreeRTOS 的官方 demo 中,每个工程都有一个 FreeRTOSConfig.h 文件,我们在使用的时候可以参考这个文件,甚至直接复制粘贴使用。1、“INC 阅读全文
posted @ 2024-08-14 16:35 孤情剑客 阅读(765) 评论(0) 推荐(0)
摘要:在实现中断开关试验中,发现不能正常的关闭中断,由于使用系统自带的延时函数(vTaskDelay)会打开中断,所以不能正确的关闭中断。注释掉相关代码即可,改用其他延时函数(也不可以使用HAL_Delay延时) static void AppTask_1(void* parameter) { stati 阅读全文
posted @ 2024-05-16 11:25 孤情剑客 阅读(434) 评论(0) 推荐(0)
摘要:1、ARM Cortex-M 中断 1.1 、ARM Cortex-M 中断简介 中断是微控制器一个很常见的特性,中断一般由硬件产生,当中断产生以后 CPU 就会中断当前的流程转而去处理中断服务, Cortex-M 内核的 MCU 提供了一个用于中断管理的嵌套向量中断控制器(NVIC)。 Cotex 阅读全文
posted @ 2024-04-25 11:25 孤情剑客 阅读(568) 评论(0) 推荐(0)
摘要:1、FreeRTOS介绍 我们看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS, Free 就是免费的、 自由的、不受约束的意思, RTOS 全称是 Real Time Operating System, 中文名就是实时操作系统。可以看出 FreeROTS 就是一个免费的 R 阅读全文
posted @ 2022-04-30 14:59 孤情剑客 阅读(1358) 评论(0) 推荐(1)
摘要:1、CPU 利用率的基本概念 CPU 使用率其实就是系统运行的程序占用的 CPU 资源,表示机器在某段时间程序运行的情况,如果这段时间中,程序一直在占用 CPU 的使用权,那么可以认为CPU 的利用率是 100%。 CPU 的利用率越高,说明机器在这个时间上运行了很多程序,反之较少。利用率的高低与 阅读全文
posted @ 2020-11-15 15:01 孤情剑客 阅读(1291) 评论(0) 推荐(0)
摘要:1、异常与中断的基本概念 异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性瘫痪。所以正确地处理异常,避免错误的发生是提高软件鲁棒性(稳定性)非常重要的一环,对于实时系统更是如此。 异常是指任何打断处理器正常执行,并且迫使处理器进入一个由有 阅读全文
posted @ 2020-11-15 14:44 孤情剑客 阅读(777) 评论(0) 推荐(0)
摘要:1、 内存管理的基本概念 在计算系统中,变量、中间数据一般存放在系统存储空间中,只有在实际使用时才将它们从存储空间调入到中央处理器内部进行运算。通常存储空间可以分为两种:内部存储空间和外部存储空间。内部存储空间访问速度比较快,能够按照变量地址随机地访问,也就是我们通常所说的 RAM(随机存储器),或 阅读全文
posted @ 2020-11-15 14:04 孤情剑客 阅读(652) 评论(0) 推荐(0)
摘要:1、 任务通知的基本概念 FreeRTOS 从 V8.2.0 版本开始提供任务通知这个功能,每个任务都有一个 32 位的通知值,在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件组, 也可以替代长度为 1 的队列(可以保存一个 32 位整数或指针值) 。 相对于以前使用 FreeRTOS 阅读全文
posted @ 2020-11-14 21:27 孤情剑客 阅读(1253) 评论(0) 推荐(0)
摘要:1、软件定时器的基本概念 定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率。 定时器有硬件定时器和软件定时器之分: 硬件定时器是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时 阅读全文
posted @ 2020-11-08 23:14 孤情剑客 阅读(4411) 评论(0) 推荐(0)
摘要:1、事件的基本概念 事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。即一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理 阅读全文
posted @ 2020-11-07 20:55 孤情剑客 阅读(512) 评论(0) 推荐(0)
摘要:1 、互斥量基本概念 互斥量又称互斥信号量(本质是信号量),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性,用于实现对临界资源的独占式处理。任意时刻互斥量的状态只有两种,开锁或闭锁。当互斥量被任务持有时,该互斥量处于闭锁状态,这个任务获得互斥量的所有 阅读全文
posted @ 2020-11-07 20:52 孤情剑客 阅读(1613) 评论(0) 推荐(0)
摘要:1、单任务和多任务系统 在裸机系统中, 系统的主体就是 main 函数里面顺序执行的无限循环,这个无限循环里面 CPU 按照顺序完成各种事情。在多任务系统中,我们根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这个函数我们称为任务。 STM32在执行配置初始化函数的时候, 操作系统完全 阅读全文
posted @ 2020-11-07 20:43 孤情剑客 阅读(8989) 评论(0) 推荐(4)
摘要:1、数据类型 在 FreeRTOS 中, 使用的数据类型虽然都是标准 C 里面的数据类型,但是针对不同的处理器,对标准 C 的数据类型又进行了重定义,给它们取了一个新的名字, 比如 char 重新定义了一个名字 portCHAR, 这里面的 port 表示接口的意思,就是 FreeRTOS 要移植到 阅读全文
posted @ 2020-11-07 20:38 孤情剑客 阅读(948) 评论(0) 推荐(1)