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.

LM3S9L71 & NDK

Other Parts Discussed in Thread: SYSBIOS

Hi,

I am working on a product based on a LM3S9L71. The firmware for the device is based on the SYSBIOS, and I would like to use NDK instead of lwIP (which was my first choice before learning of the NDK). After a quick look at the NDK documentation, I installed a NDK but could not find a NSP for the LM3S9L71. Is there one available at all?

Thanks,

Miodrag

  • Hi Miodrag,

    Have you looked at TI-RTOS (http://www.ti.com/tool/ti-rtos) ? TI-RTOS is based on SYS/BIOS and supports network stack (uses NDK) on assorted Stellaris devices. It should include the drivers you are looking for.

    Best,

    Ashish

  • This looks promising, but now I have some questions about the Stellaris drivers in the TI-RTOS.

    - The example shows how to work with LM3S9D96 which has a built in Ethernet PHY;

    - with LM3S9L71 a external PHY IC must be used;

    If a controller is simply changed in the CCS project settings will this tell the TI-RTOS to use correct drivers?

    What if I want to use vendor specific PHY features, how would I access the PHY ? I assume there are PHYRead/Write functions somewhere, and that a TI-RTOS drivers use these functions to communicate with external PHY on microcontrollers that do not have a integrated PHY. 

  • Hi Miodrag,

    We do not have an explicit example for the LM3S9L71 device in the TI-RTOS product. To use TI-RTOS on a different board there are a few steps you need to do.

    1. Update the board.c/.h/.cmd files as needed (e.g. EK_LM3S9D96.c/.h/.cmd).

    2. Open the Project's Properties and change the General->RTSC->Platform to the desire board (e.g. ti.platforms.stellaris:LM3S9D96 -> ti.platforms.stellaris:LM3S9L71)

    3. Also in the Project's Properties, in the Build->Compiler->Advanced Settings->Predefined Symbols, change the PART_LM3S9D96 to PART_LM3S9L71.

    4. Open the .cfg file and change the SYS/BIOS CPU clock frequency (Graphically look at SYS/BIOS->Basic Runtime Options or textually "BIOS.cpuFreq.lo = <value>;"

    5. In your case, adjust the SYS/BIOS M3 Boot/Startup Options as needed in the .cfg file

    FYI: We are working on a porting guide to include in the User Guide.

    For the external PHY, you'll need probably need to change some of the init code in the <board>_initEMAC function. You'll also need to potentially change the ti\drivers\EMAC.c file. Since there are many different PHYs, we cannot support all of them.

    Todd

  • Thanks,

    I am working on EMAC code right now. I have a question about a RXER signal.  Ethernet switch we use does not expose this signal (according to the documentation for the switch MCU RXER pin should be tied low as switch handles all of the errors on it's own). Our current design does not use any of the RXER pins on the MCU since we can not spare the pin just to tie it to the gnd.

    Can this be handled in software somehow (force the signal to zero, disable rx error detection or something similar?). How would this issue interact with TI-RTOS code/drivers?

    Regards,

    Miodrag