AnsweredAssumed Answered

MCUXpresso Ubuntu 16.04 Linking printf library on examples fail.

Question asked by kwat100br@gmail.com on Sep 12, 2018
Latest reply on Sep 17, 2018 by Carlos_Mendoza

Hello!

 

I have a Virtual Machine 5.2 running on a Mac OSX 10.13.6. 

 

Inside VM running Ubuntu 16.04 

Java:

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

 

Mcu Expresso:

10.2.1_795 was installed with chmod +x, then sudo ./mcuXpresso_*_*.deb.bin

 

I was  able to build and run blinky. But I tried the ADC example including the appropriate driver files, such as gpio, and adc. I added them under project properties.

 

This is the error message:

/home/USER_NAME/Documents/MCUXpresso_10.2.1_795/workspace2/adc/Debug/../driver/debug_printf.c:55: undefined reference to `__write'
makefile:33: recipe for target 'adc.axf' failed

 

Problems error message, more details

Description Resource Path Location Type
undefined reference to `__write' debug_printf.c /adc/driver line 55 C/C++ Problem

 

 

when I click __Write and do show definition I have 3 locations its defined:

adc_driver/

freertos/debug

intpriority/driver/debug

 

If I comment out the printf I can get the project to compile.

I can see the lib_small_printf_m0 on the include paths/libraries under project properties.

 

 

What other info do you need to help me debug this? I would like to find the root cause and solve this just in case my toolchain or build environment is set up incorrectly. 

 

I also tried manually including a bunch of the header files. If I were to modify my makefile How can I do this globally so all c projects will build correctly with correctly linked printf and other drivers.

Outcomes