#define configMINIMAL_STACK_SIZE ( ( uint16_t ) 128 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 2 * 1024 ) )
configuration file 里面 这两个选项是按照 nucleo 提供的 例子,填的。
main 函数中只做了 一个LED toggle 的 task
int main(void)
{
HAL_Init();
/* Configure the system clock to 2 MHz */
SystemClock_Config();
//BSP driver init
BSP_Init();
xTaskCreate( vTaskLEDBlink, "vTaskLED", 512, NULL, 2, &xHandleTaskLED );
/* Add your application code here */
vTaskStartScheduler();
/* Infinite loop */
while (1)
}
当 xTaskCreate( vTaskLEDBlink, "vTaskLED", 512, NULL, 2, &xHandleTaskLED ); 填入512时,程序下载后,LED 没有实现toggle
当 xTaskCreate( vTaskLEDBlink, "vTaskLED", 128, NULL, 2, &xHandleTaskLED ); 填入128时, 程序下载后,LED 可以实现Toggle 。
我不明白的时候 如果填入512 内存不足,为什么没有任何提示?
如果以后 有其他task 这个值应该填多少合适呢? 有没有 依据 可以参考?
此问题转为自由讨论。
@一下 ST的工程师帮忙看看
amanda_s