459f7ebce0
The SPI bus frequency/clock is calculated relative to the MCUs core clock. Currently all boards use the default 32MHz, hence prescaler settings for SPI are all the same. This PR moves the default config for 32MHz to the CPU and allows to be overriden by board config if needed. |
||
---|---|---|
.. | ||
include | ||
board.c | ||
Makefile | ||
Makefile.dep | ||
Makefile.features | ||
Makefile.include | ||
README.md |
Zolertia RE-Mote platform
The RE-Mote platform (prototype A) is a IoT Hardware development platform based on TI's CC2538 system on chip (SoC), featuring an ARM Cortex-M3 with 512KB flash, 32Kb RAM, double RF interface, and the following goodies:
- ISM 2.4-GHz IEEE 802.15.4 & Zigbee compliant.
- ISM 868-, 915-, 920-, 950-MHz ISM/SRD Band.
- AES-128/256, SHA2 Hardware Encryption Engine.
- ECC-128/256, RSA Hardware Acceleration Engine for Secure Key Exchange.
- Power consumption down to 3uA using our shutdown mode.
- Co-Processor to allow peripheral management, programming over BSL without requiring to press any button to enter bootloader mode.
- Built-in battery charger (500mA), Energy Harvesting and Solar Panels to be connected to standards LiPo batteries.
- Power input with wide range 2-26VDC.
- Built-in TMP102 temperature sensor
- Small form-factor (as the Z1 mote, half the size of an Arduino) 57x35 mm.
This version was the first RE-Mote prototype, available to select users and beta testers. A commercially available new model (namely the Revision A) is also ported to RIOT.
Port Features
In terms of hardware support, the following drivers have been implemented:
- CC2538 System-on-Chip:
- UART
- Random number generator
- Low Power Modes
- General-Purpose Timers.
- ADC
- LEDs
- Buttons
- Internal/external 2.4GHz antenna switch controllable by SW
- RF 2.4GHz built-in in CC2538
And under work or pending at cc2538 base cpu:
* Built-in core temperature and battery sensor.
* TMP102 temperature sensor driver.
* CC1120 sub-1GHz radio interface.
* Micro-SD external storage.
* USB (in CDC-ACM).
* uDMA Controller.
Requirements
- Toolchain to compile RIOT for the CC2538
- Drivers to enable your host to communicate with the platform
- Built-in BSL programming over USB using cc2538-bsl (included)
Install a Toolchain
The toolchain used to build is arm-gcc, to check if it is currently installed run:
$ arm-none-eabi-gcc -v
Using built-in specs.
Target: arm-none-eabi
Configured with: /scratch/julian/lite-respin/eabi/src/gcc-4.3/configure
...
(skip)
...
Thread model: single
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-66)
Else install from https://launchpad.net/gcc-arm-embedded
Drivers
The Re-Mote features a FTDI serial-to-USB module, the driver is commonly found in most OS, but if required it can be downloaded from http://www.ftdichip.com/Drivers/VCP.htm
For the CC2538EM (USB CDC-ACM)
The Re-Mote has built-in support for USB 2.0 USB, Vendor and Product IDs are the following:
- VID 0x0451
- PID 0x16C8
On Linux and OS X this is straightforward, on windows you need to install the following driver:
https://github.com/alignan/lufa/blob/remote-zongle/LUFA/CodeTemplates/WindowsINF/LUFA%20CDC-ACM.inf
And replace the IDs accordingly.
Device Enumerations
For the UART, serial line settings are 115200 8N1, no flow control.
Once all drivers have been installed correctly:
On windows, devices will appear as a virtual COM
port.
On Linux and OS X, devices will appear under /dev/
.
On OS X:
- XDS backchannel:
tty.usbserial-<serial number>
- EM in CDC-ACM:
tty.usbmodemf<X><ABC>
(X a letter, ABC a number e.g.tty.usbmodemfd121
)
On Linux:
- Re-Mote over FTDI:
ttyUSB1
- Re-Mote over USB driver (in CDC-ACM):
ttyACMn
(n=0, 1, ....)