硬汉嵌入式论坛

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

[STM32H7] 请教下,关于 H7 LwIP 的 MPU 配置 ?

[复制链接]

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2019-5-3 17:32:54 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2019-5-3 17:37 编辑

请教下,关于 H7 LwIP 的  MPU 配置 ?

配置为:
A.
  MPU_InitStruct.Number = MPU_REGION_NUMBER4;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;


B.;
  MPU_InitStruct.Number = MPU_REGION_NUMBER1;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;


上述配置,A ,程序工作完全正常,使用 FMC 作为 IO 扩展工作也正常
                B ,使用 FMC 作为 IO 扩展工作没有反应,但是其他都工作正常

请教下,这是为何啊 ???????

  MPU_Region_InitTypeDef MPU_InitStruct;

  /* Disable the MPU */
  HAL_MPU_Disable();

  /* Configure the MPU attributes as Device not cacheable
     for ETH DMA descriptors */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.BaseAddress = 0x30040000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_256B;
  MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;  //MPU_ACCESS_BUFFERABLE
  MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
  MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER4;             //配置为 1 区类型 ,fmc 扩展 io 貌似不工作
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;             //配置为 1 区类型 ,fmc 扩展 io 貌似不工作,目前只能配置0
  MPU_InitStruct.SubRegionDisable = 0x00;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
  HAL_MPU_ConfigRegion(&MPU_InitStruct);

       
  /* Configure the MPU attributes as Cacheable write through
     for LwIP RAM heap which contains the Tx buffers */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.BaseAddress = 0x30044000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_16KB;
  MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
  MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;      //MPU_ACCESS_CACHEABLE
  MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER6;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;   //这个必须设置为 0
  MPU_InitStruct.SubRegionDisable = 0x00;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
  HAL_MPU_ConfigRegion(&MPU_InitStruct);

       
  /* Enable the MPU */
  HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);














回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-5-3 17:56:27 | 显示全部楼层
你这问题,让人看了很懵逼。

你到底是问LWIP MPU,还是FMC扩展IO的MPU配置,他们毫无关联。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-5-3 17:59:42 | 显示全部楼层
有个概念一定要整明白,以太网DMA描述符区,只能配置为Strongly - order或者Device,切记切记!!
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2019-5-3 19:00:00 | 显示全部楼层
byccc 发表于 2019-5-3 17:56
你这问题,让人看了很懵逼。

你到底是问LWIP MPU,还是FMC扩展IO的MPU配置,他们毫无关联。

现在就是表面上看,他们是没有关联,但是使用 配置 B 的方法后, FMC 扩展 io 就是没有任何反应,


如果要是有关联的话,我就不来问了,你的明白吗 ??


回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-5-3 20:24:43 | 显示全部楼层
本帖最后由 byccc 于 2019-5-3 20:31 编辑
hpdell 发表于 2019-5-3 19:00
现在就是表面上看,他们是没有关联,但是使用 配置 B 的方法后, FMC 扩展 io 就是没有任何反应,

本质上也没有关联啊。。。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2019-5-3 23:00:31 | 显示全部楼层
byccc 发表于 2019-5-3 20:24
本质上也没有关联啊。。。

配置为 B 的话,实际运行起来,FMC 扩展 的 IO 就是没有反应啊 。头疼

你有什么高招 ????
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2019-5-3 23:13:15 | 显示全部楼层
hpdell 发表于 2019-5-3 23:00
配置为 B 的话,实际运行起来,FMC 扩展 的 IO 就是没有反应啊 。头疼

你有什么高招 ????

这就是我1楼说的问题了,你把那个设置为B了,还是两个都设置了?
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2019-5-4 15:28:20 | 显示全部楼层
byccc 发表于 2019-5-3 17:59
有个概念一定要整明白,以太网DMA描述符区,只能配置为Strongly - order或者Device,切记切记!!

我看了下手册,没找到哪里有描述,请问这个在手册哪里有描述
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2019-5-4 18:32:05 | 显示全部楼层
byccc 发表于 2019-5-3 23:13
这就是我1楼说的问题了,你把那个设置为B了,还是两个都设置了?

这个我也不知道哇
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 06:05 , Processed in 0.250792 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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