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 

1 REPLY 1
mbarg.1
Senior III

The problem usually arise from the application you are running, not from device or device setup.

For more advice, which drivers are you running (HAL or other), which Middleware ( TreadX or other) and which application is running.

Ethernet communication to be reliable require to manage receivd packets in real time; any other task can block your ethernet thread and generate DMA overflow.

LAST but not LEAST - there is a well known bug in 743 drivers that I explained in one of my previous post and was never fixed by stm - https://community.st.com/t5/stm32cubeide-mcus/stmcubemx-migration-to-v6-13-fw-h7-v1-12/td-p/749691

RxDecripSection
AND
TxDecripSection

in C code are 
TxDescripSection
and 
TxDescripSection

 did you fix it  ?

Mike