硬汉嵌入式论坛

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

[FMC] STM32H7驱动SDRAM两种硬件异常IMPRECISERR和PRECISERR

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116231
QQ
发表于 2019-9-23 18:28:16 | 显示全部楼层 |阅读模式
0、如果没有配置SDRAM所涉及到的所有GPIO,不会进入硬件异常。

1、如果使能了SDRAM的写保护会出现IMPRECISERR硬件异常
hsdram.Init.WriteProtection    = FMC_SDRAM_WRITE_PROTECTION_ENABLE;
QQ截图20190923181348.jpg

2、如果没有初始化SDRAM,仅执行读SDRAM操作:PRECISERR硬件异常
QQ截图20190923181920.jpg

3、如果没有初始化SDRAM,读写SDRAM操作都执行:PRECISERR和IMPRECISERR硬件异常
6.jpg




回复

使用道具 举报

4

主题

1449

回帖

1461

积分

至尊会员

积分
1461
发表于 2019-9-24 09:15:34 | 显示全部楼层
谢谢硬汉分享。
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
发表于 2025-3-28 15:50:16 | 显示全部楼层
硬汉,你好,我在stm32h745zit6地址0x30000000与0x30002000处定义两个uint8_t  128K的数组,用于存放一些数据,在0x24005000处定义了一个256K的数组用以将上述两个数组数据按顺序存放(两个数组没有完全进入256K的新数组,因为计数值并没有到262143),并每次16K的大小写入EMMC 中,但是偶尔会出现进入HardFault_Handler的情况。请问是什么原因呢。
8c4922fe5e2b051a857fcbefe325a4b.png
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
发表于 2025-3-29 18:10:47 | 显示全部楼层
嘎嘎~ 发表于 2025-3-28 15:50
硬汉,你好,我在stm32h745zit6地址0x30000000与0x30002000处定义两个uint8_t  128K的数组,用于存放一些数 ...

解决了,应该是因为数组的个数出现了复数
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-11 07:29 , Processed in 0.275877 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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