Contiki provides CPU code for two Texas Instruments System-on-Chip (SoC) solutions, the cc253x and cc243x. All those SoCs are equipped with an enhanced Intel 8051 microcontroller core, which means that we build contiki using the Small Device C Compiler (SDCC).
Contiki platforms using this CPU code are:
The port actively supports N740 NanoSensors and N601 USB NanoRouters. Those devices are actually equipped with Radiocrafts RC230x modules, which are cc2430x equivalents. The port also contains some legacy code to support older devices (e.g. N600, N711). Unfortunately, lack of access to the actual hardware means this code is not being tested and may be bugged.
To my knowledge, this hardware is no longer available on the market.
I have received reports that this port has been successfully used with TI's cc2430 DKs with very minor modifications. If you are interested in trying this, start by changing
putchar() to use UART0 (on cc2430 DKs) instead of the default UART1 (on Sensinodes).
The following hardware is supported:
There is no support for the cc1110. However, similar to cc243x and cc253x, this SoC is based on the 8051 MCU. This means that the existing contiki cpu code (
cpu/cc2430) can serve as a basis for cc1110 porting efforts. Due to its RAM and Flash size, it is unlikely that a cc1110 port will support the same feature set (begging to be proven wrong here!). This thread on contiki-developers contains an exchange of ideas on how to go about porting for this SoC.
This table lists the various hardware features for the devices supported by Contiki. Unless explicitly mentioned otherwise, the features listed here have been implemented.
|Texas Instruments cc2530 DK||Sensinode|
|cc2530EMs on SmartRF05EB||cc2531 USB Dongle||N740 NanoSensor||N601 USB NanoRouter|
|MCU||Enhanced Intel 8051 core, using the standard 8051 instruction set.|
|RAM||8 KB with data retention in all power modes||8 KB (4 KB data retention in all power modes)|
|Flash||256 KB||128 KB|
|RF||2.4 GHz IEEE 802.15.4 compliant RF transceiver||2.4 GHz IEEE 802.15.4 compliant RF transceiver, based on the cc2420 radio core|
|Sensors||VDD, On-Chip Temperature|
|Other||cc2431 Location Engine1|
|Hardware AES Encryption/Decryption (AES Co-Processor)4|
|Hardware Random Number Generator|
|I/O Connectors||RS232 (UART0)||USB||MiniUSB (to UART1 over FTDI or to program)||USB (to UART1 over FTDI or to program)|
|USB (to program)||Debug Connector||9-pin (to program)||Debug Connector|
|Serial Flash||256 KB OnBoard SPI Flash4||Numonyx Forté M25P16 (16 Mbit)|
|USB-UART||No||No||FTDI FT232R USB UART|
|Other||LCD4||Hardware USB Support||Freescale Semiconductor ±3g, ±11g Three Axis Accelerometer|
|Joystick4||Vishay Semiconductors Ambient Light Sensor|
|Battery Voltage Sensor|
If you are willing to contribute driver code, have a good read at this page. Also, due to licensing, I can't consider code directly derived from TI software examples.