标题:内存问题 大侠请进
取消只看楼主
at445
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2011-6-14
结帖率:66.67%
已结贴  问题点数:20 回复次数:4 
内存问题 大侠请进
if(CRC_Hard_cal((u32 *)temp,508/4)!=U8_To_U32(&temp[509]))     //使用备份区域
{
     AT25DFXXXDRLIB_READ(DataAddr+i+1024*256UL,512,temp);   
}
temp是一个512个unsigned char的数组名
编译器用的keil 警告方式为
source\BootLoader\bootloader.c(130): warning: C3487E: read from variable 'temp' with offset out of bounds
搜索更多相关主题的帖子: 内存 BootLoader warning source 编译器 
2011-12-21 14:10
at445
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2011-6-14
得分:0 
不要沉啊
2011-12-21 14:31
at445
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2011-6-14
得分:0 
AT25DFXXXDRLIB_READ(u32 ReadAddr,u32 ReadLong,u8 *SaveBuf);
CRC_Hard_cal(u32 *ptr, u32 len)
#define U8_To_U32(U8BUF)  ( ((U8BUF)[0]<<24UL) | ((U8BUF)[1]<<16UL) | ((U8BUF)[2]<<8UL) | ((U8BUF)[3]) )
这是几个东东的原型
2011-12-21 14:35
at445
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2011-6-14
得分:0 
回复 5楼 zaixuexi
Ok问题找到了,数组越界,不过你后面的分析也错了哦。这个宏写得很垃圾,引用后是数组的起始地址!
2011-12-22 15:29
at445
Rank: 1
等 级:新手上路
帖 子:19
专家分:4
注 册:2011-6-14
得分:0 
sorry!看飚了 你没错
2011-12-22 15:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-358294-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.222139 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved