david2016 发表于 2015-12-27 14:56:23

CUBE FREERTOS 三个和三个任务之上的运行不起来

任意两个都可以的。堆栈我已经改过了。Stack_Size      EQU   0x00001000
Heap_Size       EQU   0x00001500
#define configTOTAL_HEAP_SIZE                  ((size_t)10240)
改的这三个。

xTaskCreate(sht21Entry,"sht21_Task",512,NULL,3,NULL);//ÎÂ¶È ²âÁ¿ÈÎÎñ´´½¨
      xTaskCreate(screenEntry,"screenEntry",512,NULL3,NULL);//ÆÁÄ»ÏÔʾÈÎÎñ´´½¨
      xTaskCreate(XDTaskEntry,"xdTask",512,NULL,3,NULL);
//      xTaskCreate(ZMTaskEntry,"zmTask",512,NULL,3,NULL);
//      xTaskCreate(FM_Entry,"FM_Task",512,NULL,3,NULL);
//      xTaskCreate(FD_Entry,"FD_Task",512,NULL,3,NULL);
//      xTaskCreate(gpioTaskEntry,"GPIO_Task",512,NULL,3,NULL);
//      xTaskCreate(CurrentWDEntry,"Current_Task",512,NULL,3,NULL);


只能最大运行两个任务,第三个任务就不行了

mark0668 发表于 2015-12-27 15:32:38

#define configTOTAL_HEAP_SIZE                  ((size_t)10240)

才10K....改个几十K给他

david2016 发表于 2015-12-27 16:49:39

mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE                  ((size_t)10240)

才10K....改个几十K给他

给了15K。系统跑在了#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );} 这里

超級稻草人 发表于 2015-12-27 19:52:04

先了解下。。。

党国特派员 发表于 2015-12-27 20:55:41

Cube不是使用的CMSIS-RTOS的规范吗?

mark0668 发表于 2015-12-28 01:09:47

david2016 发表于 2015-12-27 16:49
给了15K。系统跑在了#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );}...

哦,你在中断做了什么..把这去掉....

yanhaijian 发表于 2015-12-28 09:59:50

mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE                  ((size_t)10240)

才10K....改个几十K给他

正解,应该是操作系统的堆太小。

dsjsjf 发表于 2015-12-28 20:19:06

我试过,可以用的呀

xmshao 发表于 2015-12-28 20:23:37

我也怀疑HEAP大小配置问题。:)

david2016 发表于 2016-1-5 10:49:08

mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE                  ((size_t)10240)

才10K....改个几十K给他

反馈下,给了15K,可以了
页: [1]
查看完整版本: CUBE FREERTOS 三个和三个任务之上的运行不起来