freertos

如何在嵌入式系统闪存上存储文本文件并从中读取

我正在尝试执行以下操作:将文本文件 (7kB) 存储在 STEVAL-MKI109V2(与 freeRTOS 一起运行)板的闪存中,并读取此文本文件并在设备本身上对其进行一些计算。我有两个问题: 1) 存储文本文件 只需将文本文件添加到我的 keil 项目就足够了吗?编译后可以访问吗? 2) 访问数据 这就是我到现在为止失败的地方。起初我尝试使用 stdio.h 中的 fopen() 但我在编... »

c++

STM32 - FreeRTOS xQueue 接收不完整的数组

我无法在 FreeRTOS v8 中实现 xQueue。 该板基于STM32F4,我正在尝试将数据从ISR(串行)发送到主线程。 唯一的问题是不是所有的数据都在主线程上接收到。我在发送之前检查了缓冲区,它已经完成了。在主线程上,无论我发送多少字符,我总是收到缓冲区的前 5 个值。 缓冲区的结构体(我试过用[10]的缓冲区,结果是一样的): typedef struct SerialBuff... »

c

STM32F4 SPI 中断使用 FreeRTOS 停止触发

我正在尝试使用 SPI 在 F410 MCU 和 RPi 之间进行 SPI 通信。 我在当前有效的代码下方发布(不使用 FreeRTOS): main.c volatile int tx_done = 0; volatile int rx_done = 0; void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) { tx_done ... »

为什么不能在临界区调用 freeRTOS API?

现在我正在学习 FreeRTOS V9.0.0 参考手册中的 freeRTOS api“taskENTER_CRITICAL()”。 我为这个 API 找到了这样的描述: “不得从关键部分调用 FreeRTOS API 函数” 为什么?为什么我们不能在关键部分调用 freertos api?如下图所示: taskENTER_CRITICAL(); do_something..... »

c

小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

有许多不同的 RTOS 可用于微控制器。我专门寻找支持 ARM Cortex M 处理器的 RTOS。另外,我对闭源解决方案不感兴趣。 尝试从网站和邮件列表中比较每个 RTOS 的相对优点似乎相当困难,因为它们大多似乎具有相同的功能并且做同样的事情。只有在尝试将每个 RTOS 用于某些任务之后,真正的差异才会变得明显。 我知道这是一个有点主观的问题,可能很难回答 - 但肯定有很多人实际上尝试了... »

如何使用 MPLAB 为 PIC32MZ1025W104 构建 AWS Freertos

似乎缺少在 ports_p32xxxx.h 中引用的处理器端口文件。 ../../../../../vendors/microchip/harmony/v2.05/framework/peripheral/ports/processor/ports_p32xxxx.h:779:6: error: #error Unknown processor! #error Unknown processor!... »

如何在函数 xQueueReceive 返回的 FreeRtos 上打印字符缓冲区

我正在为一个项目使用免费 RTOS。 我有一个优先级较高的任务将字符缓冲区附加到空闲 RTOS 队列,还有一个优先级较小的任务从队列中弹出字符缓冲区并打印它们。 QueueHandle_t xQueue1 = xQueueCreate(10,50); //higher priority task for(;;){ char buffer[50]; sprintf(buffer, "%... »

c

FreeRTOS+TCP 和 mbedTLS+TCP

我有一个程序,它通过使用 FreeRTOS+TCP 在客户端(洗衣机)和服务器(HawkBit)之间成功传输数据,其中我们只有来自 FreeRTOS 的套接字,但现在我想在我使用的它上实现 TLS mbedTLS,其中我们再次具有 TCP 连接功能,套接字打开关闭功能,我们在 FreeRTOS 中拥有的每个功能现在我不知道该怎么办......!是否有可能使用 FreeRTOS+ 中的套接字TCP ... »

isr 中的 freertos 全局变量

我是 RTOS 新手,在理解一个奇怪的行为时遇到了一些麻烦: 我有一个运行 FreeRTOS 的 STM32 微控制器,也有一个 RTC 中断正在运行。 RTC 中断只是更新了一个名为SystemTime 的volatile uint32_t 变量: void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc) { UNUSED(hrt... »

是否有适用于 Cortex M7 的 FreeRTOS howto 关于如何监督/跟踪具有少量任务的系统(要使用内核的哪些功能)

我正在慢慢组装如何在现实世界的应用程序中使用 FreeRTOS。 我已经阅读了很多部分功能(堆栈监督、内存、malloc 等......)。 但是一直没有找到好的指令,用什么“监督”来跟踪任务的执行,调试器也没有连接后系统也... 任何人都可以提供一些指示和建议吗? 在设计 FreeRTOS 应用程序时,您会激活哪些功能? 您如何监督,任务进展如何? 我宁愿阅读一些简短的内容,逐个尝试功能,看... »

STM32 - 从多个任务中读取 I/O

我在基于 STM32F4 的开发板中使用 FreeRTOS,并且阅读了有关使用队列和信号量的任务之间的通信,易于理解和应用。 但在文档中,我没有找到任何关于是否可以安全地从不同任务调用相同方法的信息,例如: void DefaultTask(void const * argument) { uint8_t pin = 10; uint16_t analog = ADC_GetA... »

c

FreeRTOS 二进制信号量的硬件中断

我基本上是在按下按钮后让 LED 亮起。以下是应该处理此问题的代码的 sn-p: void task_player1(void *pvParameters) { while (1) { if (xSemaphoreTake(player1_signal, portMAX_DELAY)) { printf(">&gt... »

c

从 freeRTOS 运行应用程序

我目前正在为我公司正在开发的消费电子产品开发操作系统。我已经决定将 freeRTOS 作为我们操作系统的主干,并且正在努力在操作系统中实现硬件功能。但是,我遇到了一个关于从 freeRTOS 中运行 3rd-party 应用程序的问题。 最初我认为一个任务是一个应用程序,基本上你有“myapplication.c”和“myapplication.h”包含你所有的应用程序必要的功能,代码将驻留在... »

c

来自 ISR 的 FreeRTOS Sempahore 无法正常工作

我需要制作一个数据采集设备,其任务是对一些 GPIO 进行采样并记录 GPIO 状态并通过 UART 将其发送到 PC 以在 PC 上显示。我选择的算法是(请纠正我,因为我是 RTOS 的新手)创建一个以 1us 运行的计时器,然后轮询所有所需 GPIO 的状态。为此,我在 freertos 演示中使用了一个计时器。并在计时器 ISR 中给出一个信号量,它应该调用一个任务来完成所有剩余的工作。 ... »

ESP-IDF deep_sleep 和 FreeRTOS 任务

我从事使用 FreeRTOS 任务的项目,我想进入 deep_sleep。在进入 deep_sleep 之前我应该​​做些什么?或者唤醒后,RTOS 调度器什么也没发生? ... »

ESP32 FreeRTOS 引脚中断 ISR 处理程序 core 0 panic (C++)

目前我正在尝试附加一个引脚中断,其 ISR 是调用xTaskResumeFromISR或xQueueSendFromISR。 ISR 被正确调用,但执行的代码导致核心 0 恐慌. 以下是实施细节。 平台IO:平台= espressif32 @ 6.0.1,框架= arduino,板= esp32dev 头文件(Worker.h) #pragma once #include <Arduino.... »

使用 RTOS 为 pendrive 应用程序运行 USB_OTG_FS 时出错

首先,我已经使用 STM32H745I + USB_OTG_FS + FATFS + MSHC 为 pendrive 应用程序运行项目,它运行时没有任何错误,我能够创建文件、目录并写入文件。 但是,当我在现有项目的相同组合中添加 FreeRTOS 时,我只能在卡在 HardFault 处理程序之后挂载 USB。我不知道我对 FreeRTOS 有什么确切的设置。 如果有人有想法,请帮助我。 谢谢! ... »

如何在单个 qemu 实例中启动 2 个操作系统?

我尝试使用 QEMU 为具有服务核心的多核 CPU 建模。例如。一个 3 核 CPU,其中 Linux 在 2 个内核上运行,RTOS 在第 3 个内核上运行。通信应该基于共享内存。目前我可以分别启动每个操作系统。 ... »

SD.open(...) Timeout 如何设置?

当我打开一个文件 SD.open(...) 时,如果没有 microsd,它会在 1 秒后告诉我它出错了。如何设置更短的超时时间? 这将是一个硬运行时软件,即使没有 microsd 运行也必须继续,并且不能停止 1s。 我希望你能帮帮我, 谢谢你。 我期待这个问题的解决方案。 ... »