Menu

Porting Guidelines to KSDK & FreeRTOS

santosh
2017-03-07
2017-05-17
  • santosh

    santosh - 2017-03-07

    Hello,

    Do you have any guidelines available to port FNET code to KSDK/ FreeRTOS? I am not familiar with the FNET code - and am essentially trying to replace LWIP with FNET starting from K64 demo apps.
    My current plan is to disable FNET ISR dispatch, use KSDK interrupt handlers, have a FreeRTOS task that will call rx_isr_ top/bottom handlers. FNET will be used as a library, i am assuming the callback functions will execute in Rx task context and egress side will execute in the calling task context. I couldn't find a tx interrupt handler in the code.

    I was not planning to call the polling loop.

    Is this a reasonable approach?

    Thanks

     
  • Andrej Butok

    Andrej Butok - 2017-03-08

    I couldn't find a tx interrupt handler in the code.

    FNET FEC driver does not use TX interrupt (only Rx).
    One more interrupt is used by Timer.

    Do you have any guidelines available to port FNET code to KSDK/ FreeRTOS?

    There is no guide for KSDK/FreeRTOS.
    For example, we are using FNET with KSDK/FreeRTOS without real deep integration with it. Just do optional periodical polling of application protocol services in a task.

    But you may try to make a deeper port to KSDK/Freertos and after success you may share your results with us.

    BTW- History:
    - There were serious discussions to add FNET to the official Freescale KSDK. But it required additional resources mainly for testing, so it was not happened.
    I was asked by marketing to do it in my free time, but as usually there are higher priority tasks for free-time ;)
    - FNET will be used in the next version of "NXP Software Development Kit (SDK) for HomeKit Accessories" commercial project for IP-Ethernet communication, but this is other story:
    http://www.nxp.com/products/reference-designs/nxp-software-development-kit-sdk-for-homekit-accessories:HOMEKIT-SDK#overviewExpand

     

    Last edit: Andrej Butok 2017-03-08
  • santosh

    santosh - 2017-03-09

    Thanks for the response - I have what i would call relatively light integration working - pretty much in the way i outlined - i am calling the polling function every 100ms. It took substantially less effort than expected.

    Now that i have a base working i will attempt a deeper integration with ksdk.

    Thanks
    santosh

     
  • david

    david - 2017-05-16

    santosh,

    could you share any of your findings/solutions?

    thanks
    david

     
  • david

    david - 2017-05-16

    Hi Andrey,

    with freertos, you do not use the fnet interrupts but poll in a task? do you have any example project for this solution?

    thanks
    david

     
  • Andrej Butok

    Andrej Butok - 2017-05-17

    FNET core stack uses interrupts. Polled are only application services.

     

Log in to post a comment.