硬汉嵌入式论坛

 找回密码
 立即注册
查看: 837|回复: 0
收起左侧

[FreeRTOS] FreeRTOS与EventRecorder的内存需求冲突的案例

[复制链接]

333

主题

2031

回帖

3035

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3035
发表于 2023-2-20 13:41:57 | 显示全部楼层 |阅读模式
EventRecorder 需要的缓存是不能初始化的,需要定义这个内存区域为“NoInit”。
但是FreeRTOS的缓存(heap)是需要定义为初始化零的,否则会hardfault。

最近调试代码时,0x1000000处的ccm足够大,所以都分配给FreeRTOS和EventRecorder做缓存。
默认情况下,ccm是初始化零的。 EventRecorder经常不正常,把ccm改成“NoInit”后就正常了。
诡异的是,电路板在持续通电的时候,改“NoInit”后更新程序,FreeRTOS也是正常的。导致几天前调试的时候以为程序正常无误的。
几天后,再次调试的时候,电路板再次上电,程序在建立第一个任务时候就进入hardfault了,抑郁了好一会儿。

所以,在代码中同时启用FreeRTOS和EventRecorder时,一定要注意分配给不同的RAM区。

image.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-25 08:15 , Processed in 0.169676 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表