User Tools

Site Tools



Contiki on Linux

  1. Plug in el SmartRF06. Run this little jibby jobby to get everything to come alive:
     modprobe ftdi_sio vendor=0x403 product=0xa6d1 
    1. You can also run lsusb to make sure that Linux finds the SmartRF board.
  2. Get Contiki
     git clone
  3. Get the arm compiler. The arm-none-eabi- version works with Contiki. Go here: and give them your name, email, etc. You want the eabi version that is not source. Pick the recommended release, and then the IA32 GNU/Linux TAR. Extract to a place of your choosing, then add the bin folder in the arm compiler folder to your path in .bashrc.
  4. Install ia32-libs
    sudo apt-get install ia32-libs
  5. Get TI's flash loader tool. Install that and whatnot. Add the base ti folder (/opt/ti) to your path in .bashrc.
  6. Get the correct `.ccxml` file for the CC2538. For uniflash 2.1: For 2.2:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Texas Instruments XDS100v3 USB Emulator_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Emulator_0" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Emulator_0" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Emulator_0">
                <instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
                <property Type="choicelist" Value="2" id="The Converter Usage">
                    <choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
                        <property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
                            <choice Name="Overclock with user specified value" value="unused">
                                <property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
                        <property Type="choicelist" Value="5" id="The Target Scan Format"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="CC2538_0" href="devices/cc2538sf53.xml" id="CC2538_0" xml="cc2538sf53.xml" xmlpath="devices"/>
                <device HW_revision="1" XML_version="1.2" description="CORTEXM3" id="CC2538_0" partnum="CC2538" simulation="no">
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C Router" id="IcePick_C_0" isa="ICEPICK_C">
                            <subpath id="subpath_0">
                                <router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_0" isa="CS_DAP">
                                    <subpath id="subpath_1">
                                        <cpu HW_revision="1.0" XML_version="1.2" description="Cortex_M3 CPU" deviceSim="false" id="Cortex_M3_0" isa="Cortex_M3">
                                            <property Type="filepathfield" Value="..\..\emulation\gel\cc2538.gel" id="GEL File"/>
  7. Compile some Contiki.
    cd contiki/examples/cc2538dk
  8. And the last magical part. This part might take a long time. -ccxml CC2538.ccxml -targetOp reset -program cc2538-demo.elf -targetOp reset
ref/cc2538/start.txt · Last modified: 2013/08/25 15:15 by bradjc