Menu

How to port FORTE into a "NO" OS platform, like TI DSP?

Help
Robert
2015-04-27
2015-04-29
  • Robert

    Robert - 2015-04-27

    Hi everyone,

    Is it possible to port FORTE system into a "NO" OS platform, such like TI DSP system(say, TI320VC55x serial)? We have serval projects which used TI DSP for long time and it is very helpful for us to port FORTE system into previous TI DSP platform. However, most of our embedded application didn't include any embedded OS (Linux, WinCE,QNX,...),those application were just a simple polling system. So for those kind of embedded application, how do we start our porting? What is our first step? Please advise.

    Thank you.

    Best regards,

    Robert

     
  • Zoitl Alois

    Zoitl Alois - 2015-04-27

    Hi Robert,

    in principle it is possible. I did a demo once on an Infineon C166 however it requires quite some understanding about the structure of FORTE and its execution semantics. In general I would implement a simple cooperative scheduler which will allow to execute the treads of the resources. This can be done by either changing the behavior of the isAlive method or the self suspend method required for thread classes.

    Furthermore most external events would be handled within ISRs which will then put the events in the appropriate event queues.

    Do you have networking support? Would you like to dynamically configure your applications from 4DIAC-IDE or just use static configured applications represented in the C++ code?

     
  • Robert

    Robert - 2015-04-27

    HI,

    Thank you for your prompt reply. Our system did support networking system(UDP protocol) and since network ISR has designed by ourself, so we can modify ISR in communication layer. Start from static configuration in 4DIAC-IDE seems to be the first step for us to port FORTE in our system since it seems easy than start from dynamic configuration.

    My question is:
    How to get correct FORTE version and set up correct development environment as a first step since our platform didn't include OS? which files in FORTE that we need to focus? Shall we need to modify our previsous ISR such as network, Timer,...?

    Thank you for your support!

     
  • Zoitl Alois

    Zoitl Alois - 2015-04-28

    Hi,

    Ok In that case I would definitely recommend to start with building FORTE on a PC first so that you get to know our build process. Cross compiling is supported for FORTE and should be easy to setup from CMAKE.

    For your target you need to focus on the classes that are implemented for the different architectures. You find them in the src/arch/* directory.

    The minimum classes you need to implement are: CThread, CSyncObject (which will be an empty implementation in your case), fortealloc, timerhandler (I guess in your case an adjust ment to your timer ISR should be sufficient). With that you should be able to get a basic FORTE up and running.

    Then the next step would be the CSocketHandler for TCP/UDP communication and you are done.

    For getting the sources I would recommend to use the code from the mercurial directory. This would allow you to get changes that might be necessary for supporting your system in FORTE faster.

    Cheers,
    Alois

    P.S.: If you limit your system to one resource the implementation of your thread would also be very simple.
    P.P.S.: As your platform is rather different to existing FORTE platforms we can also have a chat on skype to discuss specific details.

     
  • Robert

    Robert - 2015-04-28

    Dear Alois,

    Thank you for your support. We will start to port this interesting project soon and definitely need your support again. My skype account is "robert_shieh" and my location is in Taiwan(Asia). You are welcome to skype me anytime, although we are in different time zone.

    Thank you again.

    Best regads,
    Robert

     
  • Zoitl Alois

    Zoitl Alois - 2015-04-29

    You are welcome!

    This is a very interesting porting attempt you are planning. And I'm sure that apart from me many other 4DIAC users' will be interested in the results.