cancel
Showing results for 
Search instead for 
Did you mean: 

In STM32H743IITx with every 10min of interval DMA Error in DMACSR register RBU=1 ETI=1 AIS=1

lavanya
Associate III

 

 I am using the core STM32H743IITx with Dev board OpenH7XXI-C.

 PHY IC - DP83848,With RMII configuration.

 I am facing issue in Ethernet communication for every 10 min of interval, I am getting DMA Error with RBU,ETI,AIS   bit in DMACSR is set.

 but after few sec(30 to 40sec), It is reconnecting again.

DMA descriptors allocated in RAM_D2 section. 

LWIP_RAM_HEAP_POINTER @ 0x30020000

guidance on why this issue happens with regular interval will be helpful 
.lwip_sec (NOLOAD) :
{
. = ABSOLUTE(0x30040000);
*(.RxDecripSection)
. = ABSOLUTE(0x30040060);
*(.TxDecripSection)
. = ABSOLUTE(0x30040200);
*(.Rx_PoolSection)
} >RAM_D2

MPU Configuration

  MPU_InitStruct.Number = MPU_REGION_NUMBER5;
  MPU_InitStruct.BaseAddress = 0x30020000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_128KB;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
  MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;

  HAL_MPU_ConfigRegion(&MPU_InitStruct);

  /** Initializes and configures the Region and the memory to be protected
  */
  MPU_InitStruct.Number = MPU_REGION_NUMBER6;
  MPU_InitStruct.BaseAddress = 0x30040000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_512B;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
  MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;

@Piranha @STea @LCE 

20 REPLIES 20
lavanya
Associate III

@STackPointer64  @LCE  Now,

I am not getting RBU DMA error but still,

Case 1: my STM32 not ack segments from peer and peer is requesting retransmission req continuously.

and lead to RST connection 

within few min reconnecting continuously.

Capture.PNG

Case2 : Out of packets from peer. lead to retransmit req  from peer (During retransmission req from peer my Eth IRQ is not triggering), This lead to pause in communication :(

lavanya_0-1759211766864.png