STM32H745 Bootloader and RAM on STM32H745XI-DISCO
I want to create and application on a STM32H745XI-DISCO. I am not using M7 core only M4.
Reference manual says that upto 864kB of SRAM and 2MB of flash are available.
I will receive the application sw via Can. My bootloader will save it RAM and after checking CRC etc., It will write this to internal flash. App code is around 300 kB. So 256kB of flash and 512 kB of RAM would be sufficient. After writing to flash sw will jump to application.
The application sw will receive data which is arund 730kB via can and it will save it to flash.
Here is a part of ST generated linker for bootloader;
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x10048000; /* previously = 0x10048000, end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x200; /* previously = 0x200, required amount of heap */
_Min_Stack_Size = 0x400; /* previously = 0x400,required amount of stack */
/* Specify the memory areas */
MEMORY
{
BOOTLOADER_FLASH (rx) : ORIGIN = 0x08100000, LENGTH = 256K
BOOTLOADER_RAM (xrw) : ORIGIN = 0x10000000, LENGTH = 288K /* previously = 288K */
}
It works fine with this but If I increase the length for RAM it does not work.
How can I do that?
Here is the the linker for Application
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x10048000; /* previously = 0x10048000, end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x200; /* previously = 0x200, required amount of heap */
_Min_Stack_Size = 0x400; /* previously = 0x400,required amount of stack */
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08140000, LENGTH = 512K /* can be extended up to 768K */
RAM (xrw) : ORIGIN = 0x10000000, LENGTH = 288K /* previously = 288K */
}I want to have as much as possible ram here and a1Mb extra flash section to save data.How can I that?
