Hello,
I upgraded to MCUXpresso IDE 25.06 with matching SDK for LPC5536.
Then I created a new C++ project for LPC5536 using the "Create a new C/C++ project" wizard from the Quickstart Panel.
The wizard offers to include a lot of different "SDK software component". I added a bunch, for example, most of the SDK Drivers, FreeRTOS, CMSIS Drivers, etc.
On the Advanced Project Settings, I selected "newlib (none)" and left "TrustZone Project Type" at "None".
After finishing the wizard, I tried to compile the new project, but it fails with:
Building target: LPC5536_Project.axf
Invoking: MCU C++ Linker
arm-none-eabi-c++ -nostdlib -Xlinker -Map="LPC5536_Project.map" -Xlinker --gc-sections -Xlinker -print-memory-usage -Xlinker --sort-section=alignment -Xlinker --cref -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -T LPC5536_Project_Debug.ld -Xlinker --out-implib="LPC5536_Project_CMSE_lib.o" -Xlinker --cmse-implib -o "LPC5536_Project.axf" ./utilities/str/fsl_str.o ./utilities/debug_console/fsl_debug_console.o ./utilities/fsl_assert.o ./startup/startup_lpc5536.o ./source/LPC5536_Project.o ./source/cpp_config.o ./source/semihost_hardfault.o ./freertos/freertos-kernel/portable/MemMang/heap_3.o ./freertos/freertos-kernel/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.o ./freertos/freertos-kernel/portable/GCC/ARM_CM33_NTZ/non_secure/port.o ./freertos/freertos-kernel/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.o ./freertos/freertos-kernel/croutine.o ./freertos/freertos-kernel/event_groups.o ./freertos/freertos-kernel/list.o ./freertos/freertos-kernel/queue.o ./freertos/freertos-kernel/stream_buffer.o ./freertos/freertos-kernel/tasks.o ./freertos/freertos-kernel/timers.o ./drivers/fsl_anactrl.o ./drivers/fsl_clock.o ./drivers/fsl_common.o ./drivers/fsl_common_arm.o ./drivers/fsl_crc.o ./drivers/fsl_ctimer.o ./drivers/fsl_dac.o ./drivers/fsl_dma.o ./drivers/fsl_flexcomm.o ./drivers/fsl_freqme.o ./drivers/fsl_gint.o ./drivers/fsl_gpio.o ./drivers/fsl_i2c.o ./drivers/fsl_i2c_cmsis.o ./drivers/fsl_i2c_dma.o ./drivers/fsl_inputmux.o ./drivers/fsl_irtc.o ./drivers/fsl_lpadc.o ./drivers/fsl_opamp.o ./drivers/fsl_ostimer.o ./drivers/fsl_pint.o ./drivers/fsl_power.o ./drivers/fsl_reset.o ./drivers/fsl_sctimer.o ./drivers/fsl_spi.o ./drivers/fsl_spi_cmsis.o ./drivers/fsl_spi_dma.o ./drivers/fsl_sysctl.o ./drivers/fsl_usart.o ./drivers/fsl_usart_cmsis.o ./drivers/fsl_usart_dma.o ./drivers/fsl_utick.o ./drivers/fsl_vref.o ./drivers/fsl_wwdt.o ./device/system_LPC5536.o ./component/uart/fsl_adapter_usart.o ./component/serial_manager/fsl_component_serial_manager.o ./component/serial_manager/fsl_component_serial_port_uart.o ./component/lists/fsl_component_generic_list.o ./board/board.o ./board/clock_config.o ./board/peripherals.o ./board/pin_mux.o
C:/nxp/MCUXpressoIDE_25.6.136/ide/plugins/com.nxp.mcuxpresso.tools.win32_25.6.0.202501151204/tools/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld.exe: LPC5536_Project_CMSE_lib.o: no symbol found for import library
C:/nxp/MCUXpressoIDE_25.6.136/ide/plugins/com.nxp.mcuxpresso.tools.win32_25.6.0.202501151204/tools/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld.exe: LPC5536_Project_CMSE_lib.o: failed to generate import library
C:/nxp/MCUXpressoIDE_25.6.136/ide/plugins/com.nxp.mcuxpresso.tools.win32_25.6.0.202501151204/tools/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld.exe: final link failed: no symbols
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:81: LPC5536_Project.axf] Error 1
make: *** [makefile:72: all] Error 2
Why does this new and empty project not compile successfully?
I wonder why this '--out-implib="LPC5536_Project_CMSE_lib.o' is in the linker command line.
I also spotted "implib" related options in the project settings, see below:
The options of the linker invocation highlighted in yellow are new to me and I have never seen them in other LPC5536 projects before.
What have I done/selected to make these command line options appear? How do I get rid of them?
Thanks.
Daniel
Solved! Go to Solution.
Hello,
I found the setting that prevents successful compilation:
If I set this to "none", the project compiles.
I you ask me, I'd vow that I did not set TrustZone for the linker to "secure" in the new project wizard, your honor.
Case closed.
Happy weekend.
BR
Daniel
Hello,
I found the setting that prevents successful compilation:
If I set this to "none", the project compiles.
I you ask me, I'd vow that I did not set TrustZone for the linker to "secure" in the new project wizard, your honor.
Case closed.
Happy weekend.
BR
Daniel