Quantcast
Channel: Wireless Connectivity
Viewing all articles
Browse latest Browse all 116964

Forum Post: RE: Open-source, free, or low-cost compiler? (UART access to HCI for CC2540)

$
0
0

Eclipse (and hence also CCS) is just an IDE. The issue is the compiler. TI do not have an 8051 compiler to add to CCS.

The problem is that the 8051 has such a horrid memory architecture so ill-suited to C that gcc does not support it and likely never will. So your options are commercial compiler vendors such as IAR and Keil, or SDCC.

You may be able to get SDCC to compile the TI-provided code but it won't help you. The outputs produced by SDCC and IAR are not binary compatible (i.e. you can't link SDCC output with IAR libraries), and since TI provides the stack only in the form of binary libraries produced by IAR, you're out of luck.

If you are doing a hobby project the IAR compiler is probably out of reach. If you are doing a commercial project and the issue is just that the IAR license is expensive, ask them about time-limited rather than perpetual licenses. They will sell you a one-year license for about one third of the cost of a perpetual license. A year is typically enough to complete a project and get it in to production.

You may ask, if 8051 is so horrid why do people keep designing it in? Because it's cheap. The CC products were designed by small fabless start-up Chipcon and these sorts of companies often reach for "8051.vhdl" when they need a small on-chip MCU because its free. When TI bought them there was lots of talk about replacing the 8051 cores with MSP430 cores. They have largely achieved this on the sub-1GHz products but it seems to be beyond them for the 2.4GHz stuff. I'm guessing it's a process issue.

These days there is little excuse to design in an 8051 core. ARM Cortex-M3 cores are small and cheap to license. Refuse to design-in chips based on the 8051 and eventually the problem will solve itself.


Viewing all articles
Browse latest Browse all 116964

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>