硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6252|回复: 1
收起左侧

[有问必答] FLASH写入时死循环

[复制链接]

92

主题

293

回帖

569

积分

金牌会员

积分
569
发表于 2013-6-8 17:53:37 | 显示全部楼层 |阅读模式
我按照例程抄了一下Flash的程序,唯一区别是把配置SPI的和发送字节的子程序写在SPI.c的文件中,其他的写在Flash.C的文件中。结果在硬件上测试,读FLASH,擦除FLASH都是正常的(这应该说明SPI通讯是正常的)。
但是如果写FLASH时,就会死在HardFault_Handler硬件异常错误中断中。
用JLINK联调,发现现象是在sf_ReadBuffer这个子程序中,例子到这块时,_pBuf的地址是0x20000100,for循环结束后pBuf的值为0。而我的到这步时,_pBuf的地址是0x2000005C,for循环结束后pBuf的值不为0,所以执行了CS置1后就进入HardFault_Handler硬件异常错误中断,程序就死在这了。  可是程序都是照抄例子的,为什么会这样呢?
回复

使用道具 举报

759

主题

1050

回帖

3332

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3332
发表于 2013-6-10 06:18:57 | 显示全部楼层
这个函数里面好像有个变量超界了。我不记得是不是这个。uint32_t 的变量误写为 uint16_t.
你可以实验下我们原来的例子,看是否也有同样问题。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-14 07:36 , Processed in 0.197852 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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