Freertos优先考虑

时间:2018-04-05 08:26:38

标签: multitasking freertos zynq

我正在尝试使用3个任务来实现freeRTOS。

  1. 写入地址x
  2. 从地址x
  3. 读取书面数据
  4. 闪烁一个led
  5. 如果没有任务3,我通过为读取任务分配更高的优先级来单独实现读写任务,并且运行良好。但是当我分配具有最低优先级的led任务(任务3)时,我的指示灯闪烁,写入和读取任务无法正常工作。

    有人可以解释原因吗?

    另外,我想与led任务并行执行写 - 读任务(具有相同的优先级)。

    请帮我实施。

2 个答案:

答案 0 :(得分:0)

您提供的信息非常少且不完整,因此可能存在许多问题。我正在学习FreeRTOS,所以我不是专家。在我看来,我觉得地址x的数据正在被破坏(由于任务的抢占),这就是写入和读取任务无法正常工作的原因。您需要实现 Mutex 二进制信号量以互斥地址x。

注意: freeRTOS中没有名为 parallel execution 的东西。

尝试为所有三个互斥的任务提供相同的优先级

答案 1 :(得分:0)

您需要提供更多信息。

首先,对于1和2个任务,您需要使用互斥锁在任务之间共享资源。FreeRTOS Mutexes