This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MDK ARM Keil Compiler Flash Memory Setting

Hello guys,
I am migrating from STM32L051C8 (flash 64kByte) to STM32L073VB (flash128kByte) and I am using MDK arm Keil Microvision Compiler.
In MDK arm keil Microvision compiler, I have set the device to STM32L073VB and in target it change to the correct size and now the compiler know the size of flash is 128kByte.
But why I still get warning message at Build Output (after compile the code), it ask me to reduce the code size:
STM32L053R8_NUCLEO\STM32L053R8_NUCLEO.sct(19): warning: L6312W: Empty Execution region description for region ER_IROM1
Program Size: Code=35568 RO-data=18776 RW-data=516 ZI-data=5684
My code size in MAP file as shown below:
Total RO Size (Code + RO Data) 54344 (53.07kB)
Total RW Size (RW Data + ZI Data) 6200 (6.05kB)
Total ROM Size (Code + RO Data + RW Data) 54452 (53.18kB)
The current code size is just about 53kB, and my current device has flash about 128kB, but why compiler ask me to reduce the code size?
In the attachment, I show I have set my device to STM32L073VB that have flash memory 128kByte.
Any suggestion what I should do? Is there anything that I miss to set in order to enable the compiler to know the current MCU flash memory is 128kByte?
Parents
  • Where is the warning to reduce the size? The warning just says that nothing is allocated to the region ER_IROM1. However it should still be placing code there...

    Can you share a screenshot of the Linker tab in Options view?

Reply
  • Where is the warning to reduce the size? The warning just says that nothing is allocated to the region ER_IROM1. However it should still be placing code there...

    Can you share a screenshot of the Linker tab in Options view?

Children