Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


mcs51 support for ti cc2540/41

  • Jeff

    First thank you sdcc team for your time and efforts maintaining and developing this compiler suite.
    I have an upcoming project for the ti cc2541 bluetooth SOC, I have seen the cc3530.h file in subversion, will you also be adding support for the cc2540 variants in the near future?

  • Maarten Brock
    Maarten Brock

    Maybe you can help us (and others) here? All that is needed is someone that is willing to create a new header file with SFR definitions for the cc254x. Hopefully it can be based on cc2530.h and requires little modifications. Once it's ready it can be uploaded in the patch tracker. Will you help us?



  • Anonymous

    Hi Maarten

    Are the SFR definitions all that is required? Has anyone made these yet?


  • Rick Mann
    Rick Mann

    I, too, want to target the CC254x from Mac OS X. I think i can help contribute the file. What should I do, duplicate the cc3530.h file next to it, and add the SFRs, maybe from the IAR trial compiler? Is there anything else I need to do? I haven't used SDCC in 10 years, so don't know what's involved in getting it to compile. I'll need to include the bluetooth stack from TI, I hope that can be done.

  • Maarten Brock
    Maarten Brock

    If anyone else had already made it and publicised it on the patch tracker or mailing list, you should have found it. You did search didn't you?

    In the assumption that this cc2541 has no deviations from the 8051 core, it should be all that's necessary. Maybe SDCC will not use to its full extend though.

    You cannot duplicate cc3530.h as there is no such thing. Use cc2530.h as I said before.

    Further there is no need to steal from IAR. Just open the datasheet and use that for reference.

    I suspect that the bluetooth stack from TI is a linkable library for a commercial toolchain and is not compatible with SDCC. Perhaps you can get the sources under an NDA.



  • Anonymous

    Hi Maarten

    Thanks for your input.

    Yes, I have done a search, I don't believe the CC2540 headers have been added. I can't see anything in there or in the SVN repo regarding the CC2540.

    There are marginal differences between the CC2540 and the CC2541, i.e. the change between an USB port and I2C port.

    There are also differences is flash sizes as both devices come in 128kB and 256kB variants but that's about it.

    The TI BLE Stack is indeed as you suggested in binary form for the IAR toolchain, I'm exploring the option of an NDA atm. Also since you can't directly interface with the Radio, it means developing the IP for the BLE Stack from scratch won't happen.

    Right now I'm stuck waiting for hardware and talks regarding NDA. Will post the results of both later.


  • Fabio Varesano
    Fabio Varesano

    Hi Wynand and everybody, does anyone has updates on this? Is something being worked on at the moment?

  • lmsb

    Hi! its great reading about this!... no updates yet?
    getting a license for IAR embedded workbench costs 3000 USD!!!!
    please! don't leave this thread die!!!

  • Oleh Lozynskyy
    Oleh Lozynskyy

    Hi there,
    I could post the cc2540.h, just translation from CC2540 User's Guide (rev. D) SWRU191D

    But the remaining part will still be: BLE and the stack.


  • Matthias

    How does the IAR BLE library interface with the RF on the CC2540/1?
    Is it possible to reverse-engineer that?

    So many people on the internet trying to find a library to use this thing,
    maybe there should be a crowdfunding compain or something to
    either buy free the library or create a new, FOSS one.