U8g2 work error on TM4C123GXL

I have already done many project (Arduino nano,due,mega2560 and esp8266)contain u8g2 on PIO,but when i try to use it on TM4C123GXL as past,somthing happen.

.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp: In function 'uint8_t u8x8_gpio_and_delay_arduino(u8x8_t*, uint8_t, uint8_t, void*)':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:158:14: error: 'yield' was not declared in this scope
        yield();
              ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp: In function 'void arduino_hw_spi_3w_flush()':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:715:7: error: 'SPI' was not declared in this scope
       SPI.transfer(arduino_hw_spi_3w_buffer[i]);
       ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_3wire_hw_spi(u8x8_t*, uint8_t, uint8_t, void*)':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:787:2: error: 'SPI' was not declared in this scope
  SPI.begin();
  ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:800:45: error: 'SPI_MODE0' was not declared in this scope
                 case 0: internal_spi_mode = SPI_MODE0; break;
                                             ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:801:45: error: 'SPI_MODE1' was not declared in this scope
                 case 1: internal_spi_mode = SPI_MODE1; break;
                                             ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:802:45: error: 'SPI_MODE2' was not declared in this scope
                 case 2: internal_spi_mode = SPI_MODE2; break;
                                             ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:803:45: error: 'SPI_MODE3' was not declared in this scope
                 case 3: internal_spi_mode = SPI_MODE3; break;
                                             ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:808:73: error: 'SPISettings' was not declared in this scope
                 SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));
                                                                         ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_hw_spi(u8x8_t*, uint8_t, uint8_t, void*)':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:880:2: error: 'SPI' was not declared in this scope
  SPI.transfer((uint8_t)*data);
  ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:918:7: error: 'SPI' was not declared in this scope
       SPI.begin();
       ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:934:30: error: 'SPI_MODE0' was not declared in this scope
  case 0: internal_spi_mode = SPI_MODE0; break;
                              ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:935:30: error: 'SPI_MODE1' was not declared in this scope
  case 1: internal_spi_mode = SPI_MODE1; break;
                              ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:936:30: error: 'SPI_MODE2' was not declared in this scope
  case 2: internal_spi_mode = SPI_MODE2; break;
                              ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:937:30: error: 'SPI_MODE3' was not declared in this scope
  case 3: internal_spi_mode = SPI_MODE3; break;
                              ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:941:84: error: 'SPISettings' was not declared in this scope
       SPI.beginTransaction(SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));
                                                                                    ^
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_hw_i2c(u8x8_t*, uint8_t, uint8_t, void*)':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp:1334:12: error: 'class TwoWire' has no member named 'setClock'
       Wire.setClock(u8x8->bus_clock); 
            ^
*** [.pio/build/lptm4c1230c3pm/lib0ce/U8g2/U8x8lib.cpp.o] Error 1
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8g2lib.cpp: In function 'void u8g2_print_callback(const char*)':
.pio/libdeps/lptm4c1230c3pm/U8g2/src/U8g2lib.cpp:47:9: error: 'yield' was not declared in this scope
   yield(); 
         ^
*** [.pio/build/lptm4c1230c3pm/lib0ce/U8g2/U8g2lib.cpp.o] Error 1

the console say:
yield() , SPI,Wire no declare.I don’t know what happen in it.and i can’t find any way to solve it.
can anyone help me?pretty thanks.:slight_smile:

The problem is multi-facetted: If you look into the core implementation for the LPTM4C1230C3PM, at GitHub - energia/tivac-core, you will find that the core does not implement a yield() function. That can be worked-around by re-defining it to e.g. a delay(0).

Also, it has the SPI library, but it is not recognize in the dependency tree

Dependency Graph
|-- <U8g2> 2.28.8
|   |-- <AIR430BoostEuropeETSI> 1.0.0
|   |-- <Wire> 1.0.1
|-- <AIR430BoostEuropeETSI> 1.0.0

this is fixed by adding SPI to lib_deps.

[env:lptm4c1230c3pm]
platform = titiva
board = lptm4c1230c3pm
framework = arduino
lib_deps =
     olikraus/U8g2 @ ^2.28.8
     SPI
lib_ldf_mode = chain+

however, you will then run into the next problem that the TIVA core just doesn’t implement some SPI function in the version PlatformIO uses.

