野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8522|回复: 2

内存数据会变动

[复制链接]
发表于 2018-5-28 17:31:27 | 显示全部楼层 |阅读模式
本人使用了stm32F401RCT6的型号,在上面移植了一个ucos2的系统,本来功能测试都完成了,基本很稳定了。
现在因为需要升级功能,重新写了个引导程序,跳转程序也没有问题,主程序可以成功运行。但是测试后马上发现了问题,有一块内存数据会变化,导致我的设备功能异常。 QQ图片20180528103316.png 图片中的变量申明是static Alarm_Head  AlarmList[DEVICE_MAX_NUM],此图是跑了引导程序后,AlarmList内存数据会出现05 05 05 之类的莫名数据;如果是直接跑主程序,不使用引导程序,那么在我不进行任何操作的情况下,这个变量内存数据都为0
接下来,我将AlarmList变量固定到内存地址,Alarm_Head  AlarmList[DEVICE_MAX_NUM] __attribute__((at(0x200029D3))),在使用引导程序后,主程序的内存数据如下,

QQ图片20180528115134.png ,可以看到AlarmList,地址为0x200029D3,数据正常, QQ图片20180528115213.png ,而再次查看原先的地址,0x200029BC,数据变化了。
此外,我也试过了将所有任务都挂起,还是会出现内存数据变化的情况。

我的疑问是,在使用了引导程序后,除了中断向量需要重新设置之外,在使用ucos的情况下,还需要什么注意的吗?
有大神能帮忙解答一下吗?我使用的是keil开发。
回复

使用道具 举报

 楼主| 发表于 2018-5-28 17:32:49 | 显示全部楼层
有大神吗?求助
回复 支持 反对

使用道具 举报

发表于 2018-5-29 14:16:36 | 显示全部楼层
好复杂,不了解这个,帮顶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 04:08 , Processed in 0.030304 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表