Freertos traceMALLOC分析内存踩踏

背景介绍:

        新项目使用到Freertos系统,Linux程序移植到Freertos(隐含信息代码量不是很小,是将基于Linux系统的一个IP驱动程序、应用框架和应用程序拿到Freertos上跑),validation阶段在仿真环境运行Freertos程序进行图像处理,不加载输入数据到ddr时程序能进行一帧帧图像处理,加载输入数据到ddr时程序"Data Abort"。

        因为之前没做过Freertos,也没有投入太多时间做Freertos开发准备,像开发Linux一样做Freertos。以以往的经验从现象判断应该是放输入数据的地址冲突了,从后门加载输入数据覆盖了后边要用到的数据。

        IP是A IP,做图像处理的,整个程序分3大层(驱动层,框架层,应用层),实际系统包含两个A IP(这里称硬核)。其中应用层是多task并发,框架层是多task并发,驱动层单task 初始化由freertos main task完成,工作阶段由应用层task调用。

问题原因:

       初始化阶段驱动层向框架层注册第2个核的时候地址算错了,偏移到后边分配给输入数据的地址范围。

分析思路:

1. dump ddr,确认输入数据的地址空间在加载前是不是有数据。

2.确认误写到输入数据空间的内容是啥,推断程序中位置。

3.确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值