【经验】8位MCU EFM8SB20F32G堆栈溢出导致Flash Error Reset问题案例分析及解决办法
SILICON LABS 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了业界最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。
问题描述:单片机型号EFM8SB20F32G,上电后,频繁出现Flash Error Reset问题,出现位置不定。
调试过程:
1、 屏蔽中断服务程序中部分代码后,Flash Error Reset问题出现频率减少,但仍会出现。
2、 屏蔽所有Flash操作相关代码后,Flash Error Reset问题仍然出现。
3、 在idata空间中定义占用较大的全局变量数组,Flash Error Reset问题出现频率变得更高,单片机起动后很快出现Flash Error Reset。
问题分析:中断服务程序中调用函数会有压栈操作,需要更大的堆栈空间。idata中全局变量数组会使堆栈空间减少。据此分析可能是由于堆栈溢出导致的Flash Error Reset。新建一个空的工程,通过定义占用空间较大的全局变量数组,增加中断服务程序中的函数调用,在中断服务程序调用的函数中定义局部变量数组,来制造堆栈溢出,再现了Flash Error Reset错误,通过监控SP指针指向的位置观察到了堆栈溢出。
结论:由于堆栈溢出导致了Flash Error Reset问题。
解决办法:
1、 在中断服务程序中尽量少的调用函数。
2、 全局变量,局部变量尽量少的占用idata的空间,从而增大堆栈空间。
3、 通过将变量放到xdata中来增大堆栈空间。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由黄昏提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】8位MCU EFM8系列编程接口与U-EC6的连接方法
Silicon Labs 的EFM8系列的MCU是最新一代的8位MCU,芯片支持在线调试功能,采用的调试接口继承了C8051F系列的C2调试接口,这是一个两线制的调试接口,调试时只需要C2CK时钟信号与C2D数据信号就可以。本文介绍U-EC6的信号定义及Silicon Labs 8位MCU EFM8的编程接口与U-EC6的连接方法。
设计经验 发布时间 : 2019-10-31
【经验】Silicon Labs 8位MCU 烧录程序异常的解决方法
本文介绍Silicon Labs的8位MCU C8051F/EFM8系列的芯片在量产烧录过程中遇到问题的解决方法。
设计经验 发布时间 : 2019-01-27
为物联网开发选择最佳的MCU架构
微控制器(MCU)如何在物联网设备中使用?开发人员又该如何为产品选择最合适的MCU解决方案?Silicon Labs产品营销高级经理Gopinath Krishniah先生将通过本篇博文说明MCU的应用知识和开发技巧,并介绍评估选用8位和32位MCU的关键考量。
设计经验 发布时间 : 2024-05-15
【经验】8位MCU EFM8BB21的SPI通信Master模式发送FIFO的配置与调试方法介绍
在嵌入式开发的过程中我们经常要使用到SPI通信,有时候会有大量的数据需要通过SPI发送出去,如果使用EFM8的SPIF产生中断,在中断中发送数据,那么每发送一个数据就会产生一个中断,大大增加了单片机的开销。EFM8BB21的SPI0提供了4byte的发送FIFO缓冲区,通过合理配置使用发送FIFO可以大大减少中断触发次数,提高程序运行效率。本文主要介绍如何配置调试SPI0的发送FIFO模式。
设计经验 发布时间 : 2019-10-09
【经验】Silicon Labs 8位单片机EFM8BB21 GPIO输出配置与调试
Silicon Labs 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了也接最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。 GPIO为单片机中最常使用的功能,本文将以P0.0端口为例分享EFM8BB21的GPIO输出配置与调试。
设计经验 发布时间 : 2019-07-14
BB5x 8位MCU用于嵌入式的三大优势——小尺寸、经济高效、设计简化
芯科科技的8位MCU产品组合,在芯科科技提供Simplicity Studio软件开发平台上同步支持8位和32位产品,还可支持EFR32系列无线SoC。这种单一平台解决方案有助于消除设计过程中不必要的复杂性,使设计人员能够将时间和精力集中在产品研发方面,而不是适应新的开发环境,从而缩短了开发周期并加快了上市时间。
应用方案 发布时间 : 2023-12-27
【经验】8位单片机EFM8系列中通过官方配置工具快速进行寄存器的初始化配置并进行SPI调试的步骤说明
Silicon Labs创新型8位MCU EFM8系列提供完全集成的体验,非常适合物联网应用,提供了业界最快的速度和最低的功耗,使用增强型8051内核,集成UART、SPI、SMBUS、ADC等丰富外设。本文主要介绍通过Simplicity Studio配置工具快速进行寄存器的初始化配置并进行SPI调试的方法,方便刚刚接触到EFM8 MCU的用户快速上手。
设计经验 发布时间 : 2019-09-30
【经验】怎么解决中微半导体8位MCU CMS80F7519串口波特率输出不正确的问题
中微半导体CMS80F7519是1T的8位MCU,最高主频48MHz,具有最大32KB程序存储区,2KB XRAM,工作电压2.1V-5.5V宽压,工作温度范围-40~105℃。集成LCD驱动、12bit ADC、多种通讯接口。
设计经验 发布时间 : 2023-01-04
新发布BB5x 8位MCU,报名MCU技术讲座学习嵌入式开发关键技巧
本次技术讲座将详细说明以芯科科技8位和32位MCU,以及无线SoC作为物联网开发通用平台的诸多优势,包括低功耗、高性能、缩减物料清单(BOM)成本,以及可轻松迁移至无线多协议设计等等。
原厂动态 发布时间 : 2023-12-11
【经验】一文教你如何快速搭建8位MCU EFM8开发环境
Silicon Labs(芯科科技)在本文讲述如何快速搭建8位MCU EFM8开发环境,帮助行业人士深入掌握EFM8 8位MCU的开发及应用技巧。
设计经验 发布时间 : 2019-01-27
【经验】如何正确使用8位MCU的PortMatch功能
Silicon Labs的8位MCU(C8051和EFM8)都具有PortMatch功能,此功能允许一个或多个端口IO引脚上的逻辑电平变化触发系统事件。
设计经验 发布时间 : 2018-02-08
Silicon Labs BB5x 8位MCU强势登场,报名专题技术讲座探索物联网开发的通用MCU平台!
本次技术讲座将详细说明以芯科科技8位和32位MCU,以及无线SoC作为物联网开发通用平台的诸多优势,包括低功耗、高性能、缩减物料清单(BOM)成本,以及可轻松迁移至无线多协议设计等等。技术专家并将引领您探索新的EFM8 BB5x 8位MCU系列产品、EFM32 PG28系列产品,以及EFR32无线SoC全系列产品家族的特性。
原厂动态 发布时间 : 2023-11-23
【经验】一文教你如何使用USB DEBUG ADPTER调试SLSTK开发板上的EFM8UB1系列8位MCU
Silicon Labs的8位MCU每一个系列都有相应的开发板,以方便用户工程师可以进行设计前期的测试评估。开发板上集成J-link仿真器。工程师可以使用开发板对外部的MCU目标板进行仿真,省去仿真器的购买。但是EFM8UB10系列的接口协议是C2接口,不是所有版本的J-link都兼容此协议,所以推荐使用Silicon Labs的USB DEBUG ADPTER对EFM8系列进行仿真。
设计经验 发布时间 : 2019-08-07
Silicon Labs EFM8系列8位MCU的IO Crossbar硬件分配
EFM8系列是Silicon Labs公司的8位MCU,总共分为4个系列:通用型EFM8BB系列、低功耗EFM8SB系列、带USB的EFM8UB系列和高性能的EFM8LB系列。EFM8系列MCU的IO具有Crossbar功能,即软件上可以分配IO的外设,为硬件设计提供了灵活性。但是Crossbar功能分配外设时并不是引脚随意分配,而是具有优先级要求的。
设计经验 发布时间 : 2018-06-27
简单至关重要:为何8位MCU将持续发展?
几十年来,8位MCU一直是无数嵌入式应用的主力,尤其是消费产品和医疗器械中的应用。简单、有效的8位MCU在推动智能物联网产品的发展中发挥了核心作用。虽然其后代的功能(如32位和无线MCU)继续领先,但对于广泛的应用来说,8位MCU的普及和偏好没有放缓的迹象。
设计经验 发布时间 : 2023-11-22
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论