why am I getting unresolved externals with the new install of 3.0

cancel
Showing results for 
Search instead for 
Did you mean: 

why am I getting unresolved externals with the new install of 3.0

Jump to solution
4,460 Views
BillTheBiker
Contributor III

And why does the manual show a wizard interface to install the 1.2.0 version of the SDK and yet my installer just creates the file tree on disk?  I am migrating from 2.0...

 

'Invoking: Cross ARM C++ Linker'

arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections  -g3 -T "C:/Users/williamjsell/Documents/CaltmoreSandbox/Dual Accel ET/ElephantTimer/Project_Settings/Linker_Files/ProcessorExpert.ld" -Xlinker --gc-sections -L"C:/Users/williamjsell/Documents/CaltmoreSandbox/Dual Accel ET/ElephantTimer/Project_Settings/Linker_Files" -Wl,-Map,"ElephantTimer.map" -o "ElephantTimer.elf"  ./Sources/Accelerometer.o ./Sources/Clocks.o ./Sources/Events.o ./Sources/FaceManager.o ./Sources/LEDTask.o ./Sources/SpeechData.o ./Sources/SpeechManager.o ./Sources/Spherical.o ./Sources/angle_cal.o ./Sources/asin.o ./Sources/hal_dev_mma8451.o ./Sources/hal_i2c.o ./Sources/main.o  ./Project_Settings/Startup_Code/startup.o  ./Generated_Code/Bit1.o ./Generated_Code/Bit2.o ./Generated_Code/Bit3.o ./Generated_Code/Bit4.o ./Generated_Code/Bit5.o ./Generated_Code/Bit6.o ./Generated_Code/BitIoLdd1.o ./Generated_Code/BitIoLdd2.o ./Generated_Code/Cpu.o ./Generated_Code/DA1.o ./Generated_Code/DacLdd1.o ./Generated_Code/EInt1.o ./Generated_Code/EInt2.o ./Generated_Code/FRTOS1.o ./Generated_Code/HF1.o ./Generated_Code/KSDK1.o ./Generated_Code/PE_LDD.o ./Generated_Code/TI1.o ./Generated_Code/TU1.o ./Generated_Code/UTIL1.o ./Generated_Code/Vectors.o ./Generated_Code/croutine.o ./Generated_Code/event_groups.o ./Generated_Code/heap_1.o ./Generated_Code/heap_2.o ./Generated_Code/heap_3.o ./Generated_Code/heap_4.o ./Generated_Code/list.o ./Generated_Code/port.o ./Generated_Code/queue.o ./Generated_Code/tasks.o ./Generated_Code/timers.o  

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-abort.o): In function `abort':

abort.c:(.text.abort+0xa): undefined reference to `_exit'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-sbrkr.o): In function `_sbrk_r':

sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-signalr.o): In function `_kill_r':

signalr.c:(.text._kill_r+0xe): undefined reference to `_kill'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-signalr.o): In function `_getpid_r':

signalr.c:(.text._getpid_r+0x2): undefined reference to `_getpid'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-writer.o): In function `_write_r':

writer.c:(.text._write_r+0x10): undefined reference to `_write'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-closer.o): In function `_close_r':

closer.c:(.text._close_r+0xc): undefined reference to `_close'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-fstatr.o): In function `_fstat_r':

fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-isattyr.o): In function `_isatty_r':

isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-lseekr.o): In function `_lseek_r':

lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek'

c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg.a(lib_a-readr.o): In function `_read_r':

readr.c:(.text._read_r+0x10): undefined reference to `_read'

collect2.exe: error: ld returned 1 exit status

Labels (1)
1 Solution
1,769 Views
BillTheBiker
Contributor III

Thanks Joe,

Yes it took the addition of the line

-specs=nano.specs -specs=nosys.specs

in the linker Miscellaneous properties to resolve this

View solution in original post

6 Replies
1,769 Views
joeseymour
Contributor III

Hi,

You're seeing those messages because KDS2 used a toolchain that provided definitions of those functions by default. With the launchpad tools, used by KDS3, you have to select which implementations you require:

* If you're trying to use semihosting then you need to pass -specs=rdimon.specs

* Otherwise you can use stub functions (that do nothing) with -specs-nosys.specs

There are more details available in the migration guide: Kinetis Design Studio: Migrating KDS V2.0.0 Projects to GNU Tools for ARM Embedded (Launchpad, KDS V...

Hope that helps.

1,770 Views
BillTheBiker
Contributor III

Thanks Joe,

Yes it took the addition of the line

-specs=nano.specs -specs=nosys.specs

in the linker Miscellaneous properties to resolve this

1,769 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello william,

Could you please say your problem clearly ? please say step by step . then i can repeat it on my side., thank !

Does your project create on kds 2.0 ? whether with SDK ? if yes , which version ?

And after you install the KSDK1.2 on KDS 3.0 , when you create a simple project , whether it can work well ?

BR

Alice

0 Kudos
1,769 Views
BillTheBiker
Contributor III

Thanks Alice

Yes this was a working project under 2.0; I just downloaded the new ide and opened this project; not many steps at all; I tried to install the new sdk v1.2.0, but there was no wizard as per the install instructions, just the file tree created in disk, so not sure how to install this into the project; I'll try a new project, but I really need to get my current one working;

0 Kudos
1,769 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello william,

(1) Does your project on KDS2.0 include SDK ? if not , on KDS 3.0 , there is not need .

And i see you use the Processor Expert , please tell me you use which chip , i can test porting KDS 2.0 to KDS 3.0 .

And you can also refer to  saide , refer to that migration guide to port your project to KDS 3.0

(2) About install KSDK 1.2 ,  please refer to :

...\Freescale\KDS_3.0.0\doc  ->  4.2 Installing Kinetis SDK into KDS .

BR

Alice

0 Kudos
1,769 Views
joeseymour
Contributor III

Also, after opening a KDS2 project in KDS3, consider launching the KDS upgrade assistant, from the Project menu. It should help you to make the necessary modifications to get your project building.

0 Kudos