.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_3wire_hw_spi(u8x8_t*, uint8_t, uint8_t, void*)':
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:807:17: error: 'class SPIClass' has no member named 'beginTransaction'
             SPI.beginTransaction(
                 ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:808:73: error: 'SPISettings' was not declared in this scope
                 SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));
                                                                         ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:840:17: error: 'class SPIClass' has no member named 'endTransaction'
             SPI.endTransaction();
                 ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_hw_spi(u8x8_t*, uint8_t, uint8_t, void*)':
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:941:11: error: 'class SPIClass' has no member named 'beginTransaction'
       SPI.beginTransaction(SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));
           ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:941:84: error: 'SPISettings' was not declared in this scope
       SPI.beginTransaction(SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));
                                                                                    ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:964:11: error: 'class SPIClass' has no member named 'endTransaction'
       SPI.endTransaction();
           ^
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp: In function 'uint8_t u8x8_byte_arduino_hw_i2c(u8x8_t*, uint8_t, uint8_t, void*)':
.pio\libdeps\lptm4c1230c3pm\U8g2\src\U8x8lib.cpp:1334:12: error: 'class TwoWire' has no member named 'setClock'
       Wire.setClock(u8x8->bus_clock);
            ^

That is because

PACKAGES:
 - framework-energiativa 1.10002.0 (1.0.2)

does not have the implementation, but the latest 1.0.4 has it (see e.g. here).

So, a package upgrade has to be done – an issue for that was already open. I forked the core and added the needed package.json to it so that it can be used with platorm_packages. Hwoever, when then using

[env:lptm4c1230c3pm]
platform = titiva
board = lptm4c1230c3pm
framework = arduino
lib_deps =
     olikraus/U8g2 @ ^2.28.8
     SPI
lib_ldf_mode = chain+
build_flags = -Dyield()=delay(0)
platform_packages =
        framework-energiativa@https://github.com/maxgerhardt/tivac-core.git

one runs into an issue with a standard C library function not found.

C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp: In constructor 'String::String(unsigned char, unsigned char)':
Compiling .pio\build\lptm4c1230c3pm\FrameworkEnergia\random.c.o
C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp:74:23: error: 'utoa' was not declared in this scope
  utoa(value, buf, base);
                       ^
C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp: In constructor 'String::String(unsigned int, unsigned char)':
C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp:90:23: error: 'utoa' was not declared in this scope
  utoa(value, buf, base);
                       ^
C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp: In member function 'unsigned char String::concat(unsigned int)':
C:\Users\Max\.platformio\packages\framework-energiativa\cores\tivac\WString.cpp:307:19: error: 'utoa' was not declared in this scope
  utoa(num, buf, 10);
                   ^
*** [.pio\build\lptm4c1230c3pm\FrameworkEnergia\WString.cpp.o] Error 1

It seems that a compiler upgrade was necessary. Looking at

it needs a 8.3.1 GCC but PlatformIO is using

toolchain-gccarmnoneeabi 1.40804.0 (4.8.4)

for compilation. After looking up available toolchain-gccarmnoneeabi versions that can be fixed by again overriding the package, using the platformio.ini

[env:lptm4c1230c3pm]
platform = titiva
board = lptm4c1230c3pm
framework = arduino
lib_deps =
     olikraus/U8g2 @ ^2.28.8
     SPI
lib_ldf_mode = chain+
build_flags = -Dyield()=delay(0)
platform_packages =
        framework-energiativa@https://github.com/maxgerhardt/tivac-core.git
        platformio/toolchain-gccarmnoneeabi@~1.80301.0

which gives

>pio run
Processing lptm4c1230c3pm (platform: titiva; board: lptm4c1230c3pm; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/titiva/lptm4c1230c3pm.html
PLATFORM: TI TIVA (3.0.0) > TI LaunchPad (Tiva C) w/ tm4c123 (80MHz)
HARDWARE: LPTM4C1230C3PM 80MHz, 32KB RAM, 256KB Flash
DEBUG: Current (ti-icdi) On-board (ti-icdi)
PACKAGES:
 - framework-energiativa 1.10004.0+sha.7d83677
 - toolchain-gccarmnoneeabi 1.40804.0 (4.8.4)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain+, Compatibility ~ soft
Found 13 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <U8g2> 2.28.8
|   |-- <SPI> 1.0.0
|   |-- <Wire> 1.0.1
|-- <SPI> 1.0.0
Building in release mode
..
Building .pio\build\lptm4c1230c3pm\firmware.bin
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   3.9% (used 1280 bytes from 32768 bytes)
Flash: [          ]   2.3% (used 6052 bytes from 262144 bytes)
============== [SUCCESS] Took 28.76 seconds ==============

that is with the above platformio.ini and a src\main.cpp from HelloWorld.ino of

#include <Arduino.h>
#include <U8x8lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif

U8X8_SSD1306_128X64_NONAME_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /*
reset=*/ 8);

