[应用相关] STM32HG723使用RL-TCPnet的注意事项

[复制链接]
433|12
 楼主| hehhehee 发表于 2022-7-27 18:27 | 显示全部楼层 |阅读模式
ST, tc
SRAM1地址区间是0x30000000 - 0x30003FFF。
SRAM2地址区间是0x30004000 - 0x30007FFF。
不同于H743的地址分配,且没有SRAM3区域,网上的教程没有H723的,如果按H743的方式去做,就会错。
DMARxDscrTab DMATxDscrTab Rx_Buff 的地址都要位于这里,MXcube生成的GNU编译器代码

 楼主| hehhehee 发表于 2022-7-27 18:28 | 显示全部楼层
  1. ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDecripSection"))); /* Ethernet Rx DMA Descriptors */
  2. ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDecripSection")));   /* Ethernet Tx DMA Descriptors */
  3. uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE] __attribute__((section(".RxArraySection"))); /* Ethernet Receive Buffers */
 楼主| hehhehee 发表于 2022-7-27 18:28 | 显示全部楼层
然后在Option for Target-->Linker里取消选择Use Memory Layout form Target Dialog,编辑sct文件,加入地址分配
 楼主| hehhehee 发表于 2022-7-27 18:29 | 显示全部楼层
  1. SRAM1_RxDecripSection 0x30000000 0x60  {
  2.         * (.RxDecripSection)
  3.   }
  4.   SRAM1_TxDecripSection 0x30000060 0x60  {
  5.         * (.TxDecripSection)
  6.   }
  7.   SRAM1_RxArraySection  0x300000C0 0x2000 {
  8.         * (.RxArraySection)
  9.   }
 楼主| hehhehee 发表于 2022-7-27 18:30 | 显示全部楼层
EMAC_STM32H7xx.c里默认的#define EMAC_TXBUF_ADDRESS      0x30042000也是不用的,这个也是与H723的地址不匹配的,

在Option for Target-->C/C++(AC6)-->Preprocessor Symbols-->Define里加入EMAC_TXBUF_ADDRESS=0x30002000或EMAC_TXBUF_ADDRESS=0x30004000来重新分配地址。
 楼主| hehhehee 发表于 2022-7-27 18:31 | 显示全部楼层
记得配置使能0x30000000的MPU和使能I-Cache和D-Cache。
Uriah 发表于 2022-10-4 13:22 | 显示全部楼层

如果已经找到正确的值,继续测试一个值根本没有意义。
Bblythe 发表于 2022-10-4 16:21 | 显示全部楼层

通常用发光二极管LED代替小灯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

89

主题

1252

帖子

0

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