Hi @sebastianwelzel,
thanks for sharing the screenshot
I found the following information.
The binary size is up to 10MB that's because in the linker file int_sram_dram start from 0x31780000 and the int_sram start from 0x32100000, the image have to covery all memory between them even there is no valid data.
To reduce the image size, I will recommend you keep sections RUN locations but change their LOAD locations, and the start up code will copy the data from LOAD location to RUN location. For this example, changes will be made in linker file (use AT to specify LOAD location, like code below) and startup.s, you can find modified files in the attachment.
.acfls_code_ram :
{
. += (acfls_code_rom_end - acfls_code_rom_start );
} > int_sram
__SDATA = .;
.sram_data : AT(__SDATA)
{
. = ALIGN(4);
*(.data)
*(.data*)
. = ALIGN(4);
*(.mcal_data)
. = ALIGN(16);
__sram_bss_start = .;
*(.bss)
*(.bss*)
. = ALIGN(16);
*(.mcal_bss)
. = ALIGN(4);
__sram_bss_end = .;
} > int_sram_dram
Please try this to reduce the Size of the bin file and generate your blob.