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.

TM4C1231H6PGE: USB device mode configuration problems

Part Number: TM4C1231H6PGE
Other Parts Discussed in Thread: TM4C1233H6PGE, EK-TM4C123GXL, SEGGER, CCSTUDIO, TM4C123GH6PGE, CSD, CODECOMPOSER

I am having an issue configuring USB in device mode. The specific issue that I am having is during configuration after I call USBDCDCInit the program seems to try to access a memory location that is possibly out of bounds. This seems to happen in the provided driver libraries(usbdenum.c) in function USBDCDInit and the section to configure ULPI support. Here is a condensed version of the code that I wrote to configure the usb.

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);

GPIOPinTypeUSBAnalog(GPIO_PORTL_BASE, GPIO_PIN_6);

GPIOPinTypeUSBAnalog(GPIO_PORTL_BASE, GPIO_PIN_7);

USBBufferInit(&g_sTxBuffer);
USBBufferInit(&g_sRxBuffer);

USBStackModeSet(0, eUSBModeForceDevice, 0);

USBDCDCInit(0, &g_sCDCDevice);

  • Update: it seems like the issue might have to do with the hw_memmap #define USB0_BASE. I started commenting out some code where I was having the issue and once the code reaches a line with USB0_BASE it will die with a break address of 0x4aac4bac

  • Hello Micah,

    TM4C1231H6PGE doesn't have a USB peripheral so that's why its causing an error.

    USB peripherals are offered starting with TM4C1233 device so TM4C1233H6PGE would be the package equivalent with USB.

    Best Regards,

    Ralph Jacobi

  • Hi Ralph,

    I made the change to the TM4C1233H6PGE package, but I am still having an issue when configuring USB although it is a little different than before. Now I can go through the steps to configure USB, however when my code continues to configure any other pin/peripheral I get the same error as before. Really it seems like now as soon as I am done configuring USB, as described above, any code that executes afterward ends up at this break address 0x4aac4bac.

  • Hello Micah,

    I don't see a peripheral enable for USB0 peripheral before calling any USB APIs. Please add this right after the call for SYSCTL_PERIPH_GPIOL:

    SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);

    If that has already used in the code or the issue is still present after that adjustment, since the TM4C1233H6PGE only has Device Mode functionality, you may need to try using this instead:

    USBStackModeSet(0, eUSBModeDevice, 0);

    Force Mode is used mainly with devices with USB0ID and USB0VBUS that are used for Host Mode so perhaps using that is causing an issue where the stack is trying to access something not present on the device.

    Best Regards,

    Ralph Jacobi

  • Hi Ralph,

    I added both of your recommended code changes, but the behavior still persists. The other thing that is strange is that while I am debugging if I try to step over any code after the USB configuration I end up at the 0x4aac4bac address, but if I continually step into that code it seems to execute fine. This way I am unable to see exactly where things are going wrong.

  • Hi Micah,

    The behavior you mentioned is simply because the code is in the usblib.lib library file so the compile can't step into it.

    What is your system clock settings?

    Once I have that I will try and re-use your code on my LaunchPad to debug further.

    Best Regards,

    Ralph Jacobi

  • This is the only line of code I have for the system clock

    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_12MHZ);

  • I have been able to step into the usblib while debugging. It seems like things go off the rails once the usbdenum.c in function USBDCDINIT line 512 when attempting to enable the usb interrupt. 

    //
    // Enable the USB interrupt.
    //
    OS_INT_ENABLE(g_psDCDInst[0].ui32IntNum);

  • Hello Micah,

    I suspect there is something larger that is going awry here. I made a very minimal configuration for USB and confirmed that the following code would execute:

        SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHZ);
    
        SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
    
        GPIOPinTypeUSBAnalog(GPIO_PORTD_BASE, GPIO_PIN_4);
    
        GPIOPinTypeUSBAnalog(GPIO_PORTD_BASE, GPIO_PIN_5);
    
        USBBufferInit(&g_sTxBuffer);
        USBBufferInit(&g_sRxBuffer);
    
        USBStackModeSet(0, eUSBModeDevice, 0);
    
        USBDCDCInit(0, &g_sCDCDevice);
    

    Note I used different pins because the LaunchPad has the PM package instead.

    The USB code itself had blank Rx/Tx/Control Handlers and I am not trying to connect to USB. Just prove out that those APIs without any further configurations would avoid program crashing.

    So I suspect you either have the USB connection hooked up and so something is sending data in which is crashing the application, or you have some code that is being processed by the USB stack in one of your handlers that is causing the issue.

    I would recommend you use this document to try and track down what is causing the problem: https://www.ti.com/lit/pdf/spma043

    I will forward mention that there is a holiday for TI in the US tomorrow so I will have to review any further updates you have on this on Monday.

    Best Regards,

    Ralph Jacobi

  • I think I may have found the issue, but in the process uncovered another issue. It looks like someone had commented out the .intvecs section. I commented them back in but now am getting this error.

    "configPkg/linker.cmd", line 95: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section ".bootVecs" size 0x8, overlaps with ".intvecs", size 0x26c (page 0)

    both .bootVecs .intvecs are being defined to be at 0x00.  I have found that the memory location for .intvecs if being defined in my .cmd file, but the memory location for .bootVecs seems to be autogenerated in the linker.cmd file. So far I am unable to fix this issue.

  • Hi Micah,

    That is very strange - I am not familiar with the bootVecs being used for TM4C devices. Can you post the full .cmd file here? Do you know which device was used as the basis for it? Maybe also check your .ccxml file to make sure the right TM4C is selected?

    Best Regards,

    Ralph Jacobi

  • Hi Ralph,

    Here are both of those files. I have also tried to manually change the address of the .intvecs but I get an error that it doesnt line up with FLASH.

    common_hardware.cmd

    /******************************************************************************
    *
    * usb_dev_serial_ccs.cmd - CCS linker configuration file for usb_dev_serial.
    *
    * Copyright (c) 2012-2017 Texas Instruments Incorporated. All rights reserved.
    * Software License Agreement
    *
    * Texas Instruments (TI) is supplying this software for use solely and
    * exclusively on TI's microcontroller products. The software is owned by
    * TI and/or its suppliers, and is protected under applicable copyright
    * laws. You may not combine this software with "viral" open-source
    * software in order to form a larger program.
    *
    * THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
    * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
    * NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    * A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
    * CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
    * DAMAGES, FOR ANY REASON WHATSOEVER.
    *
    * This is part of revision 2.1.4.178 of the EK-TM4C123GXL Firmware Package.
    *
    *****************************************************************************/

    --retain=g_pfnVectors

    /* The following command line options are set as part of the CCS project. */
    /* If you are building using the command line, or for some reason want to */
    /* define them here, you can uncomment and modify these lines as needed. */
    /* If you are using CCS for building, it is probably better to make any such */
    /* modifications in your CCS project and leave this file alone. */
    /* */
    /* --heap_size=0 */
    /* --stack_size=256 */
    /* --library=rtsv7M3_T_le_eabi.lib */

    /* The starting address of the application. Normally the interrupt vectors */
    /* must be located at the beginning of the application. */
    #define APP_BASE 0x00000000
    #define RAM_BASE 0x20000000

    /* System memory map */

    MEMORY
    {
    /* Application stored in and executes from internal flash */
    FLASH (RX) : origin = APP_BASE, length = 0x00040000
    /* Application uses internal RAM for data */
    SRAM (RWX) : origin = 0x20000000, length = 0x00008000
    }

    /* Section allocation in memory */

    SECTIONS
    {
    .intvecs: > APP_BASE
    .text : > FLASH
    .const : > FLASH
    .cinit : > FLASH
    .pinit : > FLASH
    .init_array : > FLASH

    .vtable : > RAM_BASE
    .data : > SRAM
    .bss : > SRAM
    .sysmem : > SRAM
    .stack : > SRAM
    }

    __STACK_TOP = __stack + 1024;

    linker.cmd

    /*
    * Do not modify this file; it is automatically generated from the template
    * linkcmd.xdt in the ti.platforms.tiva package and will be overwritten.
    */

    /*
    * put '"'s around paths because, without this, the linker
    * considers '-' as minus operator, not a file name character.
    */


    -l"C:\Dev\PC\Cirris\CommonHardware\Software\Debug\configPkg\package\cfg\common_hardware_pem4f.oem4f"
    -l"C:\ti\xdctools_3_25_06_96\packages\ti\catalog\arm\cortexm4\tiva\ce\lib\Boot.aem4f"
    -l"C:\ti\xdctools_3_25_06_96\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem4f"
    -l"C:\ti\xdctools_3_25_06_96\packages\ti\targets\arm\rtsarm\lib\boot.aem4f"
    -l"C:\ti\xdctools_3_25_06_96\packages\ti\targets\arm\rtsarm\lib\auto_init.aem4f"

    --retain="*(xdc.meta)"

    /* C6x Elf symbols */
    --symbol_map __TI_STACK_SIZE=__STACK_SIZE
    --symbol_map __TI_STACK_BASE=__stack
    --symbol_map _stack=__stack


    --args 0x200
    -heap 0x1000
    -stack 0x1000

    /*
    * Linker command file contributions from all loaded packages:
    */

    /* Content from xdc.services.global (null): */

    /* Content from xdc (null): */

    /* Content from xdc.corevers (null): */

    /* Content from xdc.shelf (null): */

    /* Content from xdc.services.spec (null): */

    /* Content from xdc.services.intern.xsr (null): */

    /* Content from xdc.services.intern.gen (null): */

    /* Content from xdc.services.intern.cmd (null): */

    /* Content from xdc.bld (null): */

    /* Content from ti.targets (null): */

    /* Content from ti.targets.arm.elf (null): */

    /* Content from xdc.rov (null): */

    /* Content from xdc.runtime (null): */

    /* Content from xdc.services.getset (null): */

    /* Content from ti.targets.arm.rtsarm (null): */

    /* Content from ti.catalog.arm.peripherals.timers (null): */

    /* Content from ti.catalog.arm.cortexm4 (null): */

    /* Content from ti.catalog (null): */

    /* Content from ti.catalog.peripherals.hdvicp2 (null): */

    /* Content from xdc.platform (null): */

    /* Content from xdc.cfg (null): */

    /* Content from ti.catalog.arm.cortexm3 (null): */

    /* Content from ti.catalog.arm.cortexm4.tiva.ce (null): */

    /* Content from ti.platforms.tiva (null): */

    /* Content from configPkg (null): */

    /*
    * symbolic aliases for static instance objects
    */
    xdc_runtime_Startup__EXECFXN__C = 1;
    xdc_runtime_Startup__RESETFXN__C = 1;


    SECTIONS
    {
    .bootVecs: load > 0x0

    xdc.meta: type = COPY
    }

  • Hi Micah,

    I don't know what generated that linker.cmd file, but trash it. I've never seen anything like that used before and its completely incorrect format for TM4C MCUs.

    The common_hardware.cmd is properly formatted. That should work fine.

    Best Regards,

    Ralph Jacobi

  • Hi Ralph,

    So I have tried to trash that linker.cmd file. however everytime that I build the project it is generated again. I was doing some reading online and I think that linker.cmd file comes from the XDC tools. Do I actually need XDC tools? When I first set up this project I got an error that I needed to install XDC Tools, but doing some reading online it seems that XDC tools might only be needed when doing RTOS. My project is not RTOS, but I have not been able to exclude XDC tools without generating lots of errors.

  • Hi Micah,

    Let me get our CCS team to help out with this - I am not sure how to solve that, but I am sure there is a way to resolve it.

    Best Regards,

    Ralph Jacobi

  • Do I actually need XDC tools? When I first set up this project I got an error that I needed to install XDC Tools, but doing some reading online it seems that XDC tools might only be needed when doing RTOS. My project is not RTOS, but I have not been able to exclude XDC tools without generating lots of errors.

    Can you share these errors? XDCTools is typically not needed unless the project is RTSC based and uses SYS/BIOS (Do you have *.cfg file in your project?)

    Thanks

    ki

  • I have 1 .cfg file in my root directory that is empty and several in the generated Debug folder.  Do you want me to send you any of those generated files? Here is the error that I have been getting once I try to remove XDC tools.

  • It sounds like the project was created as a RTSC project. Can you share the three .*project files in your project folder?

    Also provide the *.cfg file

    Thanks

    ki

  • Here are all those files. As I mentioned above the .cfg file at my root is empty so I am omitting that but have included the .cfg files generated in the DEBUG folder

    .ccsproject

    <?xml version="1.0" encoding="UTF-8" ?>
    <?ccsproject version="1.0"?>
    <projectOptions>
    <ccsVersion value="11.0.0"/>
    <deviceVariant value="Cortex M.TM4C1231H6PGE"/>
    <deviceFamily value="TMS470"/>
    <deviceEndianness value="little"/>
    <codegenToolVersion value="20.2.5.LTS"/>
    <isElfFormat value="true"/>
    <rts value="libc.a"/>
    <createSlaveProjects value=""/>
    <templateProperties value="id=com.ti.common.project.core.emptyProjectWithMainTemplate"/>
    <filesToOpen value="main.c"/>
    <isTargetManual value="false"/>
    <connection value="common/targetdb/connections/segger_j-link_connection.xml"/>
    <sourceLookupPath value="${workspace_loc:/${ProjName}/Software}"/>
    </projectOptions>

    .project

    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
    <name>common_hardware</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    <buildCommand>
    <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
    <triggers>full,incremental,</triggers>
    <arguments>
    </arguments>
    </buildCommand>
    </buildSpec>
    <natures>
    <nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
    <nature>com.ti.ccstudio.core.ccsNature</nature>
    <nature>org.eclipse.cdt.core.cnature</nature>
    <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
    <nature>org.eclipse.cdt.core.ccnature</nature>
    <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
    </natures>
    </projectDescription>

    .cproject

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
    <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
    <cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805">
    <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805" moduleId="org.eclipse.cdt.core.settings" name="Debug">
    <externalSettings/>
    <extensions>
    <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
    <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    </extensions>
    </storageModule>
    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
    <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;org.eclipse.cdt.core.GmakeErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug" postbuildStep="&quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin&quot; &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; &quot;${CG_TOOL_ROOT}/bin/armofd&quot; &quot;${CG_TOOL_ROOT}/bin/armhex&quot; &quot;${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin&quot;">
    <folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805." name="/" resourcePath="">
    <toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain.1413321859" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.54786393">
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1186284058" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
    <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C1233H6PGE"/>
    <listOptionValue builtIn="false" value="DEVICE_CORE_ID=CORTEX_M4_0"/>
    <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
    <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
    <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=tm4c1233h6pge.cmd"/>
    <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
    <listOptionValue builtIn="false" value="XDC_VERSION=3.25.6.96"/>
    <listOptionValue builtIn="false" value="INACTIVE_REPOS="/>
    <listOptionValue builtIn="false" value="EXPANDED_REPOS="/>
    <listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={}"/>
    <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
    <listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
    <listOptionValue builtIn="false" value="PRODUCTS="/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.633343291" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.6.LTS" valueType="string"/>
    <targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug.14703105" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug"/>
    <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug.1753679376" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" stopOnErr="true" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug"/>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug.1413904078" name="Arm Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug">
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.852444868" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.686615903" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.16" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.292950500" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.eabi" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.983293382" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC.507068544" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC" value="true" valueType="boolean"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE.1382817670" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE" valueType="definedSymbols">
    <listOptionValue builtIn="false" value="ccs"/>
    <listOptionValue builtIn="false" value="TARGET_IS_TM4C123_RB1"/>
    <listOptionValue builtIn="false" value="ccs=&quot;ccs&quot;"/>
    <listOptionValue builtIn="false" value="PART_TM4C1233H6PGE"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN.430243852" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.1160728128" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.2" valueType="enumerated"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH.1906185431" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/driverlib"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Analog"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Boot"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Buffer"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Commands"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Common"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Controller"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/DataStreams"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/GPIO"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/HAL"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Hardware"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/HighVoltage"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Memory"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Scanner"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Shared"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/USB"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/inc"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/ti-cgt-arm_20.2.5.LTS/include"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/usblib"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ADVICE__POWER.1600127724" name="Enable checking of ULP power rules (--advice:power)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ADVICE__POWER" value="&quot;3,4,5.2,9,10,12.1&quot;" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ADVICE__POWER_SEVERITY.1172308086" name="Set error category for ULP power rules (--advice:power_severity)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ADVICE__POWER_SEVERITY" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ADVICE__POWER_SEVERITY.remark" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.1973519042" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.C_DIALECT.2117170499" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.C_DIALECT.C99" valueType="enumerated"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING.1301765419" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING" valueType="stringList">
    <listOptionValue builtIn="false" value="225"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.1080006377" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER.1563428335" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS.1225397662" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS.1180807634" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS.1326456381" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS.1263765758" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS"/>
    </tool>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.54786393" name="Arm Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug">
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE.305214127" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE.842311674" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE" value="512" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE.748201854" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE" value="0" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE.1316197138" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY.1243224366" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY" valueType="libs">
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/driverlib/ccs/Debug/driverlib.lib"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/usblib/ccs/Debug/usblib.lib"/>
    <listOptionValue builtIn="false" value="libc.a"/>
    </option>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH.583251045" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/ti-cgt-arm_20.2.5.LTS/lib"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.1067393242" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER.653857914" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.VERBOSE_DIAGNOSTICS.1945847904" name="Verbose diagnostics (--verbose_diagnostics)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.VERBOSE_DIAGNOSTICS" value="true" valueType="boolean"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO.1876843930" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS.2088256597" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS.942615326" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS.1286432457" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS"/>
    </tool>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex.936241641" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex"/>
    <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.625441797" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.923625910" name="XDCpath package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.517435879" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.arm.elf.M4F" valueType="string"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1998414317" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.tiva:TM4C1233H6PGE" valueType="string"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.1383014672" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="ti.platforms.tiva:$DeviceId$" valueType="string"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.320181956" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1196794745" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="${CG_TOOL_ROOT}" valueType="string"/>
    </tool>
    </toolChain>
    </folderInfo>
    <sourceEntries>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Software/Library/ti-cgt-arm_20.2.5.LTS/include/libcxx/include"/>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Software/Library/ti-cgt-arm_20.2.5.LTS/include/libcxx/support/runtime"/>
    <entry excluding="tm4c1233h6pge.cmd|USB/usbVCOM.c|Simulators|RemoteSystemsTempFiles|Library/ti-cgt-arm_20.2.5.LTS/include/xlocale|Library/ti-cgt-arm_20.2.5.LTS/include/sys|Library/ti-cgt-arm_20.2.5.LTS/include/machine|Library/ti-cgt-arm_20.2.5.LTS/include/AUTOSAR31|Library/ti-cgt-arm_20.2.5.LTS/lib|tm4c1231h6pge.cmd|Common/xStartup.c|Automation|HAL/LPC|ISP|BundleFlashloader|BootLoader|Memory|Main|linkscripts|JLink|FlashLoader|Project|Rigged|Testing|xSegger|Software/Automation|tm4c123gh6pge_startup_ccs.c|Software/HAL/TIVA/etest_halTIVA_UART.c|Software/HAL/TIVA/etest_halTIVA_Timer.c|Software/HAL/TIVA/etest_halTIVA_SPI.c|Software/HAL/TIVA/etest_halTIVA_I2C.c|Software/HAL/TIVA/etest_halTIVA_ADC.c|Software/HAL/ecTestFramework.c|Software/Memory|etest_main.c|Software/USB/usbVCOM.c|Software/Common/xStartup.c|Software/HAL/LPC|Software/BundleFlashloader|Software/ISP|Software/Library|Software/JLink|Software/linkscripts|Software/Project|Software/Rigged|Software/Simulators|Software/Testing|Software/FlashLoader|Software/BootLoader|Software/BaseObjs|Software/Debug|Software/Main|Software/xSegger|Software/xChip_LPC15XX_M3" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
    </sourceEntries>
    </configuration>
    </storageModule>
    <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
    </cconfiguration>
    <cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805.196100926">
    <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805.196100926" moduleId="org.eclipse.cdt.core.settings" name="Embedded Testing">
    <macros>
    <stringMacro name="BuildArtifactFilePath" type="VALUE_PATH_FILE" value="C:/Dev/PC/Cirris/CommonHardware/Debug/common_hardware.bin"/>
    <stringMacro name="BuildArtifactFileName" type="VALUE_TEXT" value="${ProjName}.bin"/>
    <stringMacro name="BuildArtifactFileExt" type="VALUE_TEXT" value="bin"/>
    </macros>
    <externalSettings/>
    <extensions>
    <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
    <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    <extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
    </extensions>
    </storageModule>
    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
    <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805.196100926" name="Embedded Testing" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
    <folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.29887805.196100926." name="/" resourcePath="">
    <toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain.281315851" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.1771660381">
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.942207186" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
    <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PGE"/>
    <listOptionValue builtIn="false" value="DEVICE_CORE_ID=CORTEX_M4_0"/>
    <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
    <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
    <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=common_hardware.cmd"/>
    <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
    <listOptionValue builtIn="false" value="XDC_VERSION=3.62.1.16_core"/>
    <listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
    <listOptionValue builtIn="false" value="PRODUCTS="/>
    <listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={}"/>
    <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.343974718" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.5.LTS" valueType="string"/>
    <targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug.1803739997" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug"/>
    <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug.682545432" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug"/>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug.1279399800" name="Arm Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug">
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.1674252218" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.517334221" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.16" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.47551419" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.eabi" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.1163992637" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC.219520733" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC" value="true" valueType="boolean"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE.1800076979" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE" valueType="definedSymbols">
    <listOptionValue builtIn="false" value="ccs"/>
    <listOptionValue builtIn="false" value="PART_TM4C123GH6PGE"/>
    <listOptionValue builtIn="false" value="TARGET_IS_TM4C123_RB1"/>
    <listOptionValue builtIn="false" value="EMBEDDEDTESTING"/>
    <listOptionValue builtIn="false" value="ccs=&quot;ccs&quot;"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN.1254488039" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH.153694862" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/driverlib"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Analog"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Boot"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Buffer"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Commands"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Common"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Controller"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/DataStreams"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/GPIO"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/HAL"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Hardware"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/HighVoltage"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Memory"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Scanner"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Shared"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/USB"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/inc"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/ti-cgt-arm_20.2.5.LTS/include"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/usblib"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.388697938" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING.559081756" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING" valueType="stringList">
    <listOptionValue builtIn="false" value="225"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.211046812" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER.1108075750" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS.1628271020" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS.1476733721" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS.946501423" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS.1165088293" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS"/>
    </tool>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.1771660381" name="Arm Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug">
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE.1003096631" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE.2022917836" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE" value="1024" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE.413721488" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE" value="0" valueType="string"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE.1121152397" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY.1373599260" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY" valueType="libs">
    <listOptionValue builtIn="false" value="libc.a"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/driverlib/ccs/Debug/driverlib.lib"/>
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/usblib/ccs/Debug/usblib.lib"/>
    </option>
    <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH.532352911" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
    <listOptionValue builtIn="false" value="${PROJECT_LOC}/Library/ti-cgt-arm_20.2.5.LTS/lib"/>
    </option>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.2083316489" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER.388062925" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
    <option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO.2118224564" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS.1345842091" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS.645884938" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS"/>
    <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS.705285901" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS"/>
    </tool>
    <tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex.2087747767" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex"/>
    <tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1230759473" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1169217867" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="${CG_TOOL_ROOT}" valueType="string"/>
    <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.872342680" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="debug" valueType="string"/>
    </tool>
    </toolChain>
    </folderInfo>
    <sourceEntries>
    <entry excluding="tm4c1231h6pge.cmd|Software/Scanner|Software/HighVoltage|Software/Hardware|Software/GPIO|Software/DataStreams|Software/Controller|Software/Common|Software/Commands|Software/Buffer|Software/Boot|Software/Analog|Software/Memory|Software/USB/usbVCOM.c|Software/Common/xStartup.c|Software/HAL/LPC|Software/BundleFlashloader|Software/ISP|Software/Library|Software/JLink|Software/linkscripts|Software/Project|Software/Rigged|Software/Simulators|Software/Testing|Software/FlashLoader|Software/BootLoader|Software/BaseObjs|Software/Debug|Software/Main|Software/xSegger|Software/xChip_LPC15XX_M3" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Software/Analog/__history"/>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Software/Library/ti-cgt-arm_20.2.5.LTS/include/libcxx/include"/>
    <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Software/Library/ti-cgt-arm_20.2.5.LTS/include/libcxx/support/runtime"/>
    </sourceEntries>
    </configuration>
    </storageModule>
    <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
    </cconfiguration>
    </storageModule>
    <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
    <project id="common_hardware.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.1756522369" name="TMS470" projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
    </storageModule>
    <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
    <storageModule moduleId="refreshScope" versionNumber="2">
    <configuration configurationName="Embedded Testing">
    <resource resourceType="PROJECT" workspacePath="/common_hardware"/>
    </configuration>
    <configuration configurationName="Debug">
    <resource resourceType="PROJECT" workspacePath="/common_hardware"/>
    </configuration>
    </storageModule>
    <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
    <storageModule moduleId="scannerConfiguration"/>
    </cproject>

    build.cfg

    if (pkg.$vers.length >= 3) {
    pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));
    }

    pkg.build.libraries = [
    ];

    pkg.build.libDesc = [
    ];

    common_hardware_pem4f.cfg

    /*
    * ======== package/cfg/common_hardware_pem4f.cfg ========
    * This generated configuration script runs the user's configuration script
    * the context of a specific target and platform in order to generate
    * all the files necessary to create an executable; e.g., linker command
    * files, static C/C++ data structures, etc.
    */

    /*
    * ======== _applyChanges ========
    * Changes that bring the build target to the state at the end of the build
    * model
    */
    function _applyChanges(obj, chgObj) {
    var wasSealed = false;
    if (obj.$sealed) {
    wasSealed = true;
    obj.$unseal();
    }
    for (var prop in chgObj) {
    if (typeof obj[prop] == 'object' && obj[prop] != undefined) {
    if ("$category" in obj[prop] && obj[prop].$category == "Vector") {
    obj[prop].length = chgObj[prop].length;
    for (var i = 0; i < chgObj[prop].length; i++) {
    if (obj[prop].length < i + 1) {
    obj[prop].length++;
    }
    obj[prop][i] = chgObj[prop][i];
    }
    }
    else {
    _applyChanges(obj[prop], chgObj[prop]);
    }
    }
    else {
    obj[prop] = chgObj[prop];
    }
    }
    if (wasSealed) {
    obj.$seal();
    }
    }

    /*
    * ======== _runescape ========
    * Recursive unescape to decode serialized strings
    */
    function _runescape(obj) {
    for (var i in obj) {
    if (obj[i] != null) {
    if (typeof obj[i] == 'string') {
    obj[i] = unescape(obj[i]);
    }
    else if (typeof obj[i] == 'object') {
    _runescape(obj[i]);
    }
    }
    }
    }

    /*
    * ======== _getPlatCfg ========
    */
    function _getPlatCfg() {
    var tmp = {};
    _runescape(tmp);
    return (tmp);
    }
    /*
    * ======== _cfginit ========
    */
    function _cfginit() {
    xdc.loadPackage('xdc.services.intern.cmd');
    var prog = xdc.om['xdc.cfg.Program'];

    /* initialize prog attrs from build model */
    var build = {
    profile: "debug",
    cfgScript: "C%3A/Dev/PC/Cirris/CommonHardware/Software/common_hardware.cfg",
    cfgHome: "configPkg",
    cfgArgs: "null",
    cfgArgsEncoded: true,
    releases: {
    0: {
    name: "configPkg",
    attrs: {
    prefix: "",
    label: "default"
    },
    otherFiles: {},
    excludeDirs: {}
    }
    },
    prelink: false
    };
    _runescape(build);
    build.cfgArgs = null;
    build.target = xdc.module("ti.targets.arm.elf.M4F");
    var targChange = {
    platforms: [
    "ti.platforms.stellaris%3ALM4FSXLH5BB%3A1"
    ],
    version: "ti.targets.arm.elf.M4F%7B1%2C0%2C20.2%2C6",
    extensions: {
    ".sem4fe": {
    suf: ".sem4fe",
    typ: "asm"
    },
    ".sem4f": {
    suf: ".sem4f",
    typ: "asm"
    },
    ".sv7M4": {
    suf: ".sv7M4",
    typ: "asm"
    },
    ".sv7M": {
    suf: ".sv7M",
    typ: "asm"
    }
    },
    rootDir: "C%3A/ti/ccs1110/ccs/tools/compiler/ti-cgt-arm_20.2.6.LTS",
    rawVersion: "20.2.6"
    };
    _runescape(targChange);
    _applyChanges(build.target, targChange);

    prog.build = build;

    prog.name = "common_hardware.xem4f";
    prog.cfgBase = "package/cfg/common_hardware_pem4f";

    prog.endian = prog.build.target.model.endian;
    prog.codeModel = prog.build.target.model.codeModel;

    /* use the platform package's Platform module */
    var Platform = xdc.useModule("ti.platforms.tiva.Platform");
    var platParams = _getPlatCfg();
    var invalidParams = [];
    for (var prop in platParams) {
    if (!(prop in Platform.PARAMS)) {
    delete platParams[prop];
    invalidParams.push(prop);
    }
    }
    prog.platformName = "ti.platforms.tiva:TM4C1233H6PGE";
    prog.platform = Platform.create("TM4C1233H6PGE", platParams);
    for (var i = 0; i < invalidParams.length; i++) {
    Platform.$logWarning("The parameter '" + invalidParams[i] + "' is " +
    "passed to this platform instance through Build.platformTable, " +
    "but the instance does not have a configuration parameter with " +
    "that name.", prog.platform, "TM4C1233H6PGE");
    }

    /* record the executable's package name */
    prog.buildPackage = "configPkg";

    /* record build-model information required during config generation */
    prog.$$bind("$$isasm", 0);
    prog.$$bind("$$isrom", 0);
    prog.$$bind("$$gentab", [
    ]);

    /* bind prog to an appropriate execution context */
    prog.cpu = prog.platform.getExeContext(prog);

    /* import the target's run-time support pkg */
    xdc.loadPackage("ti.targets.arm.rtsarm");
    }

    /* function to import the cfg script's package */
    function _userscript(script) {
    var home;
    var spath;
    home = xdc.loadPackage("configPkg");

    xdc.om.$$bind('$homepkg', home);

    var cfgScript = "C:/Dev/PC/Cirris/CommonHardware/Software/common_hardware.cfg";
    if (!script) {
    utils.loadCapsule(cfgScript, false, spath);
    }
    else {
    /* set up the same environment that loadCapsule would */
    var $saveCsd = utils.csd;
    var $cfgFile = utils.findFile(cfgScript, spath);
    var cname = cfgScript;
    if ($cfgFile) {
    $cfgFile = java.io.File($cfgFile);
    utils.csd = $cfgFile.getParentFile().getCanonicalPath();
    cname = "" + $cfgFile.getCanonicalPath();
    }

    /* create the capsule object */
    var cap = {
    prototype: utils.global,
    $path: cname,
    $private: {path: cname},
    $capsule: undefined, /* set to cap below */
    };

    /* 'this.$capsule' is always cap object */
    cap.$capsule = cap;

    /* save the capsule object */
    utils.$$capmap[cname] = cap;

    try {
    var cx =
    Packages.org.mozilla.javascript.Context.getCurrentContext();
    var rdr = new
    java.io.BufferedReader(new java.io.StringReader(script));
    Packages.config.Shell.evaluateLoad(cx, cap, rdr, cname, 1);
    }
    finally {
    rdr.close();
    utils.csd = $saveCsd;
    }
    }
    }

    function _postinit() {
    var cout = null;

    var Program = xdc.om['xdc.cfg.Program'];
    /* get the exec command for this executable */
    if (Program.execCmd == null) {
    Program.execCmd = Program.platform.getExecCmd(Program,
    xdc.om["ti.platforms.tiva"].packageBase);
    }
    cout = "define EXEC." + Program.name + '\n\n';
    cout += Program.execCmd;
    cout += "\nendef\n\n";

    /* if SourceDir generates a makefile, we need to run it */
    _genSourceDirMak("package/cfg/common_hardware_pem4f", "common_hardware.pem4f");

    utils.genDep("package/cfg/common_hardware_pem4f", "configPkg", utils.loadedFiles, cout, null);
    }

    function _genSourceDirMak(cfgBase, cfgName)
    {
    var SourceDir = xdc.om['xdc.cfg.SourceDir'];

    if (SourceDir && SourceDir.$instances.length > 0) {
    /* construct rule to run SourceDir generated makefile */
    var make = "\t$(MAKE) -f "
    + SourceDir.outputDir + "/" + SourceDir.makefileName;

    /* this file is included by package.mak (if it exists) */
    var file = new java.io.File(cfgBase + ".cfg.mak");
    file["delete"]();
    var out = new java.io.BufferedWriter(new java.io.FileWriter(file));

    /* add rules to run SourceDir generated makefile */
    out.write("# invoke SourceDir generated makefile for " + cfgName
    + "\n" + cfgName + ": .libraries," + cfgName
    + "\n.libraries," + cfgName + ": " + cfgBase + ".xdl\n"
    + make + "\n\n"
    + "clean::\n" + make + " clean\n\n"
    );
    out.close();
    out = null;
    }
    }

  • This project is configured for RTSC (which is BIOS / TI-RTOS based).

    <listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>

    Did you create the project yourself or did you reuse an existing RTSC based project as a baseline?

  • To be honest I dont remember exactly. originally we had been using and NXP processor and were trying to make the switch to TI. I think when we did the switch to TI we set it up ourselves. I think we were following some online documentation to get everything set up. Is there an easy way to fix this issue?

  • If you do not plan on using any RTSC components, then you should use a non-RTSC project.

    Is there an easy way to fix this issue?

    A project is auto-converted to a RTSC project when a RTSC .cfg is added to the project. A RTSC project will have a dependency on XDCTools.

    Unfortunately you can not convert an existing RTSC project to a non-RTSC project, even if the .cfg file is removed (it is a one-way conversion only). It is recommended to create a new non-RTSC project from scratch.

    ki

  • Hello Micah,

    Hopefully I can jump back in here with an easy-ish fix.

    Our recommend for TivaWare is to either start from one of our base example projects or otherwise project0. These will not be RTSC based. You can select something like project0 or the blinky project for your LaunchPad and replace the .c and .h files with the ones you developed for your project - remembering to add back any links.

    Our TivaWare Getting Started Guide has a lot of great guidance on how to import projects, update links etc. and I think with this, you can get all your existing code ported into a fresh TivaWare project which won't have the RTSC issues.

    Getting Started Guide: https://www.ti.com/lit/pdf/spmu373

    Best Regards,

    Ralph Jacobi

  • I compared the .cproject file from the base example with the one in my project folder and got rid of all of the references to xdc and I am now able to compile just fine. This seems to work.

  • I am having another issue with ccs configuration. Ill post this here for now, but if you need me to start another discussion I can do that.

    I have been running into an issue that once i merge mycode into a git repo then try to create a new branch all of the sudden theEnums are no longer recognized by ccs. The Enums are defined in a text file and are brought into theprogram via a #include statement. The thing that is strange is that it seems that ccs knows about the enums and the file that they are defined in, but it cant seem to link any use of the enums back to the definition. It had been working fine for days, but once we merged back into the repo I started getting the issue and the only way I could find to resolve it was to delete my metadata. I am guessing that there might be config file that I am not tracking and I was wondering if you might have an idea of where to look?

  • Hi Micah,

    We recommend you make new threads for new issues that are not directly related to the prior one. You can also select CODECOMPOSER as a part number instead of your TM4C device to get the thread routed to our CCS experts immediately.

    Best Regards,

    Ralph Jacobi.