2023-05-29 07:18 AM
I'm using an STM32H725 to communicate with an i2c sensor. I'm using the I2C4 bus with the HAL DMA functions. I also enabled the BDMA channels for the rx and tx and respective interrupts. The problem is that the complete rx/tx callbacks are not triggered.
I found that this could be related to the problem described here: https://st.my.site.com/community/s/article/FAQ-DMA-is-not-working-on-STM32H7-devices
Any solutions to this problem?
2023-05-30 08:19 AM
I use STM32CubeIDE I think it uses GCC compiler
2023-05-30 09:23 AM - edited 2023-11-20 04:25 AM
Open the linker script file STM32H725RGVX_FLASH.ld :
Then In your source code, Define a custom section: Start by defining a custom section using the __attribute__((section("section_name"))) attribute. For example :
uint8_t __attribute__((section(".RAM_D3"))) Tx_I2C[1];
Foued
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-05-31 01:04 AM
I checked both in the FLASH.ld and RAM.ld files and the RAM_D3 exists in both. I retested
uint8_t __attribute__((section(".RAM_D3"))) Tx_I2C[1];
And still not working.