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 Microvision 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
  • Hi Park, maybe your project  uses a custom linker scatter file. Please check setting "Options for Target ... -> Linker -> Use Memory Layout from Target Dialog". If this is not set. the new values from the target tab are not used and you need to manually adjust your linker scatter file.

    The linker warning "L6312W: Empty Execution region description for region ER_IROM1" does also not tell, you are short of flash space. But it looks like a miss-written scatter file. So, I would start looking there.

Reply
  • Hi Park, maybe your project  uses a custom linker scatter file. Please check setting "Options for Target ... -> Linker -> Use Memory Layout from Target Dialog". If this is not set. the new values from the target tab are not used and you need to manually adjust your linker scatter file.

    The linker warning "L6312W: Empty Execution region description for region ER_IROM1" does also not tell, you are short of flash space. But it looks like a miss-written scatter file. So, I would start looking there.

Children
No data