Skip to content

CC2538DK Software Configuration

laurentderu edited this page Sep 5, 2014 · 3 revisions

Introduction

The CC2538DK is now available in the latest release of 6LBR. Combined with an ENC28J60 Ethernet controller, it can be used to run a lightweight border router. The ENC28J60 can be either connected using GPIO or the SPI controller of the CC2538. By default the webserver is enabled, allowing runtime configuration of the 6LBR through the webserver.

Manual build

Obtain the source

  1. Install a cross-compilation environment for CC2538DK This document does not describe how to set up a cross-compilation environment for CC2538DK, for a good starter check CC2538DK platform Readme
  2. Obtain the latest version of 6LBR:
git clone https://github.com/cetic/6lbr
cd 6lbr
git submodule update --init --recursive
cd examples/6lbr

Hardware configuration

Selection of the device controller for the ENC28J60 is done in the Makefile using CC2538_ENC28J60_ARCH. The actual ports can be configured individually, see enc28j60-arch-xxx.c files. The default configuration uses the GPIO pad as device controller.

with the following port mapping :

  • CLOCK : Port A.2 (Fixed in SPI mode)
  • MOSI : Port A.4 (Fixed in SPI mode)
  • MISO : Port A.5 (Fixed in SPI mode)
  • CS : Port B.5

Note that in GPIO mode you may have conflict with the SPI pad, in that case changes MOSI and MISO ports to Port A.6 and Port A.7 respectively

Build

  1. In 6lbr source directory, do the following commands :
make all_cc2538dk
make tools

By default, the binaries will be in the raw binary format, you can use CC2538DK_FW to select hex or elf formats.

Binary loading

You can use many tools to upload your binary :

Configuration update

By default, CC2538DK images have the full webserver enabled, which allow yo to configure the run time parameters.

Clone this wiki locally