Hello,
I' m working on a project using LPC4367, I use µVision MDK-ARM Professional V5.30.0.0, compiler is V6.14. The latest packs are installed:
Keil::LPC4300_DFP 2.9.0
Keil::MDK-Middleware 7.11.1
I would like to use Link-Time Optimization to reduce the code space, but I get some errors/warnings.
Therefore I tried to reproduce this with an example from the pack: USB Device Mass Storage (MBC4300)
.\Debug\MassStorage.axf: Warning: L6124W: Linker asked to preserve internal global: 'USBD_GetVersion'.\Debug\MassStorage.axf: Warning: L6124W: Linker asked to preserve internal global: 'USBD_Uninitialize'.\Debug\MassStorage.axf: Warning: L6124W: Linker asked to preserve internal global: 'USBD_EndpointStall'.\Debug\MassStorage.axf: Error: L6137E: Symbol USBD_Initialize was not preserved by the LTO codegen but is needed by the image..\Debug\MassStorage.axf: Error: L6137E: Symbol USBD_GetVersion was not preserved by the LTO codegen but is needed by the image..\Debug\MassStorage.axf: Error: L6137E: Symbol USBD_Uninitialize was not preserved by the LTO codegen but is needed by the image..\Debug\MassStorage.axf: Error: L6137E: Symbol USBD_EndpointStall was not preserved by the LTO codegen but is needed by the image.
All this functions are part of the pack.
Does this mean I can't use LTO with this pack/drivers, or is there a setting which I need to change?
Thank you.