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.

Is there an open-source compiler alternative for the CC2530 Zigbee modules?

Other Parts Discussed in Thread: CC2530, Z-STACK, CC-DEBUGGER, TIMAC

I have the CC2530 development kit (the one with the battery boards), and am making good progress getting it to talk to the Stellaris kit we're using for development.

But in a couple weeks my trial period with IAR will end, and that leaves two engineers with a number of beautiful little green paperweights strewn about the office.  We each work at the office and occasionally at home, which means we'd each need two licenses - at $5k each, that's about $20k of software, to develop a minor part of the overall project. 

There are various open source alternatives for the Stellaris boards, but I'm coming up dry in my search for an equivalent solution for the Zigbee modules.  I know the CC2530 devices are based on the 8051 architecture and while there are a number of open source options for the 8051 in general, I can't find any that will program and debug the CC2530 specifically.  I even briefly tried to use the Stellaris kit as a debugger and programmer for the CC2530, but that feature only works for other Stellaris devices.

So the question is simple:  Are any of you aware of a compiler, perhaps even one I can use behind Eclipse, to program the CC2530's?  I have the CCDebugger, but would be willing to purchase an open source debugger if necessary.

Thoughts?

  • I wish I had the answer, but I am looking for the same kind of thing myself. I would much rather use some kind of open source alternative. TI would do well to provide GCC support for the CC chips. 

  • IAR is the only compiler supported for Z-Stack.

  • That's unfortunate.  You're missing out on a growing market segment of engineers who have a desire to learn Zigbee and really like TI's products, but simply can't afford a full seat of IAR.  This could be for any number of reasons, you know. Consider a new TI Zigbee user...

    They might be hobbyists, trying to learn a new technology.  Perhaps they're just students, and their school can't afford professional software (you're missing out on a whole slew of potential business in that one segment alone).  Then, consider the option that they are actually professional engineers but they work for a small company that's trying to design a new product on a shoestring budget because the economy is in the toilet. Finally, consider that they are simply engineers who believe strongly in open source software.  This last category is one that is growing daily, and you would be remiss not to at least address these engineers.

    There are any number of perfectly legitimate reasons to seek an open-source alternative to professional software.  I don't think anyone would argue that IAR makes a fantastic product and if your needs demand it (and your resources allow it), it's a great way to design something. It's important however, that you consider the flipside of forcing engineers to do something they don't want to do.

    The truly baffling part of this is that you have your own compiler, Code Composer Suite.  It has source code for most, if not all, of your TI-branded demo boards.  In addition to CCS you have source code ports for IAR, CodeRed, and even CodeSourcery's free GCC compiler.  This is fantastic, and is the only way a lot of engineers are able to use your products.  Why not do the same with Zigbee?

    By locking arms with a single compiler vendor you're expecting to force all wireless design engineers to buy the software.  The reality is that you're getting business from just a few of them, while telling the vast majority of the Engineering community to look somewhere else for wireless solutions.

     

  • The CC2530 has an 8051 core. CCS does not support 8051. There is an open-source compiler for 8051, sdcc, but it has no debug support for the CC2530. That means that supporting our Z-stack on that compiler would require a lot of extra effort. 

    If you want to learn Zigbee, but don't want to buy a full IAR license, you should check out the CC2530-ZNP-MINI. There the Zigbee stack runs on the CC2530 using a bre-built image with an API on UART or SPI, and the application runs in an MSP-430. The application code will be small enough so that it can be built with an evaluation version of IAR. You can read more about this solution here: http://processors.wiki.ti.com/index.php/CC2530ZDK-ZNP-MINI

    You can also use this approach as the basis for designing your own board. It should be fairly easy to develop the application on the compiler of your choice, as you only have to implement the interface to the API of the CC2530-ZNP.

  • I totally agree with Glenn Johnson. I have recently purchased CC2530-ZDK to use it for teaching/research purpose as I am currently working as a teacher at the Copenhagen Engineering College. I worked previously with TI's product and I thought that I could use some sort of open source compiler for CC2530 as it is indicated in swru209a document.

    Q4 Can I use another compiler than IAR to develop software for CC2530?

    A4 Yes, there are several tools available that can be used for CC2530. Any 8051 compiler (e.g. Keil, GCC, and SDCC) can in theory, be used. 

    I think making CC2530 very dependent on IAR compiler (actually the only choice) is very poor decision for the success of this chip. TI needs to do something if it wants to make this chip popular.

     

     

     

     

  • Hi all,

    I understand your frustration, but the good news is that a good solution for the problem is availeble.

    There exists solutions with the Z-stack precompiled and preloaded to CC2530 and the application can be implemented outside in external MCU. The applicaiton access the ZigBee functionallaty via an API over UART/SPI.

    This allow the develpers to use any microcontroller(HW support for UART/SPI an advantage) and any compiler to generate the application. This is an excellent solution for those customers not wanting to invest in IAR for 8051.

    RC24xx-ZNM(based on CC2530) modules from Radiocrafts is such a solution.

    Best regards

    Ørjan

  • The ZNP architecture that "hec" mentions is a much better platform to develop on, and doesn't require the IAR compiler. It abstracts the stack out to a coprocessor so code size & risk is greatly reduced, allowing you to focus on your application. It comes as a hex file firmware image that you can easily load onto a CC2530 with a CC-Debugger. Since it communicates over SPI with your host processor you can use an MSP430, ARM, or whatever you want. Yours truly wrote all the examples included with the kit and I never needed the IAR-8051 compiler. I've used the ZNP on commercial projects, a few with MSP430s and one with a Stellaris ARM. It's very cool.

     

    --Derek

  • Mohammad Beiroumi said:

    I totally agree with Glenn Johnson. I have recently purchased CC2530-ZDK to use it for teaching/research purpose as I am currently working as a teacher at the Copenhagen Engineering College. I worked previously with TI's product and I thought that I could use some sort of open source compiler for CC2530 as it is indicated in swru209a document.

    Q4 Can I use another compiler than IAR to develop software for CC2530?

    A4 Yes, there are several tools available that can be used for CC2530. Any 8051 compiler (e.g. Keil, GCC, and SDCC) can in theory, be used. 

    I am sorry that this statement led to a misunderstanding. I absolutely agree that the formulation here is unfortunate. It is true that you can use any compiler to compile for a CC2530, but you then won't be able to use pre-compiled libraries for IAR, meaning that only IAR can be used for Z-stack or TIMAC. This is quite clear if you visit the Z-stack product page, though.

    The fact that Z-stack and TIMAC can only be used with IAR, and also that all code examples provided by TI are written for IAR, should have been made clear in this FAQ. I have notified the group responsible for this document, and this will be updated in the next revision.

  • So if a CC2530 kit is purchased but the user cannot or will not buy a seat for IAR, they can only use it as a Zigbee device for 30 days?  After that it becomes a standard 8051 device with no Zigbee capability?  Interesting sales strategy...

    Engineers and students know and trust the Texas Instruments name.  You make a great Zigbee device, and we'd like to use it without being raked over the coals on licensing fees.  To be honest, it feels like those of us who want an open source alternative are being told to sit quietly while the adults are speaking.  The problem is simple - this sort of thing alienates future customers.

    Just to be clear, this request / grievance is not directed at the support engineers.  It is a critique of the overall approach to open source design, made in the hope that it might get elevated to the suits in the corner offices who will embrace the open source and DIY folks going forward.  I very much appreciate the responsiveness that hec, no_more_wires and Derek have shown.  It is encouraging to have this sort of access to support engineers for a product as powerful as this.  Thank you.

  • I concur with other disappointments expressed here. I don't understand why important software package such as Z-Stack is not supported by TI's own CCS.

    I downloaded the Z-Stack without first knowing that it's supported only by IAR tools. When I realized that fact, I quickly uninstalled it and moved on to other manufacturer'.
  • If you don't want to buy IAR, using CC2530 as ZNP is an alternative. You can refer to