stm32内存踩踏一例
1、问题描述
程序运行过程中,发现显示的内容乱了,如下图所示:
2、问题分析
此原因产生是由于将一个函数提前引起的,单步跟踪检查问题
运行过此函数后变量的地址改变了?被调函数能改变调用函数的变量地址?我怎么没听说过
原地址:
变更后的地址:
难道是keil和stm32都错了?发现了重大bug,千万不能这样想,AI搜索一下,仔细思考一下!
3、问题解决与总结
解决方案AI已经给出:
修改后显示正常:
程序运行过程中,发现显示的内容乱了,如下图所示:
此原因产生是由于将一个函数提前引起的,单步跟踪检查问题
运行过此函数后变量的地址改变了?被调函数能改变调用函数的变量地址?我怎么没听说过
原地址:
变更后的地址:
难道是keil和stm32都错了?发现了重大bug,千万不能这样想,AI搜索一下,仔细思考一下!
解决方案AI已经给出:
修改后显示正常: