MCU程序中变量过多引发内存不足现象


每一款MCU都有固定大小的闪存(存储程序代码)和内存(存储运行阶段产生的变量),以STM32为例,如果设计原理阶段选用的芯片RAM较小,而程序代码中变量分配较多时,可能出现的一个现象就是,单步断点调试的时候,变量值输出都是对的,一旦恢复连续运行,就会有部分量值丢失或者明显异常(连续运行模式下,可通过串口持续吐出的变量数据观发现).

改进方法是:1.改用同引脚的,ram容量大的芯片。2.优化程序代码,压缩非必要的变量,节省ram空间。

总结,程序并不是逻辑对了,语法无误,就一定能得到正确的结果,尤其是这种和芯片关联的下位机程序,必须要考虑硬件的环境和感受,适当的优化是必要的。

点击数: 271   打印  添加到收藏   发布时间: 2021-02-07




上一篇:NFC及其爆破思路
下一篇:USB设备连接异常现象





» 相关内容
  acme数字httpS首签方法
  耐压值高的电容为何做不上去
  冒泡排序改进+投票法优化数据
  光的偏振性检测方法及理解
  netFrame版本对数组最大长度的..
  LC并联谐振用于模拟混频详解
  条形磁铁的磁场方向判断方法
  PCIE开关和桥接的区别
  精密电阻快速匹配方法
  二次曲面参数及flashlight效果
  AHP算法之matlab代码
  LVDS需要注意的几个点
  阴阳与男女之区别
  四象限光电探测器的位置公式
  外触发获取数据实现原理