你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
如题,我现在在stm32F407平台上打开FREERTOS,然后使用pvPortMalloc动态申请内存的时候,发现这块内存中的数据总是变化,后面改为malloc申请,内存中的数据就符合预期了,我已经按照网上的流程配置了freertos,不知道是什么原因导致这种现象?
举报
xmshao 发表于 2025-1-21 13:35 两点提醒: 1、在工程里设置合适的系统栈大小,这点通常在启动文件里配置即可。它用于处理异常或中断处理。 ...
Hi,xmshao:
我查看了工程中的堆栈配置,在FreeRTOSConfig.h文件中:
这样的配置是合理的吗?
小楼111 发表于 2025-1-21 14:04 Hi,xmshao:</p> <p>我查看了工程中的堆栈配置,在FreeRTOSConfig.h文件中:
[md]这看不出有啥不合理的。
onfigTOTAL_HEAP_SIZ的大小15KB,不小了,一般来讲应该够用了。
onfigTOTAL_HEAP_SIZ
具体是否够用,跟你创建的任务、任务栈大小以及其它RTOS资源,比方队列、信号量的多少有关。
你也可以参考下例程的配置。
另外,不知你选择的是哪种内存管理方案,通常选用heap_4.c内存管理方案。
xmshao 发表于 2025-1-21 15:40 这看不出有啥不合理的。</p> <p><code>onfigTOTAL_HEAP_SIZ</code>的大小15KB,不小了,一般来讲应该够用了。
[md]我选择的是heap_4的内存管理方案,这个现象很奇怪,在网上我也没有找到对应的类似问题,另外,我使用xSemaphoreTake和xSemaphoreGive来实现的mutex功能,发现使用后会死锁,我不清楚是否freertos使用还需要什么配置,才能启用这些接口。
vscode如何使用CUBECTL
串口空闲+DMA接收GPS信号,空闲中断触发时间不对。
STM32F407ZGT6的SD卡通过DMA控制时,无法从外部SRAM取数据
求助:I2S通过DMA搬运后通过USB上传上位机,转为.wav文件后声音嘈杂,音质很差,基本听不出人声
STM32F407VET6 I2S 采用纯中断接收数据的问题
关于AN2867文档的疑问
tougfx 显示问题
F429同时使用SDRAM和SRAM
CAN数据重发
littlefs系统能读写SD卡吗?
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使用还需要什么配置,才能启用这些接口。