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.

SimpliciTI integrated into SYS/BIOS ?

Other Parts Discussed in Thread: SIMPLICITI, CC430F6137, MSP430F2274

Hi,

I'm working with SYS/BIOS 6.35 and SimpliciTI 1.1.1 on Sub-1Ghz range (cc430f6137)

I was wondering if there is some integrated example for them or did someone already got SimpliciTI fully integrated on SYS/BIOS?

  • Hi Oded Senecio,

    Unfortunately, TI does not yet have any example for this.

    However, someone in the community may have done this ...

    Steve

  • We have SimpliciTI partially "integrated" with SYS/BIOS for the MSP320F2274.  We have not made the SimpliciTI stack re-entrant, but we have created examples that illustrate its usage in both access points and end devices.

    Since we don't officially support SYS/BIOS on the 2274, we have not released this publicly and only use this in some of our regression test suites. 

    However, it was demonstrated at EclipseCon 2009 (http://www.eclipsecon.org/2009/sessions?id=417) and the sources are available in the RTSC project's eclipse SVN repo: https://dev.eclipse.org/svnroot/technology/org.eclipse.rtsc/training/ec2009/trunk/src/part2/.  Note there are a few minor patches to SimpliciTI required (also provided in the SVN repo).

    If there is interest in a 2274 integration, the RTSC team can provide an "as is" update in the eclipse.org repos.

  • Hi,

    TNX for the answer but its not integrated to sys bios there - it has a nice "xdc" wrapper but no bios support

    Am I missing something?

  • You're not missing anything, but ...

    Since SYS/BIOS builds atop xdc.runtime and the SimpliciTI stack has been "ported" atop the xdc.runtime, it is a "simple" matter to integrate the two.  It amounts to merging two application .cfg scripts: one for a simple SYS/BIOS application and one for, say, a SimpliciTI access-point application that uses the 'xdc wrapper'. 

    There is no supported example of SYS/BIOS and SimpliciTI working together, but we have done it in the past on the ez430-Chronos (a CC430F6137).   We also have SimpliciTI  access-point and end-point examples using xdc.runtime on devices as small as the MSP430F2274.

    So, it's certainly possible, but there are bound to be "rough edges".

  • Hi

    You are mixing two different software components - XDC and SYS/BIOS.

    While SYS/BIOS built on XDC framework - it does not mean that everything built on XDC is integrated to one another - Like saying Grace is integrated with SYS/BIOS since Grace is built on XDC framework...

    when I said SimpliciTI integrated to SYS/BIOS I meant that instead of ISR, Critical sections etc. it will be using HWI SWI  Mutex Tasks etc.

    And I have the Chronos and there is no SYS/BIOS on it

     

     

  • Right, the SYS/BIOS team has not made the SimpliciTI stack re-entrant; since the SimpliciTI stack is developed and maintained by a separate group, we were constrained to use it without significant modification.

    All of our examples structured the application so that just one thread directly calls into the SimpliciTI stack; all other threads communicate with this thread using standard inter-task communication primitives.  This makes it possible leverage the radio in a multi-threaded application without making any change to the SimpliciTI stack itself.  Not ideal, but in many situations it's a pragmatic solution.

    Finally, when I said we have integrated SYS/BIOS and SimpliciTI in the past on the ez430-Chronos, I should have made it clear that this was an internal project to quantify the power savings possible by simply replacing the busy-waits in the SimpliciTI stack with  "timed idle loops" and the typical main() application polling loop with RTOS threads.  This work was done after the chronos product shipped.  So, while it has been done and we can share our experience, it is not in the chronos product itself.

  • Can you share the source code?

  • Oded Senecio said:

    Can you share the source code?

    Sure, but it may take some time to collect all the necessary pieces.  The work in question was completed 3 years ago.  I assume you want to see the code for

    • a SYS/BIOS example application using SimpliciTI on the ez430-Chronos,
    • the patches made to the SimpliciTI stack provided with the Chronos product, and
    • the Radio wrapper (which was used in the example)

    Note the code will be provided "as is".  There are bound to be sharp edges due to the fact that this was an internal evaluation completed 3 years ago.

  • TNX - It would be grate!

  • The attached CCS project is a _very_ basic example of a SYS/BIOS program using the SimpliciTI stack on the ez430-chronos as an end-device.  It builds without errors/warnings when using

    • CCS 5.5.0.77
    • SYS/BIOS 6.35.4.50
    • Grace 2.20.1.12
    • XDCtools 3.25.03.72
    • an experimental/unsupported Radio product 0.0.4.00-eng

    This test was used three years ago to measure power usage, so it worked at one time.  But, it has not been verified to work with the components above.

    I'll look into posting the Radio product, if you're still interested.

    ed_6137.zip
  • First of all TNX!

    I got the Idea of how you did it - nice

    And I'm willing to be a beta tester for you radio XDC package if it is an option.

     

  • Oded Senecio said:

    And I'm willing to be a beta tester for you radio XDC package if it is an option.

     

    Sorry for the delay, I updated our internal test  "Radio product" to include the earlier example, took the opportunity to fix glaring documentation bugs related to the transition from CCS 4 to CCS 5, and attached it here. 

    Simply unzip the attachment into c:\ti and read docs/radio_quick_start_guide.html for further instructions.  You should be able to build an end-device chronos example without any warnings/errors.  But, no one has verified that this example still works.

    This is _not_ a supported product.  It's only used internally as an example of how to create target-content products that integrate with other target-content products.  Unfortunately, we don't have the bandwidth to suport this as we do SYS/BIOS, for example.

    That said, fixes and suggestions for improvements are always welcome.  I hope this helps.

    radio_0_00_05_00_eng.zip