无法通过 SPI 读取 TCD1304数据
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
F407的SDIO的硬件分流问题
workbench5.3.1生成代码问题
STLink下载程序失败,Flash部分地址不能写入
求助,局部变量初始化时未赋值会导致什么后果?
TIM11,TIM13失效
局部变量初始化时未赋值会导致什么后果
在 STM32CubeIDE 中使用 RTOS 代理
如何为ram变量分配固定地址
微信公众号
手机版
1、在工程里设置合适的系统栈大小,这点通常在启动文件里配置即可。它用于处理异常或中断。
2、在RTOS里设置合适的堆内存大小,比方 #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 10* 1024 ) )
Hi,xmshao:
我查看了工程中的堆栈配置,在FreeRTOSConfig.h文件中:
define configMINIMAL_STACK_SIZE ((uint16_t)128)
define configTOTAL_HEAP_SIZE ((size_t)15360)
这样的配置是合理的吗?
[md]这看不出有啥不合理的。
onfigTOTAL_HEAP_SIZ的大小15KB,不小了,一般来讲应该够用了。具体是否够用,跟你创建的任务、任务栈大小以及其它RTOS资源,比方队列、信号量的多少有关。
你也可以参考下例程的配置。
另外,不知你选择的是哪种内存管理方案,通常选用heap_4.c内存管理方案。
[md]我选择的是heap_4的内存管理方案,这个现象很奇怪,在网上我也没有找到对应的类似问题,另外,我使用xSemaphoreTake和xSemaphoreGive来实现的mutex功能,发现使用后会死锁,我不清楚是否freertos使用还需要什么配置,才能启用这些接口。