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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
6,886 次查看
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

标签 (1)
1 解答
4,195 次查看
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

在原帖中查看解决方案

6 回复数
4,195 次查看
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.

4,196 次查看
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

4,195 次查看
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 项奖励
回复
4,195 次查看
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 项奖励
回复
4,195 次查看
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 项奖励
回复
4,195 次查看
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 项奖励
回复