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.

MSP432E401Y: NDK or Network Dev

Part Number: MSP432E401Y
Other Parts Discussed in Thread: DP83825I, AM2612, AM2432

Hi

I am looking to developing a TCPIP 'client' side application on the MSP432E401Y.
i looked at the TCPECHO example which is really a server side app.
I have previously developed a TCPIP client client application on the CC322x mcu & ideally am wanting to port most of it to the MSP432E401Y.

My questions are.....
1. is the NDK still valid for this type of dev or has it been superceded by something else?
2. is there an alternative to using the NDK (eg similar to the network stack with the CC322x)? 
3. is the MSP432E401Y recommended for new designs or has IT been superceded by something else?

thanks in advance

 

  • Hi moshe jacobson

    The Texas Instruments NDK remains technically valid for the MSP432E401Y, but it is now abstractly managed under the Network Services (NS) layer within the SimpleLink SDK. To seamlessly port your client application from the CC322x, you can bypass direct NDK calls and utilize the stack-independent SlNetSock API library, which is natively supported by both microcontrollers. While the MSP432E401Y series remains active (unlike the discontinued MSP432P line), it is largely in maintenance mode and not recommended for brand-new cutting-edge designs where newer processors like the Sitara AM243x are preferred

    refer to:

     MSP432E401Y: Does the MSP432E401Y come with a MAC Address for use on Ethernet from the factory? 

    2. Is there an alternative to using the NDK for CC322x code-porting?
    Yes, you can use either lwIP or the SlNet API layer. To minimize code rewriting while porting your client-side application from the CC322x, you have two distinct alternative paths: refer to  RTOS/MSP-EXP432E401Y: HTTP Server with MSP432 / XDCTools 
    • SlNet (SimpleLink Network Services) Layer: This is your best option for porting code. The SimpleLink MSP432E4 SDK includes an abstraction layer called SlNetSock. It provides a uniform BSD-like socket wrapper API. By utilizing SlNetSock_create(), SlNetSock_connect(), and SlNetSock_send(), you can preserve the structural design of your CC322x software while targeting the MSP432E Ethernet hardware beneath it.
    • lwIP Stack Integration: The SDK officially ships with an integrated, open-source lwIP stack configuration as an alternative to the NDK. It can run alongside FreeRTOS or in bare-metal configurations MSP432E401Y: Connection issue with ethernet interface and latest version of MSP432 SDK v3.20.00.10  and MSP432E401Y: Configuring the Ethernet Controller 
    3. Is the MSP432E401Y recommended for new designs?
    No, the MSP432E401Y is not recommended for brand-new commercial designs.
    • Lifecycle Status: While Texas Instruments actively maintains production for existing customers and explicitly clarifies that the device is not under an End-of-Life (EOL) mandate, the entire MSP432 architecture platform has been frozen with no future line expansions or major feature developments planned.  MSP432E401Y: Need confirmation on EOL & Support, needs replacement for MSP432P401RIPZ 
    • Recommended Upgrade Paths: If you are in the prototyping phase of a new long-lifecycle product, TI suggests considering modern families such as the Sitara AM243x family (for high-performance industrial networking) or MSPM0 series MCUs paired with external network components depending on your precise system performance needs. MSP432E401Y: Where is MSP432 and is there a replacement? 

    Thanks

  • hi 

    thanks for that response.

    Based on what you wrote, i went searching....
    The AM2436x is a bit of overkill for our purposes.
    BUT...i came across 2 potential solutions (i think):
    1. The DP82825 but i dont know which MSPM0x to interface to it as it requires a RMii interface. Can you help me out here?
    2. The AM261x which has an integrated PHY already.
    Based on your response to question1 i can then proceed further.

    As an aside, i may still try the slnetsock approach with the MSP432....maybe.

    thanks
    moshe

  • Hi moshe jacobson

    There are no MSPM0 microcontrollers that feature an Ethernet MAC or an RMII interface. The MSPM0 family consists of cost-optimized, low-power microcontrollers focusing on standard serial interfaces (UART, SPI, I2C, CAN-FD, and USB), meaning they cannot directly drive an RMII Ethernet PHY like the TI DP83825I.
    A breakdown of how your options stack up clarifies the next steps:
    1. The MSPM0 + DP83825 Option
    2. The AM261x Option (PHY Correction)
    • The Correction: The Sitara AM261x series features an integrated 3-port Gigabit Ethernet Switch (CPSW3G) supporting MII, RMII, and RGMII. However, it does not have an integrated PHY. 
    • The Reality: The AM261x houses the digital controller (MAC) on-chip. You will still need to design in an external physical layer transceiver—meaning you could actually pair the AM261x with your chosen DP83825I over RMII
    Summary Comparison
    Feature MSPM0 Series AM261x Series MSP432E401Y
    Ethernet MAC No Yes (CPSW3G Switch) Yes (On-chip)
    Ethernet PHY No No (Requires external) Yes (Integrated)
    MAC-to-PHY Interface N/A MII, RMII, or RGMII Internal connection

    Moving Forward with the MSP432
    Because the MSP432E401Y is a single-chip solution containing both the MAC and the PHY, your fallback idea of testing the slnetsock layer on it is highly recommended. It avoids the hardware complexity of routing high-speed 50 MHz RMII clock lines on a custom PCB
    Thanks!
  • Hi Li

    that was a very useful & succint reply - thank you.

    So looking at the AM2612 + DP2825 is approx $6 plus a couple of passives & PCB hassles vs the AM2432 at approx $9 and a new O/S.
    I suppose the SM2612 wins.
    But, the MSP432E401Y & slnetsock beats them both - now i just got to do it!

    1. Is there any indication of when the EOL of the MSP432E4 is likely to occur??
    2. Are there any examples of using just the slNET with the msp432E401Y? 

    many thanks
    moshe

  • Hi moshe jacobson

    I will reply to you later.

    Thanks

  • Hi moshe jacobson

    1. End of Life (EOL) Indications
    There are no active plans to EOL the MSP432E401Y. Texas Instruments has explicitly clarified that the MSP432E4 and its sister device, the TM4C129, will remain active and supported for a very long horizon.  MSP432E401Y: Microcontroller Lifecycle and Support 
    However, you should keep a few business context details in mind:
    2. Examples of Using SlNet (SlNetSock) on MSP432E4
    Yes, the SlNet abstraction layer (slnetsock) is entirely integrated into the SimpleLink MSP432E4 SDK. It acts as a universal socket layer that sits above the hardware-specific TCP/IP stack. 
    Where to Find Examples
    To run network operations strictly through the SlNet API layer, you must look inside the SDK's networking examples folder:
    • The MQTT Client Example: The standard mqtt_client demo included in the SDK utilizes slnetsock to establish its secure or unsecure TCP connections. It demonstrates how SlNet initializes the interface and instantiates sockets.
    • HTTP Client/Server Examples: Look for the httpclient or httpserver examples. These do not make direct NDK or lwIP socket calls. Instead, they rely on SlNet APIs to bind network routing to the internal Ethernet interface
    Structural Code Flow for SlNet Implementation
    When writing code using exclusively SlNet, your main application thread will bypass the raw TI-NDK stack logic by using the following programming flow:
    1. Initialize the Network Interface: Call SlNetIf_init() to set up the global network interface manager.
    2. Spin Up the Local Stack: Initialize your low-level hardware stack (such as the standard TI-NDK or lwIP engine via the NC_NetStart or driver hook functions).
    3. Register the Interface with SlNet: Map the hardware stack directly into SlNet using:SlNetIf_add(SLNETIF_ID_1, "Eth0", SLNETIF_IF_STATUS_LOWER_UP, &SlNetIfConfigNDK);
    4. Use Universal Socket Operations: From this point forward, completely ignore native stack structures and invoke standardized SlNet APIs for your application logic:
    • SlNetSock_create()
    • SlNetSock_connect()
    • SlNetSock_send() / SlNetSock_recv()

    if you will select MSP432E401Y, could you please press "solved" button
    if you have more question on MSP432E401Y development, please create another thread. it will be easier to track the questions
    Thanks!
  • Xiaodong Li, thank you very much for your assistance.

    i will attempt to work with the SlNetSock layer & if i encounter issues i will create a new thread as you suggest.

  • Thanks for your feedback and confirmed solved!

**Attention** This is a public forum