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.

TM4C1294 RTOS Network Support

Other Parts Discussed in Thread: EK-TM4C1294XL

I'm getting started on a project using the TM4C1294, and because of the task load, would really like to use the RTOS to support this (I have 8 identical tasks that vary just in the peripherials they access).

For access to this device from other systems, I'd like to use the Network Stack included.

I'm trying to go thru the XGCONF support in CCS (6.1), but am stumped when it comes to the EMAC settings list.  To this point, I haven't even been able to get the empty example to compile correctly in CCS, as it gives a long list of undefines when I turn anything on.

Any ideas?

David Dudley

  • Hello David,

    What RTOS are you using?
  • Oh, guess I should have said TI-RTOS. The SYS/BIOS stuff that is supplied by TI.
  • Thanks David! I am going to move your question over to the TI-RTOS E2E since they have more expertise with the included network stack.
  • I actually looked for a TI-RTOS E2E because I had seen a reference to it on other posts, but couldn't find it anywhere, so figured I'd start here.

    For future reference, where is a list of the different E2E forums? I just started at e2e.ti.com, but didn't find it there.
  • Hi David,

    Unfortunately, I don't really have a good answer for you on this either. When we move threads internally, we have a pull down menu that filters by what is typed into the selection window. When I poke around on TI.com I don't see a comprehensive list that makes it clear where to go.
  • which is why I put it where I did.

    Tried to at-least get close-

    David
  • No issues. We can always move it when we need to in order to get you the best support for your question. Sorry for the confusion.
  • Hi David,

    What version of TI-RTOS are you using for your project? Also could you upload your .cfg file? It's possible that you're missing some "UseModule" statements when you started adding functionality to the example.

    Best,
    Alexander
  • I'm using the latest version for the TIVA processors, 2.16.1.14.

    I'm just getting started in the software development for this, so initially I'm trying to just create something from the examples set.

    I'm using the latest version of CCS, and the TI toolchain.

    I create a new project, and start with a template, and the only one I see for TI-RTOS is one of the Empty Projects for the EK-TM4C1294XL (which is fine, cause I have one).

    The example project fails to compile, with a 'Configuration Failed' error, right off the bat.  I haven't done anything yet, except select the default.

    I'm including the .cfg file for the 'empty' example project, and the error log that is being generated.

    .cfg file

    2627.empty.cfg

    Image of Log

    Again, I haven't made any modifications yet, and just created a new project for this.

    David

  • Hi David,

    It looks like you have a space in your workspace name "Launchpad Workspace" and the build is failing because of this. Could you move into a workspace without a space? IE: "Launchpad_Workspace"

    Best,
    Alexander
  • So,... CCS can't handle projects with spaces in the name. Good to know.

    Compiled with no errors
  • OK, started the XGCONF tool on the config file.
    I want to use the internal EMAC to provide an Ethernet interface.
    clicked on Overview, then TCPIP, then EMAC.
    Enabled the module, but device selection just has 3 selections. Nothing regarding my TM4C1294, so selected none. Saved it, and the build fails. I have 3 undefined, first one is 'ti_ndk_config_Global_StackThread, others are related, taskCreateHook, taskExitHook.

    I haven't written any code yet, I'm just trying to get the example to work right now.

    Suggestions????
  • Hi David,

    Could you use the tcpEchoIPv6 example as a reference for your custom application? In it's config file you should see the NDK specific setup necessary:

    Eg:

    /* ================ 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');
    var Tcp       = xdc.useModule('ti.ndk.config.Tcp');
    
    Global.IPv6 = true;
    Global.stackLibType = Global.MIN;
    Global.networkOpenHook = "&netOpenHook";
    Global.networkCloseHook = '&netCloseHook';
    
    /* automatically call fdOpen/CloseSession for our sockets Task */
    Global.autoOpenCloseFD = true;
    
    Global.pktNumFrameBufs = 10;
    Global.memRawPageCount = 6;
    Global.ndkThreadStackSize = 1536;
    Global.lowTaskStackSize = 1024;
    Global.normTaskStackSize = 1024;
    Global.highTaskStackSize = 1024;
    Tcp.transmitBufSize = 1024;
    Tcp.receiveBufSize = 1024;

    The example source code can be found in your TI-RTOS installation:

    C:\ti\tirtos_tivac_2_16_01_14\tirtos_tivac_2_16_01_14_examples\TI\EK_TM4C1294XL\tcpEchoIPv6

    Best,

    Alexander