Hello,
I need some help with AHB SRAM. I am developing firmware for LPC1754 MCU. I want to use AHB SRAM to keep there an array with data which should be sent from time to time to UART over DMA. Sending these data to UART over DMA works, but I can't write anything to this AHB SRAM array from the code. I try to fill the array with some values, but the array stays filled with zeroes. I also can't write anything to AHB SRAM manually during debugging. No exception occurs when the code tries to write to this array, code execution goes on as if it has successfully written the values.
The array is declared as below:
uint8_t uart_buffers_tx[3][UART_OUTPUT_BUFFER_SZ] __attribute__((section(".bss.$RamAHB16")));
After building the project I do see that the array is located in AHB SRAM.
Once I remove placement attribute from the array declaration, the linker places the array in ordinary SRAM and writing to the array from the code start working without problems (I see desired values during debugging and also see these values coming from that array via UART).
Did I miss anything about AHB SRAM?
Hi,
If you disable DMA, and use core to access the AHB SRAM, is it okay?
When both the core with data bus and the DMA access the same AHB SRAM, the Multilayer AHB Matrix arbitrates between several masters, by default, the Cortex-M3
D-code bus has the highest priority, followed by the I-Code bus. All other masters share a lower priority.
Hope it can help you
BR
XiangJun Rong