I am using CCS Version: 6.1.0.00104 and a TM4C1294XL evaluation board. I can download the two programsUDPEcho and UARTConsole and each one by itself work perfectly. These are the TI examples. The UDP echos and the uart console prints as it should. I tried putting the console program inside the UDPecho.c and updated all the includes and support files from uartconsole. I modified the udpecho.cfg to include the uart console config requirements. When I compile the programs the first thing I noticed was that only the UDP files were copied to the Debug/configpkg/package/cfg. When I compile the program I get the following errors.
unresolved symbol ti_sysbios_knl_Swi_create, first referenced inC:/ti/tirtos_tivac_2_14_00_10/packages/ti/drivers/lib/drivers_tivaware.aem4f<EMACSnow.oem4f>
unresolved symbol ti_sysbios_knl_Swi_delete, first referenced in :/ti/tirtos_tivac_2_14_00_10/packages/ti/drivers/lib/drivers_tivaware.aem4f<EMACSnow.oem4f>
unresolved symbol ti_sysbios_knl_Swi_post__E, first referenced in:/ti/tirtos_tivac_2_14_00_10/packages/ti/drivers/lib/drivers_tivaware.aem4f<EMACSnow.oem4f>
You can see by the errors I am using tirtos_tivac_2_14_00_10. The following is what is in my config file. I have no idea what causes these errors.
/*
* Copyright (c) 2015, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* ======== uartconsole.cfg ========
*/
/* ================ General configuration ================ */
var Defaults = xdc.useModule('xdc.runtime.Defaults');
var Diags = xdc.useModule('xdc.runtime.Diags');
var Error = xdc.useModule('xdc.runtime.Error');
var Log = xdc.useModule('xdc.runtime.Log');
var Main = xdc.useModule('xdc.runtime.Main');
var Memory = xdc.useModule('xdc.runtime.Memory');
var System = xdc.useModule('xdc.runtime.System');
var Text = xdc.useModule('xdc.runtime.Text');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Load = xdc.useModule('ti.sysbios.utils.Load');
var Ip = xdc.useModule('ti.ndk.config.Ip');
var Udp = xdc.useModule('ti.ndk.config.Udp');
var Global = xdc.useModule('ti.ndk.config.Global');
var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/* ================ General configuration ================ */
//var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/*
* Program.stack is ignored with IAR. Use the project options in
* IAR Embedded Workbench to alter the system stack size.
*/
if (!Program.build.target.$name.match(/iar/)) {
/*
* Reducing the system stack size (used by ISRs and Swis) to reduce
* RAM usage.
*/
Program.stack = 2048;
}
/*
* Comment this line to allow module names to be loaded on the target.
* The module name strings are placed in the .const section. Setting this
* parameter to false will save space in the .const section. Error and
* Assert messages will contain an "unknown module" prefix instead
* of the actual module name.
*/
Defaults.common$.namedModule = false;
/*
* Minimize exit handler array in System. The System module includes
* an array of functions that are registered with System_atexit() to be
* called by System_exit().
*/
System.maxAtexitHandlers = 2;
/* ================ System configuration ================ */
var SysCallback = xdc.useModule('xdc.runtime.SysCallback');
SysCallback.abortFxn = "&UARTUtils_systemAbort";
SysCallback.putchFxn = "&UARTUtils_systemPutch";
SysCallback.readyFxn = "&UARTUtils_systemReady";
System.SupportProxy = SysCallback;
/* ================ BIOS configuration ================ */
/*
* Disable unused BIOS features to minimize footprint.
* This example uses Tasks but not Swis or Clocks.
*/
//var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.libType = BIOS.LibType_Custom;
BIOS.swiEnabled = false;
BIOS.logsEnabled = true;
BIOS.assertsEnabled = true;
BIOS.heapSize = 0x800;
/* Runtime stack checking is performed */
Task.checkStackFlag = true;
Hwi.checkStackFlag = true;
/* Reduce the number of task priorities */
Task.numPriorities =16;
/* ================ Task configuration ================ */
var taskParams = new Task.Params();
taskParams.instance.name = "console";
taskParams.stackSize = 1536;
Program.global.console = Task.create("&consoleFxn", taskParams)
/* ================ System configuration ================ */
var SysMin = xdc.useModule('xdc.runtime.SysMin');
System.SupportProxy = SysMin;
/* Runtime stack checking is performed */
Task.checkStackFlag = true;
Hwi.checkStackFlag = true;
/* Enable Semihosting for GNU targets to print to CCS console */
if (Program.build.target.$name.match(/gnu/)) {
var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
};
/* ================ NDK configuration ================ */
var Ndk = xdc.loadPackage('ti.ndk.config');
var Global = xdc.useModule('ti.ndk.config.Global');
var Ip = xdc.useModule('ti.ndk.config.Ip');
var Udp = xdc.useModule('ti.ndk.config.Udp');
BIOS.heapSize = 20480;
Task.idleTaskStackSize = 768;
Global.IPv6 = false;
Global.stackLibType = Global.MIN;
Global.networkOpenHook = "&netOpenHook";
/* automatically call fdOpen/CloseSession for our sockets Task */
Global.autoOpenCloseFD = true;
Global.pktSizeFrameBuf = 1536;
Global.pktNumFrameBufs = 10;
Global.memRawPageCount = 6;
Global.ndkThreadStackSize = 1536;
Global.lowTaskStackSize = 1024;
Global.normTaskStackSize = 1024;
Global.highTaskStackSize = 1024;
/* ================ Logging configuration ================ */
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
LoggingSetup.loggerType = LoggingSetup.LoggerType_IDLE;
LoggingSetup.loadLogging = false;
var LoggerIdle = xdc.useModule('ti.uia.sysbios.LoggerIdle');
LoggerIdle.bufferSize = 1024;
LoggerIdle.transportFxn = "&USBCDCD_LoggerIdle_sendData";
LoggerIdle.transportType = LoggerIdle.TransportType_USB;
/* ================ Driver configuration ================ */
var TIRTOS = xdc.useModule('ti.tirtos.TIRTOS');
TIRTOS.useGPIO = true;
TIRTOS.useEMAC = true;
TIRTOS.useUART = true;