void setup(void)
{
  /* U8g2 Project: SSD1306 Test Board */
  //pinMode(10, OUTPUT);
  //pinMode(9, OUTPUT);
  //digitalWrite(10, 0);
  //digitalWrite(9, 0);

  /* U8g2 Project: KS0108 Test Board */
  //pinMode(16, OUTPUT);
  //digitalWrite(16, 0);

  u8x8.begin();
  u8x8.setPowerSave(0);


}

void loop(void)
{
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.drawString(0,1,"Hello World!");
  u8x8.refreshDisplay();                // only required for SSD1606/7
  delay(2000);
}

Does it work? No idea. Don’t have a board. But it compiles.

2 Likes

Really thank you!Max,it does working!
But I can’t use this line. : build_flags = -Dyield()=delay(0)
If i put it in platform.ini. :

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-g++ -o ".pio/build/lptm4c1230c3pm/src/main.cpp.o" -c -fno-rtti -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -Iinclude -Isrc -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL "src/main.cpp"'
Compiling .pio/build/lptm4c1230c3pm/lib18e/SPI/SPI.cpp.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-g++ -o ".pio/build/lptm4c1230c3pm/lib18e/SPI/SPI.cpp.o" -c -fno-rtti -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL "/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI/SPI.cpp"'
Compiling .pio/build/lptm4c1230c3pm/lib137/Wire/Wire.cpp.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-g++ -o ".pio/build/lptm4c1230c3pm/lib137/Wire/Wire.cpp.o" -c -fno-rtti -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL "/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src/Wire.cpp"'
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/U8g2lib.cpp.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-g++ -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/U8g2lib.cpp.o" -c -fno-rtti -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/U8g2lib.cpp"'
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/U8x8lib.cpp.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-g++ -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/U8x8lib.cpp.o" -c -fno-rtti -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/U8x8lib.cpp"'
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_bitmap.c.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_bitmap.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_box.c.o
platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_bitmap.c"'
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_buffer.c.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_box.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@srcCompiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_circle.c.o
-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_box.c"'
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_cleardisplay.c.o
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_buffer.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_buffer.c"'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_cleardisplay.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41aCompiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_memory.c.o
908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_cleardisplay.c"'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_circle.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_circle.c"'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_memory.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_d_memory.c"'
*** [.pio/build/lptm4c1230c3pm/src/main.cpp.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib18e/SPI/SPI.cpp.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib137/Wire/Wire.cpp.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/U8g2lib.cpp.o] Error 2
Compiling .pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_setup.c.o
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/U8x8lib.cpp.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_bitmap.c.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_box.c.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_buffer.c.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_cleardisplay.c.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_circle.c.o] Error 2
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_memory.c.o] Error 2
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `arm-none-eabi-gcc -o ".pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_setup.c.o" -c -std=gnu11 -Os -ffunction-sections -fdata-sections -Wall -mthumb -nostdlib -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs --param max-inline-insns-single=500 -DF_CPU=80000000L -DPLATFORMIO=50101 -DENERGIA_ARCH_TIVAC -DENERGIA_EK_TM4C123GXL -Dyield()=delay(0) -DARDUINO=10805 -DENERGIA=10004 -Dprintf=iprintf -I.pio/libdeps/lptm4c1230c3pm/U8g2/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/Wire/src -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/libraries/SPI -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/inc -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/system/driverlib -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/cores/tivac -I/Users/wangkelan/.platformio/packages/framework-energiativa@src-6b41a908e28e87862f6277c517fd5c20/variants/EK-TM4C123GXL ".pio/libdeps/lptm4c1230c3pm/U8g2/src/clib/u8g2_d_setup.c"'
*** [.pio/build/lptm4c1230c3pm/lib5de/U8g2/clib/u8g2_d_setup.c.o] Error 2

But it’s OK,I can just note it and yield(). The program can successful build and upload,and my display can work well.
Pretty thank you Max!
Wish you have a nice day:)

Ah, on Linux ot probably needs shell escaping of some form, maybe -Dyield\(\)=delay\(0\) or -D"yield()=delay(0)". Not 100% sure. But glad you could make it work :slight_smile: