打印
[应用相关]

STM32HG723使用RL-TCPnet的注意事项

[复制链接]
281|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 | 只看该作者
ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDecripSection"))); /* Ethernet Rx DMA Descriptors */
ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDecripSection")));   /* Ethernet Tx DMA Descriptors */
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 | 只看该作者
SRAM1_RxDecripSection 0x30000000 0x60  {
        * (.RxDecripSection)
  }
  SRAM1_TxDecripSection 0x30000060 0x60  {
        * (.TxDecripSection)
  }
  SRAM1_RxArraySection  0x300000C0 0x2000 {
        * (.RxArraySection)
  }

使用特权

评论回复
5
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来重新分配地址。

使用特权

评论回复
6
hehhehee|  楼主 | 2022-7-27 18:31 | 只看该作者
记得配置使能0x30000000的MPU和使能I-Cache和D-Cache。

使用特权

评论回复
7
Uriah| | 2022-10-4 13:22 | 只看该作者

如果已经找到正确的值,继续测试一个值根本没有意义。

使用特权

评论回复
8
Bblythe| | 2022-10-4 16:21 | 只看该作者

通常用发光二极管LED代替小灯

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

913

帖子

0

粉丝