Question
STM32F407 - 2 RAM banks
Posted on June 11, 2013 at 23:11
I have a stupid question:
F407 has 2 RAM banks - 128K with DMA access, and 64K no DMA access. 1) I saw that in all examples only the 1st bank used. 2) I saw that in all IAP Firmware Upgrade exampler, bootloader search for 02xxxxxxh value at ''APPLICATION_START''. 3) The first bank (IRAM1) is set as default in Keil. So, what is the better way to use both banks? Some of my applications needs the big buffers with DMA access, and I make all efforts to give max. as possible memory for this. I set IRAM2 (64k CCM) as default, make one .c file, where my buffers are described, and set in this file properties - to use IRAM1. So only buffers are in the DMA-accessable memory (IRAM1) and all other variables, stack and heap are located in IRAM2. (in supposition, that 64k is enough for this) And, of course, I search 01xxxxxxh instead of 02xxxxxxh in the bootloader. Quiestions: 1) Am I right? 2) May be there is a better way(s) ? 3) What other peoples doing? 4) Is any diference in CPU performance, when the stack and variales are in IRAM2 vs IRAM1 ? Thanks, Alex. #arm-cortex-m4 #iram1 #iram2 #sram-ccm