bare metal project for K60 not building

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

bare metal project for K60 not building

694 Views
bowerymarc
Contributor V

I'm trying to build then k60-nfc project in KINETIS_120MHZ_SC.zip with freshly updated CW 10.5 (no license) and having a couple of problems:

First, the file fpu_asm.s wouldn't build - lots of syntax errors etc.  Then I saw this thread:

problems building bare metal examples for kinetis K70

Disabling it did let the compiler complete.  But, I think that's avoiding the real issue, that this project is old and it's using an old toolchain with a different assembler syntax.  Just a guess.  But I notice that when you make new projects, a different toolchain is used.  Looks like Freescale needs to update this code.

Anyhow, so the compiler finishes, and the linker crashes with:

AppName: mwldarm.exe AppVer: 3.0.0.59 ModName: lmgr11.dll

ModVer: 0.0.0.0 Offset: 0007f841

linker crash.png

And returns with:

mingw32-make: *** [k60-nfc.afx] Error -1073741811

I think this toolchain has some kind of bug, because on the exact same CW and computer, with the G++ lite toolchain I don't get this error.  Or it's the project settings, who knows. 

0 Kudos
2 Replies

359 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

in {CW10.5 install folder}\MCU\bin folder, try rename the lmgr8c.dll as lmgr11.dll, and replace lmgr11.dll. can it fix the problem?

359 Views
bowerymarc
Contributor V

Hi Jennie,

That didn't help but I noticed there is an lmgr11.dll in the same folder as the linker (C:\Freescale\CW MCU v10.5\MCU\ARM_Tools\Command_Line_Tools) so I'm guessing it's using that one instead.  So I copied over lmgr8c.dll from bin, and renamed it lmgr11.dll and that did let me compile, I just got some warnings:

'Invoking: ARM Linker'

"C:/Freescale/CW MCU v10.5/MCU/ARM_Tools/Command_Line_Tools/mwldarm" -o "k60-nfc.afx" @@"k60-nfc.args"  

C:/Freescale/CW MCU v10.5/MCU/ARM_Tools/Command_Line_Tools/mwldarm|Linker|Warning

>Symbol malloc multiply defined in alloc_c.obj() and

>libc99_Thumb_LE_VFP_v7M.a(alloc.o        )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(alloc.o        )

>libc99_Thumb_LE_VFP_v7M.a(alloc.o        )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(alloc.o        )

>libc99_Thumb_LE_VFP_v7M.a(mem.o          )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(mem.o          )

>libc99_Thumb_LE_VFP_v7M.a(mem.o          )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(mem.o          )

>libc99_Thumb_LE_VFP_v7M.a(printf.o       )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(printf.o       )

>libc99_Thumb_LE_VFP_v7M.a(printf.o       )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(printf.o       )

>libc99_Thumb_LE_VFP_v7M.a(string.o       )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(string.o       )

>libc99_Thumb_LE_VFP_v7M.a(string.o       )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(string.o       )

>libc99_Thumb_LE_VFP_v7M.a(string.o       )

>Ignoring the definition in libc99_Thumb_LE_VFP_v7M.a(string.o       )

>libc99_Thumb_LE_VFP_v7M.a(string.o       )

0 Kudos