Boot Loader HEX File?

Hi All,

I was wondering if the HEX file is available to program my own CC2511F32 devices with the Wixel firmware? I have tried looking through all the usual places and can’t find it. What is the license on the bootloader itself?


Hello, ozonejunkie.

The bootloader is proprietary, but we should be able to provide CC2511F32 chips with our bootloader pre-loaded. We would have to get some extra hardware to program the bare chips, so there would be some setup costs; please contact us directly if you are interested.

Please note that with a few small changes to the Wixel SDK’s Makefile and the code in libraries/src/wixel, you should be able to get our Wixel apps running on your own CC2511 devices without the bootloader. For Wixel SDK licensing information, please see LICENSE.txt in the Wixel SDK: … ICENSE.txt


Hi, David:

This is slightly off topic, but I’m wondering if Pololu might have any interest in extending the Wixel SDK to TI’s sub-GHz radio processors, such as the CC1111F32.

One reason for my interest is that I have the TI ez430 Chronos watch (which uses the MSP430 processor) and would like to reprogram its USB dongle interface, which incorporates the CC1111F32. The processor is apparently the same as in the CC25111Fx series. The watch also comes with a USB wired programming interface and TI’s loader, but TI’s hex files have completely a different format than intel hex (as well as being intended for the MSP430). Is it reasonably straightforward to modify the SDK to take advantage of a JTAG interface or to produce TI’s hex format? There might be quite a bit of interest in a Pololu offering, as the Chronos watch is popular.

A final question is: how does SDCC know which processor is targeted? I can’t find any of the documented mechanisms, such as a -m or -p command-line flag in the makefile. The definitions in the include files don’t seem to cover processor type, either.

Thanks for taking the time to respond!

Jim Remington

Hello, Jim.

That’s cool that you have the TI ez430 Chronos watch. I have one too! What have you been doing with yours?

We have heard of the CC1111F32 and might make a product with it some day, but nothing is being developed yet.

The Wixel SDK produces a regular Intel HEX file during compilation. If you can find or make a utility that converts Intel HEX files to TI’s file format, then it would be easy to add an invocation of that utility to the “%.wxl: %.hex” rule in the Makefile. Then the Wixel SDK will automatically produce TI files for every app.

You can also look in to see how the “load_*” targets are defined, and define your own command for loading HEX files with TI’s JTAG interface.

You’ll probably have to change the definition of the CODE_AREA variable in the Makefile too.

SDCC knows it is targeting a processor with the MCS-51 (a.k.a. 8051) architecture because that is the default. SDCC doesn’t know anything else about the processor. The size and location of the memory spaces are specified as command-line arguments to SDCC in the Makefile. This is kind of unfortunate because it means that SDCC does not take advantage of the dual data pointers or the unified memory space in the CC2511F32, but I imagine it makes SDCC a lot easier to maintain because they don’t have to add new part definitions every time a new part comes out.


Hi David:

Thanks very much, your comments helped clear up a number of mysteries about SDCC, including the reason for all the memory definitions! I spent a fair bit of time on the SDCC project pages and scanned through the documentation, but had trouble finding answers to some pretty basic questions.

I got the ezChronos watch partly because I wanted a wearable barometer for weather prediction while on extended sea kayaking trips, and it is very inexpensive. I rewrote the entire module for the altimeter to include a barometer function, as well as to fix some of the more serious problems with the altimeter. I threw out the accelerometer, heart rate monitor, powerpoint controller, etc. for the time being. That was a fun project!

My interest in the CC1111F32 dongle is the possibility to use it and the watch for trip data logging. This has of course been implemented by TI but I don’t like the way they did it, plus I could not incorporate my modifications to their logger code due to code size (I’m using msp430-gcc, which produces a lot more machine code than the proprietary compilers).

Cheers, Jim

PS: check out this module, CC1101 plus on board antenna for <$15.00! … zE9hicymgI