首页 新闻 搜索 专区 学院

stm32f103使用freeRTOS时全局变量自动变化的现象怎么解释?

0
悬赏园豆:50 [待解决问题]

最近在使用freeRTOS,但是在使用过程中遇到全局变量自动变化的现象,这个全局变量只在一个任务中被读取和改写,其他地方都没有使用到,然而在全速运行时,却在不断变化哪位大神告诉我是怎么回事啊?

爱上右脚的主页 爱上右脚 | 初学一级 | 园豆:85
提问于:2019-02-26 19:45
< >
分享
所有回答(1)
0

这个问题困扰了我好久,现在终于解决了,原来这种现象不是操作系统的问题,而是启动文件里面堆栈初始化有问题,这个启动文件是我从以前的工程中拷贝过来的,在设置堆栈的部分没有更新,导致堆和栈重叠,一旦跑起来,就会把一部分对空间当做栈使用了,所以全局变量会自动变化,实际上是程序不断的进栈出战导致的。
下面是在使用的.s文件:

下面是原版的.s文件:

爱上右脚 | 园豆:85 (初学一级) | 2019-02-27 19:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册