硬汉嵌入式论坛

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

[MPU] 请教下,h7 的 nand 配置mpu保护区域大小时为 2GB时会出现系统错误 ?

[复制链接]

610

主题

3055

回帖

4905

积分

至尊会员

积分
4905
发表于 2022-5-19 11:21:38 | 显示全部楼层 |阅读模式
请教下,h7 的 nand 配置mpu保护区域大小时为 2GB时会出现系统错误 ?

大小配置为 512MB 时,工作正常,貌似是小雨 <= 512MB 大小的都可以,

请问这个是怎么个情况 ??

配置如下:

        MPU_InitStruct.Enable           = MPU_REGION_ENABLE;         //使能该保护区域
        MPU_InitStruct.BaseAddress      = 0x80000000;                //设置基址
        MPU_InitStruct.Size             = MPU_REGION_SIZE_512MB;   //设置保护区域大小, 这个大小不能够超过 1GB ,否则会出现 系统错误 就是这个地方 ???????????????????
        MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;    //设置访问权限
        MPU_InitStruct.IsBufferable     = MPU_ACCESS_BUFFERABLE; //允许缓冲
        MPU_InitStruct.IsCacheable      = MPU_ACCESS_NOT_CACHEABLE;  //禁止cache, 不能用MPU_ACCESS_CACHEABLE;会出现2次CS、WE信号
        MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;  //禁止共用
        MPU_InitStruct.Number           = MPU_REGION_NUMBER5;        //设置保护区域
        MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;            //设置类型扩展域为level1
        MPU_InitStruct.SubRegionDisable = 0x00;                      //禁止子区域
        MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;  //允许指令访问(允许读取指令)
        HAL_MPU_ConfigRegion(&MPU_InitStruct);





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2022-5-19 11:59:53 | 显示全部楼层
这里配置为256MB就行了,这个地方的大小配置和你的NAND容量大小没关系,FMC驱动nand是采用的串行通信方式。
image.png


回复

使用道具 举报

610

主题

3055

回帖

4905

积分

至尊会员

积分
4905
 楼主| 发表于 2022-5-19 16:41:03 | 显示全部楼层
eric2013 发表于 2022-5-19 11:59
这里配置为256MB就行了,这个地方的大小配置和你的NAND容量大小没关系,FMC驱动nand是采用的串行通信方式。 ...

好的,多谢多谢啊
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 04:52 , Processed in 0.266074 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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