0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何应对合宙模块的内存死机现象?

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-08-20 15:02 次阅读

在前文中,我们已经详细阐述了合宙基于移芯平台的模块遭遇死机问题的根源探寻策略与解决路径的构建。

今天,我们将进一步深耕细作,聚焦内存死机这一具体现象,探讨其背后的原因以及相应的解决策略。

本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201

关联文档和使用工具:

移芯平台模块出现死机问题分析

trace32工具下载

EPAT抓取底层日志


一、从Ramdump里分析内存泄漏问题

对于遇到内存不足死机的问题,可以从ramdump里找出哪些函数在消耗ram。

进入trace32后,在自动弹出下发图片的窗口里能找到哪个函数在哪个task里用了多少ram没有归还,如果遇到哪个API大量申请了ram没有归还,基本上就是问题点了

wKgZomaaHJ6AL24ZAADyCGIkYxA829.png

为了查找方便,在trace_node选择某个数据,框里面右键 -> 点击format

wKgZomaaHKaAFg-qAAJGmtyqZ-g645.png

wKgZomaaHLOAIDHMAAdfN4ZyWpQ669.png

上图里看到0x00868909 这个API在消耗大量的ram,从map文件,或者从trace_32工具菜单 view -> symbols -> browes 里搜索,Ctrl+F,或者Cov - > list functions,就能找到函数名称。

wKgaomaaHL2AKMG-AAbOY3gI6BQ487.png

这样查找问题解答方向上 就相对明确了。

二、从Ramdump里分析栈溢出

需要检查下trace32里有没有freertos文件夹,如果没有可以在这里下载放到根目录freertos

一般来说,栈溢出会有断言的情况,但是也有代码申请了一大块栈空间,导致栈底的ram没有被改变,但是实际上代码已经操作了栈外空间,且freertos不会报错,燃石在trace32里能分析出来。

打开trace32 -> freertos -> stack Coverage -> List Stacks

wKgaomaaHMaAA4DwAAMpnHUN_FQ595.png

可以看到ram使用情况,注意这里认为栈空间只有1KB,但是实际上可能是远超的,不过没关系,如果max里是0%,说明还有很多栈空间,不用去管

wKgaomaaHNGACArWAAOTRvq5aA0650.png

Tmr Svc这个task居然用到了93%

wKgaombEPNaAJ9sJAAFhh8Tprck805.png

右键点击红框,在弹出菜单里选择display memory->dump

wKgZomaaHm6AYtEJAAJzTid4ugM894.png

距离溢出只有不到70字节,如果用户代码里有类似uint8_t temp[71],那么很容易就操作了栈外的ram,死机就很正常了

详细资料获取请点击: www.openluat.com

wKgaombC3dqACb_jAAk6q5DU7aQ173.pngwKgZombC3eSAfJ3xAArfl2JA24Q967.png


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    8

    文章

    2901

    浏览量

    73515
  • 死机
    +关注

    关注

    0

    文章

    17

    浏览量

    8574
收藏 人收藏

    评论

    相关推荐

    Air780E硬件设计手册02

    低功耗4G模组Air780E硬件设计介绍
    的头像 发表于 09-06 12:02 137次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780E硬件设计手册02

    面向全体用户的一封求助信

    现面向所有的用户正式求助!!!希望有意愿帮助的用户,提出您的宝贵意见!
    的头像 发表于 09-05 16:11 139次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>面向全体用户的一封求助信

    Air700EAQ硬件设计手册——应用接口2

    Air700EAQ硬件设计的详细介绍
    的头像 发表于 08-27 14:23 216次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700EAQ硬件设计手册——应用接口2

    Air700ECQ硬件设计手册——射频接口、电气特性与规格

    本文主要介绍Air700ECQ的射频接口介绍,电气特性,射频特性,结构与规格,模块的存储和生产以及一些术语缩写含义。
    的头像 发表于 08-23 11:34 1134次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700ECQ硬件设计手册——射频接口、电气特性与规格

    Air700ECQ硬件设计手册——应用接口3

    Air700ECQ硬件设计手册——应用接口部分介绍
    的头像 发表于 08-22 18:34 247次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700ECQ硬件设计手册——应用接口3

    Air700ECQ硬件设计手册——应用接口1

    Air700ECQ硬件设计手册——应用接口1
    的头像 发表于 08-21 18:46 184次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700ECQ硬件设计手册——应用接口1

    AT指令速通FTP:Air780EP模块超详细教程

    Air780EP低功耗4G模组AT开发接入FTP超详细示例!
    的头像 发表于 08-20 17:40 1674次阅读
    AT指令速通FTP:<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP<b class='flag-5'>模块</b>超详细教程

    Air780EP模块开发常见问题——异常断链篇

    在用Air780EP模块开发的时候,有时候会遇到收不到网络数据的问题。 这里把遇到的问题和排查方法记录下来,希望能够帮助到大家!
    的头像 发表于 08-09 17:47 2457次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP<b class='flag-5'>模块</b>开发常见问题——异常断链篇

    Air780EP模块Lua开发阿里云应用指南

    Air780EP模块Lua开发阿里云超详细教学!看完包学会!
    的头像 发表于 08-08 09:00 686次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP<b class='flag-5'>模块</b>Lua开发阿里云应用指南

    Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

    Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析简介本文档适用于Air780E、Air780EP、Air780EQ、Air201关联文档和使
    的头像 发表于 08-01 17:27 439次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b> Air780E/Air780EP/Air780EQ/Air201<b class='flag-5'>模块</b>遇到<b class='flag-5'>死机</b>问题如何分析

    Air780E/Air780EP/Air780EQ/Air201模块遇到内存死机如何分析

    Air780E/Air780EP/Air780EQ/Air201模块遇到内存死机如何分析简介本文档适用于Air780E、Air780EP
    的头像 发表于 07-19 16:07 293次阅读
    Air780E/Air780EP/Air780EQ/Air201<b class='flag-5'>模块</b>遇到<b class='flag-5'>内存</b><b class='flag-5'>死机</b>如何分析

    Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

    Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析简介本文档适用于Air780E、Air780EP、Air780EQ、Air201关联文档和使
    的头像 发表于 07-19 15:37 377次阅读
    Air780E/Air780EP/Air780EQ/Air201<b class='flag-5'>模块</b>遇到<b class='flag-5'>死机</b>问题如何分析

    基于Air001的迷你RGB灯环

    点亮夜空的是什么?是工程师不羁的灵魂,点燃满怀希望与热爱的璀璨星河,又或是少年勇敢萌动的心……今天特别分享@Link-who大佬的开源佳作——基于Air001的恋爱日记系列迷你RGB灯环。那么
    的头像 发表于 11-25 08:04 1050次阅读
    基于<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air001的迷你RGB灯环

    基于Air32的手持示波器

    兼容主流F103,仅需3.8元的Air32系列超值国产MCU,性能强、开发快,不少行业客户已广泛应用于量产项目,相比市场主流F103每盘可省数万元!你知道吗,工程师朋友们极为喜爱的测量神器
    的头像 发表于 11-21 08:04 671次阅读
    基于<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air32的手持示波器

    来了!基于Air32的手持示波器

    兼容主流F103,仅需 3.8元的 Air32系列 超值国产MCU,性能强、开发快,不少行业客户已广泛应用于量产项目,相比市场主流F103每盘可省数万元! 你知道吗,工程师朋友们极为喜爱的测量
    的头像 发表于 11-20 12:15 1870次阅读