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


审核编辑 黄宇

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

    关注

    9

    文章

    3234

    浏览量

    76503
  • 死机
    +关注

    关注

    0

    文章

    17

    浏览量

    8805
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MAX6604:DDR内存模块高精度温度监测的理想之选

    MAX6604:DDR内存模块高精度温度监测的理想之选 在电子设备中,温度监测对于确保设备的稳定运行至关重要,尤其是在DDR内存模块这样对温度较为敏感的部件中。今天,我们就来详细探讨一
    的头像 发表于 04-03 15:15 107次阅读

    德州仪器PTHxx060Y模块:DDR/QDR内存总线终端的理想之选

    德州仪器PTHxx060Y模块:DDR/QDR内存总线终端的理想之选 在电子设计领域,DDR和QDR内存应用中的总线终端设计至关重要,而德州仪器(TI)的PTH03060Y、PTH05060Y
    的头像 发表于 03-05 10:20 322次阅读

    德州仪器PTH系列DDR/QDR内存总线端接模块解析

    德州仪器PTH系列DDR/QDR内存总线端接模块解析 在电子设计领域,内存总线端接模块对于确保DDR和QDR内存应用的稳定运行至关重要。德州
    的头像 发表于 03-05 10:20 308次阅读

    猛!MCU模组:Air1601/1602双星出击!

    在嵌入式开发中,你是否曾面临这样的困境:高清UI渲染依赖昂贵高端芯片、图像处理卡顿、多网通信协同复杂、工业级稳定设计繁琐……Air1601/Air1602系列MCU模组应运而生:——以“高清显示
    的头像 发表于 02-13 14:05 858次阅读
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b>MCU模组:Air1601/1602双星出击!

    高效接入语音交互:模组音频方案如何选?

    本文特别分享4G模组选型与硬件设计要点,为开发者提供实用参考。 一、模组音频支持概况 从主芯片是否原生支持音频功能来看,4G模组大致可分为两类: 1.1 主芯片支持音频功能 比如:经典老
    的头像 发表于 02-08 14:59 907次阅读
    高效接入语音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b>模组音频方案如何选?

    PLC无线通讯模块的风险与应对

    PLC无线通讯模块的使用确实存在一定风险,但无线通讯模块通过技术设计和实际应用验证,针对工业场景中的常见风险,已形成对应的应对举措。以下是结合其技术特点和实际案例的详细分析: 一、常见风险与达泰
    的头像 发表于 01-23 10:48 321次阅读
    PLC无线通讯<b class='flag-5'>模块</b>的风险与<b class='flag-5'>应对</b>

    采用科泰分立器件的工业PLC电源模块防护方案

    在工业自动化现场,PLC如同产线的“大脑”。然而,如电机启停的浪涌、电网波动、静电放电(ESD)等恶劣的电力环境,时刻威胁着犹如大脑“供血系统”的电源模块。一次意外的电压瞬变,就可能导致系统死机、数据丢失甚至硬件损坏,造成巨大的停产损失。
    的头像 发表于 01-21 13:59 2859次阅读
    采用<b class='flag-5'>合</b>科泰分立器件的工业PLC电源<b class='flag-5'>模块</b>防护方案

    SEMPER™ Nano S25FS256T 内存模块快速上手与特性解析

    SEMPER™ Nano S25FS256T 内存模块快速上手与特性解析 在电子工程师们的日常工作中,选择一款合适的内存模块至关重要。今天就来和大家分享一下英飞凌(Infineon)推
    的头像 发表于 12-20 15:50 1272次阅读

    硬件问题造成的MCU死机的原因

    答复给客户芯片不良的原因。 虽然,但是! 不过有些问题确实是静电导致的。这时,我们可以通过静电枪在敏感位置进行接触放电测试模拟死机现象。因为静电引入导致的死机问题,我们只需按照解ESD的思路进行解决即可
    发表于 11-24 08:07

    人脸识别身份核验终端卡顿死机怎么办?看这篇就够了

    不仅导致通行效率骤降,更可能引发用户数据丢失、系统崩溃等次生风险。那么,当遇到人脸识别身份核验终端或人证对比一体机出现卡顿死机等情况,应该怎么处理呢?一、人脸识别身份核验终端运行应用就卡顿故障现象:新增
    的头像 发表于 11-10 10:25 878次阅读
    人脸识别身份核验终端卡顿<b class='flag-5'>死机</b>怎么办?看这篇就够了

    当rt_mq_recv()指定超时时间时,多个线程用这个函数时,会发生死机现象,怎么解决?

    求助,我做了8个线程,都在用rt_mq_recv(a,b,c,50)指定的超时时间等待自已的队列消息,同时触发同时调用时,会出现死机现象,有没有人遇到过?
    发表于 09-29 06:00

    按下复位键RTT程序死机正常吗?

    复位键,又死机了? 请问,这种现象正常吗?原因是什么? 另外,拔掉串口调试线,和串口线,按下复位键多次测试程序能够重新启动,功能正常
    发表于 09-24 06:38

    IGBT 芯片平整度差,引发键线与芯片连接部位应力集中,键失效

    现象,进而引发键失效。深入探究这一关联性,对提升 IGBT 模块的可靠性和使用寿命具有关键意义。 二、IGBT 键结构与工作应力分析 IGBT
    的头像 发表于 09-02 10:37 2166次阅读
    IGBT 芯片平整度差,引发键<b class='flag-5'>合</b>线与芯片连接部位应力集中,键<b class='flag-5'>合</b>失效

    模块安装使用异常全解析:从现象到解决方案的完整指南

    模块作为光通信系统的核心组件,其安装与使用的规范性直接影响网络稳定性。本文系统梳理了光模块安装过程中的常见异常现象,结合硬件原理与实操经验,提供分步骤解决方案,并附 关键注意事项,助力工程师高效排查故障。
    的头像 发表于 08-28 15:39 1345次阅读
    光<b class='flag-5'>模块</b>安装使用异常全解析:从<b class='flag-5'>现象</b>到解决方案的完整指南

    如何应对步进电机的各种干拢问题

    步进电机的干扰问题是一个复杂且常见的话题,这些干扰可能来源于步进电机本身,也可能来自外部环境。为了有效地应对这些干扰,可以从以下几个方面进行考虑和解决。 一、步进电机对外部的干扰及其应对措施 步进
    的头像 发表于 05-11 17:38 1520次阅读
    如何<b class='flag-5'>应对</b>步进电机的各种干拢问题