gd32h7+netxduo

[复制链接]
 楼主| nzyk 发表于 2025-2-21 17:18 | 显示全部楼层 |阅读模式
基于 官方提供的关于gd32f4移植netxduo 的底层驱动来 移植gd32h7 目前的移植情况呢 是  开Cache 网络不通  ping不通
不开Cache的情况下  网络是能够ping通的
mpu 配置
       
   mpu_init_struct.region_base_address = 0x30000000;
    mpu_init_struct.region_size = MPU_REGION_SIZE_32KB;
    mpu_init_struct.access_permission = MPU_AP_FULL_ACCESS;
    mpu_init_struct.access_bufferable = MPU_ACCESS_BUFFERABLE;
    mpu_init_struct.access_cacheable = MPU_ACCESS_NON_CACHEABLE;
    mpu_init_struct.access_shareable = MPU_ACCESS_NON_SHAREABLE;
    mpu_init_struct.region_number = MPU_REGION_NUMBER1;
    mpu_init_struct.subregion_disable = MPU_SUBREGION_ENABLE;
    mpu_init_struct.instruction_exec = MPU_INSTRUCTION_EXEC_PERMIT;
    mpu_init_struct.tex_type = MPU_TEX_TYPE0;

if defined   (__CC_ARM)                                    /*!< ARM compiler */
__attribute__((section (".RAM_D2")))  enet_descriptors_struct  rxdesc_tab[ENET_RXBUF_NUM];        /*!< ENET RxDMA descriptor */
__attribute__((section (".RAM_D2")))  enet_descriptors_struct  txdesc_tab[ENET_TXBUF_NUM];        /*!< ENET TxDMA descriptor */
__attribute__((section (".RAM_D2")))  uint8_t rx_buff[ENET_RXBUF_NUM][ENET_RXBUF_SIZE];           /*!< ENET receive buffer */
__attribute__((section (".RAM_D2")))  uint8_t tx_buff[ENET_TXBUF_NUM][ENET_TXBUF_SIZE];           /*!< ENET transmit buffer */

RAM_D2地址划分如下:
; RW data -  SRAM0(0x30000000) + SRAM1(0x30004000) 16 + 16 = 32kb
  RW_IRAM4 0x30000000 0x00008000 {
        *(.RAM_D2)
}

       


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

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部