|
发表于 2010-9-29 15:36:04
|
显示全部楼层
不知为什么在FreeRTOS中消耗的内存特别大,总共开两个任务每个任务分配4k RAM,每个任务实际需要的RAM约几百字节:
xTask=xTaskCreate( vCheckTask, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE+1024*4, NULL, tskIDLE_PRIORITY+3, NULL );
xTask=xTaskCreate( vLCDTask, ( signed portCHAR * ) "LCD", configMINIMAL_STACK_SIZE+1024*4, NULL, tskIDLE_PRIORITY+4, NULL );
分配给OS内核为32K RAM时任务运行就不正常:
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 32 * 1024 ) )
分配给OS内核为50K RAM时任务运行正常:
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 50 * 1024 ) )
感觉应该内核不需要分这么大的RAM,3种内存调度方式都试过,结果都差不多 |
|