OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3751|回复: 5

百思不得其解,SRAM数据存储问题

[复制链接]

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2017-3-22
在线时间
21 小时
发表于 2017-12-25 16:02:57 | 显示全部楼层 |阅读模式
10金钱
实际工程中出现一个很奇怪的问题,a.c文件中声明一个结构体变量,并在函数中使用原子哥的内存函数,mymalloc了24个字节空间,再用memcpy复制内容填充,然后再显示或者输出都正常。但到b.c中,先extern引用变量,再将它显示或者输出,则"aaabbbccc"变为"aAaBbBcCc",数字与符号对应位置直接变乱码,为何?

最佳答案

查看完整内容[请看2#楼]

堆栈不是变量使用的吗,我malloc就是从RAM获得的空间吧,有点糊涂了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2017-3-22
在线时间
21 小时
 楼主| 发表于 2017-12-25 16:02:58 | 显示全部楼层
堆栈不是变量使用的吗,我malloc就是从RAM获得的空间吧,有点糊涂了
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2017-3-22
在线时间
21 小时
 楼主| 发表于 2017-12-25 16:33:21 | 显示全部楼层
再测了一下,刚写入就读出是正常的,同文件的函数再调就已经乱了,实在想不通
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2017-3-22
在线时间
21 小时
 楼主| 发表于 2017-12-25 17:15:16 | 显示全部楼层
我的参数都用的结构体,方便使用,就是需要先申请内存,结果这问题整整一天都没解决,只能换成字符数组来存储了
回复

使用道具 举报

18

主题

453

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2014
金钱
2014
注册时间
2016-12-27
在线时间
136 小时
发表于 2017-12-25 17:17:58 | 显示全部楼层
这种情形,一般可能是出现了 stack 或 heap 的溢出或者重叠冲突

你检查一下,你的工程包里,对这两个参数的设置,相对你的数组或malloc,是否偏小了?

回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2017-3-22
在线时间
21 小时
 楼主| 发表于 2017-12-27 10:10:03 | 显示全部楼层
anylinkin 发表于 2017-12-25 17:17
这种情形,一般可能是出现了 stack 或 heap 的溢出或者重叠冲突

你检查一下,你的工程包里,对这两个参 ...

RAM空间打印出来还是很充足的,重叠冲突感觉也不像啊
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-19 20:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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