OpenEdv-开源电子网

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

读取写入FLASH操作出现错误,求大神帮忙看问题在哪里?

[复制链接]

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-9-22
在线时间
35 小时
发表于 2020-4-3 10:09:11 | 显示全部楼层 |阅读模式
1金钱
我使用官方给的FLASH读写程序,只是在主函数里改成实验读写
int main(void)
{         
        u16 j;
        u16 test[1024];
         for(j=0;j<1024;j++)
         {
                 test[j]=3;
         }
         STMFLASH_Write(0x0802ffff,(u16*)test,1024);
}
就会进入HardFault_Handler错误中断,我把1024都改成512,就可以正常运行。我实在找不出问题在哪里,请大神们帮忙。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14422
金钱
14422
注册时间
2018-8-3
在线时间
1157 小时
发表于 2020-4-3 12:00:10 | 显示全部楼层
检查这个函数STMFLASH_Write() 入口参数类型是不是溢出了
回复

使用道具 举报

0

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
724
金钱
724
注册时间
2019-3-1
在线时间
392 小时
发表于 2020-4-3 13:32:05 | 显示全部楼层
局部变量数组太大了
回复

使用道具 举报

10

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2019-9-5
在线时间
134 小时
发表于 2020-4-3 18:40:20 | 显示全部楼层
我遇到过,数组太大,flash放不下,你把1024改小,然后分多次读写
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-5-6
在线时间
1 小时
发表于 2020-5-16 08:39:41 | 显示全部楼层
注意字节对齐
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-12-19
在线时间
25 小时
发表于 2020-5-16 16:15:21 | 显示全部楼层
test[1024],局部变量过大,会消耗很大的栈空间,会导致栈溢出;检查一下栈开的是不是够。也可以把test[1024]写成全局变量试一下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 02:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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