硬汉嵌入式论坛

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

[LwIP] AC6下用的CMSIS LWIP MPU配置 ?

[复制链接]

3

主题

14

回帖

23

积分

新手上路

积分
23
发表于 2021-6-3 21:37:52 | 显示全部楼层 |阅读模式
将硬汉大哥的LWIP+LAN8720 调通后,将其移植添加到我的工程里面,出现了可能是MPU配置不正确的问题,情况是将MPU和CACHE禁止后可以ping通,开启就ping不通。现描述我的问题,请求指教。

我是在AC6的编译环境下,我的以太网描述符定义为:
   /* Ethernet Rx DMA 描述符 */
   ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".ARM._at_0x30040000")));
   /* Ethernet Tx DMA 描述符 */
  ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".ARM._at_0x30040060")));
  /* Ethernet 接收缓冲 */
  uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE] __attribute__((section(".ARM._at_0x30040200")));
在 EMAC_STM32H7xx.c 文件里面:
  #define EMAC_TXBUF_ADDRESS 0x30042000
   static uint8_t TX_Buff[ETH_TX_DESC_CNT][ETH_MAX_PACKET_SIZE] __MEMORY_AT(EMAC_TXBUF_ADDRESS);

在 stm32h7xx_hal_conf.h 文件里面:
   #define ETH_TX_DESC_CNT 4 /* number of Ethernet Tx DMA descriptors */
   #define ETH_RX_DESC_CNT 4 /* number of Ethernet Rx DMA descriptors */

stm32h7xx_hal_eth.h 里面:
   #define ETH_MAX_PACKET_SIZE       ((uint32_t)1528U)

D2 域的SRAM3 空间的时钟也使能了,MPU配置部分如下图:


屏幕截图 2021-06-03 212826.jpg
还有一点就是HAL库文件我用的是MDK RTE环境配置时带的,没有将其隔离开来,

屏幕截图 2021-06-03 213117.jpg

可以说我将硬汉大哥的配置照抄了一遍,但是使用硬汉的例程开启MPU可以ping 通,但是我的就不行,这让我百思不得其解。







回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2021-6-3 21:51:39 | 显示全部楼层

回帖奖励 +2 个金币

找个对比软件,比较两个工程比较方便。
回复

使用道具 举报

3

主题

14

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2021-6-4 08:43:23 | 显示全部楼层
eric2013 发表于 2021-6-3 21:51
找个对比软件,比较两个工程比较方便。

讲的有道理
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 08:48 , Processed in 0.169686 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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