This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C129EXL: Linker warnings when building with sysconfig

Part Number: EK-TM4C129EXL
Other Parts Discussed in Thread: SYSCONFIG, TM4C129ENCPDT,

Tool/software:

Hi,

I am currently trying to build a blink project using sysconfig for the TM4C129EXL dev board. After modifying some include paths in the linker to fix compilation errors (added the Tiva SDK driverlib path), I am getting the following linker warnings about incompatible wchar_t types and missing SECTIONS specifications.

**** Build of configuration Debug for project my_blink ****

"C:\\ti\\ccs1271\\ccs\\utils\\bin\\gmake" -k -j 12 all -O 
 
Building file: "../my_blink.sysconfig"
Invoking: SysConfig
"C:/ti/ccs1271/ccs/utils/sysconfig_1.20.0/sysconfig_cli.bat" --script "C:/Users/eric.wu/workspace_v12/my_blink/my_blink.sysconfig" -o "syscfg" -d "TM4C129x" --compiler ccs
Running script...
Validating...
Generating Code (my_blink.sysconfig)...
Writing C:\Users\eric.wu\workspace_v12\my_blink\Debug\syscfg\pinout.c...
Writing C:\Users\eric.wu\workspace_v12\my_blink\Debug\syscfg\pinout.h...
Writing C:\Users\eric.wu\workspace_v12\my_blink\Debug\syscfg\summary.csv...
Finished building: "../my_blink.sysconfig"
 
Building file: "syscfg/pinout.c"
Invoking: Arm Compiler
"C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/eric.wu/workspace_v12/my_blink" --include_path="C:/ti/TivaWare_C_Series-2.2.0.295" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C129ENCPDT -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/pinout.d_raw" --include_path="C:/Users/eric.wu/workspace_v12/my_blink/Debug/syscfg" --obj_directory="syscfg"  "syscfg/pinout.c"
Finished building: "syscfg/pinout.c"
 
Building file: "../main.c"
Invoking: Arm Compiler
"C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/eric.wu/workspace_v12/my_blink" --include_path="C:/ti/TivaWare_C_Series-2.2.0.295" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C129ENCPDT -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" --include_path="C:/Users/eric.wu/workspace_v12/my_blink/Debug/syscfg"  "../main.c"
Finished building: "../main.c"
 
Building target: "my_blink.out"
Invoking: Arm Linker
"C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=ccs="ccs" --define=PART_TM4C129ENCPDT -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"my_blink.map" --heap_size=0 --stack_size=512 -i"C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/lib" -i"C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/gcc" -i"C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="my_blink_linkInfo.xml" --rom_model -o "my_blink.out" "./main.obj" "./syscfg/pinout.obj" "./tm4c129encpdt_startup_ccs.obj" "../tm4c129encpdt.cmd"  -llibc.a -llibdriver.a 
<Linking>
warning #16032-D: object files have incompatible wchar_t types ("C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/gcc/libdriver.a<gpio.o>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
warning #16032-D: object files have incompatible wchar_t types ("C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/gcc/libdriver.a<interrupt.o>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
warning #16032-D: object files have incompatible wchar_t types ("C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/gcc/libdriver.a<sysctl.o>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
warning #16032-D: object files have incompatible wchar_t types ("C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/gcc/libdriver.a<cpu.o>" = --wchar_t=32, "./main.obj" = --wchar_t=16)
warning #10247-D: creating output section ".text.GPIODirModeSet" without a SECTIONS specification
warning #10247-D: creating output section ".text.GPIOPadConfigSet" without a SECTIONS specification
warning #10247-D: creating output section ".text.GPIOPinWrite" without a SECTIONS specification
warning #10247-D: creating output section ".text.GPIOPinTypeGPIOOutput" without a SECTIONS specification
warning #10247-D: creating output section ".text.GPIOPinTypeUART" without a SECTIONS specification
warning #10247-D: creating output section ".text.GPIOPinConfigure" without a SECTIONS specification
warning #10247-D: creating output section ".rodata.g_pui32GPIOBaseAddrs" without a SECTIONS specification
warning #10247-D: creating output section ".text.SysCtlPeripheralEnable" without a SECTIONS specification
Finished building target: "my_blink.out"
 

**** Build Finished ****

  • Hi,

      Sysconfig for TM4C129 is mainly to configure the pinmux. Sysconfig for TM4C12x does not configure peripherals, software stacks, RTOS and other components as TM4C12x MCU does not use SimpleLink but rather TivaWare. 

      You should download TivaWare which I believe you have done already. After you download and install TivaWare, example projects can be imported from C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c129exl. These projects already have the correct CCS project and build settings. For example, you can import the C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c129exl\blinky example. It will be ready to run on the EK-TM4C129EXL LaunchPad. You can reference these examples and expand for your application requirements. 

  • Thanks Charles. Are there any examples that use sysconfig for the TM4C129?

  • Hi,

      No, there are no examples using sysconfig for TM4C129. As I explained earlier, the only thing you can use sysconfig for TM4C is for the pinmuxing, not configuring the software and peripherals as TM4C129 is not based on Simple link ecosystem. Please use TivaWare SDK directly to develop your applications. First try to import a simple example like the blinky, hello or project0 from TivaWare SDK. All TivaWare examples are preconfigured to work with the LaunchPad and there is no other settings you need to worry about. Just import them and you can run them right away. Once you get a hang of it, you can add features to accommodate your application requirements.