freertos相关内容
我正在开发一个跟踪模块,该模块必须监视FreeRTOS任务堆以检测堆栈溢出。我想知道是否有可能在创建任务堆栈后获得它的大小。我可以通过API访问此信息吗?还是将其存储在某个内部结构中? 推荐答案 不存储任务堆栈大小,但可以根据任务控制块的pxStack and pxEndOfStack成员计算。不过,我认为检测堆栈溢出的最简单方法是使用内置的堆栈溢出检查。enter link desc
..
在经历了一个相当困难的学习中断优先级的过程之后,我仍然试图理解允许我在SysTick_IRQn(ISR每1ms调用一次FreeRTOS调度程序)上调用HAL_NVIC_SetPriority()的值。 TLDR; 一部分我认为允许HAL_NVIC_SetPriority(SysTick_IRQn, 15 ,0U)(可能的最低优先级)和HAL_NVIC_SetPriority(SysTi
..
目标是在定期从深度休眠中醒来的物联网设备中通过MQTT接收消息。OTA更新与任何其他参数更新存在完全相同的注意事项。在我的情况下,最终,我希望将此用于两者。 进度 它运行 设备唤醒大约15秒。如果在此期间,我向相关主题发布了一串消息,则消息成功到达。在AWS控制台内,我可以发布到: $aws/things//shadow/update/delta
..
在使用 STM32CubeMx 创建 FreeRTOS 应用项目时,您可以使用两种方法来引入延迟,即 osDelay 和 HAL_Delay. 它们之间有什么区别,应该首选哪一个? osDelay代码: /*********************** 通用等待函数 *******************************//*** @brief 等待超时(时间延迟)* @pa
..
我正在寻找一个小型 libc,用于在 ARM7 微控制器上与 freertos 一起使用.我看过 newlib,但它对我的需要来说有点太复杂了.Newlib 调用 malloc() 在一些函数(例如 printf()),这对于小型嵌入式实时系统来说并不好. 有谁知道适合我的应用程序的小型、可移植、开源的 libc 实现吗? 解决方案 PDCLib 可能 满足您的需求.仍然不完整 [断
..
核心 - ARM Cortex-M4 编译器 - GCC 5.3.0 ARM EABI 操作系统 - 免费实时操作系统 我正在使用 gcc 库函数 _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn,void*); 进行堆栈回溯; 在我们的项目中,MSP 堆栈用于异常处理.在其他情况下,使用 PSP 堆栈.当我在异常
..
以下是 STM32 微控制器上的数据类型:http://www.keil.com/support/man/docs/armcc/armcc_chr1359125009502.htm. 这些微控制器使用 32 位 ARM 核心处理器. 哪些数据类型具有自动原子读取和原子写入访问权限? 我很确定所有 32 位数据类型都可以(因为处理器是 32 位的),而所有 64 位数据类型都不会(
..
我目前正在为我公司正在开发的消费电子产品开发操作系统.我已经决定将 freeRTOS 作为我们操作系统的支柱,并且正在努力在操作系统中实现硬件功能.但是,我遇到了有关从 freeRTOS 中运行 3rd 方应用程序的问题. 最初我认为一个任务是一个应用程序,基本上你有“myapplication.c"和“myapplication.h"包含你所有应用程序必需的功能,代码将驻留在任务内的 fo
..
您好,我正在尝试为具有 AM335X ARM Cortex-A8 处理器的 Beaglebone 黑色目标构建 FreeRTOS 应用程序.我正在运行 Windows,但我使用的是运行 linux debian 10 的虚拟机,这是我交叉编译的.uname -a 提供: Linux debian 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-
..
我正在创建可以使用 qemu 的 -kernel 选项加载的文件.我最介意这里的 u-boot 配置文件,我发现信息应该放在文件的某个地方.该文件必须包含要运行的 u-boot 二进制文件、freebsd 内核和 RTOS(因此我可以选择加载哪个内核或在同时加载 2 个操作系统时进行一些实验性开发 - 例如.FreeBSD 由 u-boot 加载,然后由 FreeBSD 加载在第二个核心上加载 F
..
有许多不同的 RTOS 可用于微控制器.我特别在寻找支持 ARM Cortex M 处理器的 RTOS.另外,我对闭源解决方案不感兴趣. 试图从网站和邮件列表中比较每个 RTOS 的相对优点似乎非常困难,因为它们大多似乎具有相同的功能并做同样的事情.只有在尝试将每个 RTOS 用于某些任务之后,真正的差异才会变得明显. 我知道这是一个有点主观的问题,可能很难回答 - 但肯定有很多人实际
..
2016-12 更新现在还有一个针对此行为的最小示例:https://community.nxp.com/message/862676 我正在使用带有 freertos 的 ARM Cortex M4,使用 freescales Freedom Kinetis IDE(gnu arm 工具链).问题是 尝试{扔4;//旧场景也不起作用:throw std::runtime_error("w
..
核心 - ARM Cortex-M4 编译器 - GCC 5.3.0 ARM EABI 操作系统 - 免费实时操作系统 我正在使用 gcc 库函数 _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn,void*); 进行堆栈回溯; 在我们的项目中,MSP 堆栈用于异常处理.在其他情况下,使用 PSP 堆栈.当我在异常
..
以下是 STM32 微控制器上的数据类型:http://www.keil.com/support/man/docs/armcc/armcc_chr1359125009502.htm. 这些微控制器使用 32 位 ARM 内核处理器. 哪些数据类型具有自动原子读和原子写访问? 我很确定所有 32 位数据类型都可以(因为处理器是 32 位),而所有 64 位数据类型都不是(因为读取或
..
围绕 FreeRTOS 队列的 C++ wapper 可以简化为如下所示: template类 Queue{民众:bool push(const T& item){返回 xQueueSendToBack(handle, &item, 0) == pdTRUE;}bool pop(T& 目标){返回 xQueueReceive(handle, &target, 0) == pdTRUE;}私人的:
..
我不明白如何声明可用于在 FreeRTOS 中的两个线程之间发送数据的结构. 我有两个线程,一个应该用数据填充结构,另一个应该从结构中读取数据,该数据是通过消息队列发送的. 数据可以复制或通过指针,数据量不大. 在我的 main.c 文件中,我声明了结构并声明了队列和队列句柄:在 int main(void) 之前: xQueueHandle LED_Queue_Handle,
..
我有一段用 freeRTOS 编写的代码,我必须实现互斥锁同步才能不发生并发,但我一直面临一个问题: xSemaphoreHandle xMutex=NULL;无效 fn_test1(){int i=0;同时(1){xSemaphoreTake(xMutex,portMAX_DELAY);ESP_LOGI(TAG, "Task1 output = %d", i++);xSemaphoreGive
..
问题出在哪里? void MyClass::task(void *pvParameter){而(1){这->更新();}}void MyClass::startTask(){xTaskCreate(this->task, "Task", 2048, NULL, 5, NULL);} 但是,我明白了: 错误:非静态成员函数的使用无效 我找不到任何有用的文档来检查错误在哪里, 但我认
..
我正在寻求帮助,因为我在这个问题上坚持了很长时间.我家里有一个ESP32 wrover工具包,我已经用uart将它连接到Zigbee网关模块.我想通过uart向模块发送一些命令,因为我将这些命令放在xQueue中,并且进入了一个线程以发送至uart.在另一个线程中,我通过uart得到了答案.第一条消息一切正常,然后在读取第二条消息时出现崩溃.我认为这是因为我的tx_msg不再存在于内存中,但是我无
..
我在ESP32上使用多线程.我创建了两个任务并将它们固定到核心1.使用其中一个任务,我得到以下错误: E(20426)FreeRTOS:FreeRTOS任务"MeasurementTask";不该回来,现在堕胎!在核心1的PC 0x4008b8f3处调用了abort()回溯:0x4008f34c:0x3ffd0a40 0x4008f57d:0x3ffd0a60 0x4008b8f3:0x3ff
..