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

    文章

    3019

    浏览量

    74003
  • 死机
    +关注

    关注

    0

    文章

    17

    浏览量

    8597
收藏 人收藏

    评论

    相关推荐

    Air780E硬件设计手册02

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

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

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

    LuatOS产品规格书——Air700EMQ

    本文详细介绍了LuatOS关于Air700EMQ的产品规格信息
    的头像 发表于 08-28 15:54 807次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS产品规格书——Air700EMQ

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

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

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

    本文主要介绍Air700EAQ的硬件设计中的应用接口部分。
    的头像 发表于 08-26 17:13 475次阅读
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air700EAQ硬件设计手册——应用接口1

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

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

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

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

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

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

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

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

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

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

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

    Air780EP模块Lua开发阿里云超详细教学!看完包学会!
    的头像 发表于 08-08 09:00 933次阅读
    <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 773次阅读
    <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 519次阅读
    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 647次阅读
    Air780E/Air780EP/Air780EQ/Air201<b class='flag-5'>模块</b>遇到<b class='flag-5'>死机</b>问题如何分析

    基于CC表的工厂量产硬件测试系统来了

    无数工程师朋友的奇思妙想,让IoTPower-CC表成为“江湖中的新传奇”。这款49.9元的迷你高精度电流表,有人DIY各式炫酷外壳,有人改装可调电源,有人制作扩展板用来维修手机,还有人用来做
    的头像 发表于 12-30 08:04 3049次阅读
    基于<b class='flag-5'>合</b><b class='flag-5'>宙</b>CC表的工厂量产硬件测试系统来了