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.

66AK2G12: NSS

Part Number: 66AK2G12
Other Parts Discussed in Thread: SYSBIOS

Hi,

NAVSS can reduce the programming complexity of the network and has other advantages . In this case, compared with LWIP, is it easier to use NAVSS than LWIP?

Does TI have a document that specifically introduces NAVSS and NSS? The NSS and NAVSS part of the K2G manual mentions some kind of internal link RAM, but does not say how to use it. In addition, are the packet descriptors and buffer descriptors mentioned in the manual a part of the internal link RAM, that is, the internal link RAM?

Are there examples shows how to initialize NSS and NAVSS, especially how to use internal Link RAM and descriptors.the manual only gives a simple initialization procedure. 

  • Hi, Nancy,

    To me, NAVSS and LWIP are 2 different concept. LWIP is the network layer, but NAVSS is the hardware component performing resource management, such as queue, packet DMA, etc. What OS will be run on K2G, Linux or RTOS?  If you are asking how network can be setup on K2G, Linux it has IP protocol in kernel and RTOS we have EMAC example. If you are interested in NAVSS configuration, this is Kernel driver code, and I'll have RTOS expert to answer that if RTOS is used.

    Rex

  • Hi,

    If you use RTOS for Ethernet, please see the user guide: http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#ndk Here are hello world, FTP server demos. (Those are L3 and L4)

    If you want to see how the NAVSS, NSS setup, please refer to the the NIMU driver: pdk_k2g_1_0_xx\packages\ti\transport\ndk\nimu\src\v5 (this is L2). Also, you can refer to http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_device_drv.html#emac (this is also L2).

    Regards, Eric

  • Hi,

    Thanks!

    Customer want to use LWIP. He runs a bare metal program. He don't unserstand NAVSS. Please help highlight the specific code that he can refer to. 

  • Hi,

    The current Processor SDK RTOS (C66x, K2, AM3/4/5/6) all uses the NDK + NIMU structure. The NDK handles the network L3 and L4, and NDK has rich network application supporting TCP/IP, UDP. The network L2 is handle by NIMU driver and this is device dependent.

    The NDK is a big suite using SYSBIOS, I understand that some customers prefer the bare metal, light weight network stack, like the IWIP customer asks for. But we are not here yet, there is no any LWIP integration reference into all the devices mentioned above. We are evaluating support both NDK and NIMU driver on a new device (not K2G) coming so. We will not see how the driver code are structured until that moment, which I believe it is still several quarters away.

    I can point out some interface between NIMU and NDK, how they are glued together, some document and LWIP examples on other devices. It is hard to support beyond that.

    The NDK has interface in stack\nimu\nimu.c, it has:

    /* Cycle through the NIMU Device Table and initialize all of the
    * listed network devices. */
    while (NIMUDeviceTable[index].init != NULL)
    {
    /* Call the initialization function and check the return value */
    nimuInitRC = NIMUDeviceTable[index].init(hE

    In the K2G NIMU driver: pdk_k2g_1_0_16\packages\ti\transport\ndk\nimu\src\v5\nimu_eth.c

    NIMU_DEVICE_TABLE_ENTRY NIMUDeviceTable[] =
    {
    /**
    * @brief EmacInit for the SOC
    */
    EmacInit,
    NULL
    };

    This is how the NIMU driver is called.

    Here is a document explains this: https://www.ti.com/lit/ug/sprufp2b/sprufp2b.pdf. You need to understand how the interface between NDK NIMU core layer and NIMU-Specific layer. Then your work needs to replace the NDK with LWIP. You need to look at LWIP how they access the EMAC driver, where the packet buffer managed and how interrupt is hooked. This is a development project.

    Separately, TI has LWIP on other processors, e.g https://git.ti.com/cgit/hercules_examples/hercules_examples/tree/Application/LwIP/v00.04.00. This is a different device (there is no NIMU) and you may look at how the LWIP is added, I am not sure how this helps. Also, there should be LWIP on MSP430 device.

    Regards, Eric