硬汉嵌入式论坛

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

[MPU] STM32F767 MPU配置问题

[复制链接]

14

主题

49

回帖

91

积分

初级会员

积分
91
发表于 2024-5-13 18:16:02 | 显示全部楼层 |阅读模式


/* Configure the MPU as Normal Non Cacheable for Ethernet Buffers in the SRAM1 */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.BaseAddress = 0x2007C000;
  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_NOT_CACHEABLE;
  MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER1;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
  MPU_InitStruct.SubRegionDisable = 0x00;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;



/* USER CODE BEGIN 1 */
#define MEM_SIZE                (16*1024)

/* Relocate the LwIP RAM heap pointer */
#define LWIP_RAM_HEAP_POINTER   (0x2007C000)


使用stm32f767,这里打算把sram2的16K分配给lwip  heap_mem,MPU这里配置成16KB,配置代码见上面,程序运行起来就跑飞了,
把16K改成8K,就正常,或者把地址改成 0x2007B000,往前面移动4K也正常。搞不明白这是啥情况,有了解的请教下?

企业微信截图_17155949762866.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107868
QQ
发表于 2024-5-14 08:45:32 | 显示全部楼层
以太网描述符部分要配置是Strongly order或者Device模式
回复

使用道具 举报

14

主题

49

回帖

91

积分

初级会员

积分
91
 楼主| 发表于 2024-5-14 08:57:16 | 显示全部楼层
eric2013 发表于 2024-5-14 08:45
以太网描述符部分要配置是Strongly order或者Device模式

上面的配置,不是描述符部分,是lwip 内部使用的heap mem,供协议栈使用的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-16 22:28 , Processed in 0.156905 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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