freertos 建立任务超过几个后系统不能能运行

        /* *** NOTE ***********************************************************
        If you find your application is crashing here then likely causes are
        listed below.  In addition see http://www.freertos.org/FAQHelp.html for
        more tips, and ensure configASSERT() is defined!
        http://www.freertos.org/a00110.html#configASSERT

            1) Stack overflow -
               see http://www.freertos.org/Stacks-and-stack-overflow-checking.html
            2) Incorrect interrupt priority assignment, especially on Cortex-M
               parts where numerically high priority values denote low actual
               interrupt priorities, which can seem counter intuitive.  See
               http://www.freertos.org/RTOS-Cortex-M3-M4.html and the definition
               of configMAX_SYSCALL_INTERRUPT_PRIORITY on
               http://www.freertos.org/a00110.html
            3) Calling an API function from within a critical section or when
               the scheduler is suspended, or calling an API function that does
               not end in "FromISR" from an interrupt.
            4) Using a queue or semaphore before it has been initialised or
               before the scheduler has been started (are interrupts firing
               before vTaskStartScheduler() has been called?).
        **********************************************************************/

如果没有出现 上述问题,请检查是否硬件堆栈分配。因为新建立的任务会消耗一部分硬件栈空间

 另外开启任务堆栈监测是非常重要的,可以仔细的调整一下,有的任务分配的多,有的任务分配的少

另外 注意观察优先级配置,优先级config.h中的

要和你freertos系统时钟中断优先级对应,不能搞不能低

原文地址:https://www.cnblogs.com/polar-lights/p/9460010.html