Board: Mulle - kbonset/RIOT GitHub Wiki
The Mulle is a miniature wireless Embedded Internet System suitable for wireless sensors connected to the Internet of Things, and designed for rapid prototyping. It can be bought directly from Eistec AB.
Use BOARD=mulle
for building RIOT for this platform.
Components
https://github.com/eistec/mulle/wiki/Datasheets contains a list of relevant documentation for the components.
MCU | MK60DN512VLL10 – Cortex-M4 |
---|---|
RAM | 64kB |
Flash | 512kB |
radio chipset | AT86RF212B, sub-GHz IEEE802.15.4 transceiver, similar to the AT86RF233 |
external flash memory | Micron M25P16 16 Mbits external NOR flash, used for storing configuration, measurements and other slow changing non-volatile data |
external FRAM memory | Cypress/Ramtron FM25L04B 4 Kbits external F-RAM, used for storing counters and other rapidly changing non-volatile data |
accelerometer | ST micro LIS3DH MEMS accelerometer, |
Layout
Implementation Status
This port is currently a work in progress, lots of components are not working yet. The examples/default
basic functionality is working. The branch mulle
on https://github.com/gebart/RIOT is the current progress. A PR will be opened after it has been cleaned up a bit more.
A tracker for Kinetis devices can be found at Issue #2188
The radio is currently untested in RIOT, but since the RF231 is somewhat supported it should be a minor porting effort to get the RF212B working.
Device | ID | Supported | Comments |
---|---|---|---|
MCU | MK60DN512VLL10 | partly | See below |
Low-level driver | GPIO | yes | |
PWM | yes | ||
UART | yes | ||
I2C | yes | ||
SPI | yes | Master mode works, slave mode untested | |
USB | no | PR#3890 | |
RTT | yes | ||
RNG | yes | ||
timer | yes | uses LPTMR module for TIMER_0 (used by xtimer), 32.768 kHz tick rate. PIT for additional timers, F_BUS tick rate (48 MHz default) | |
LPM/LLWU | in progress | PR#2605 | |
Radio Chip | AT86RF212B | yes | |
Accelerometer | LIS3DH | yes | |
Flash | M25P16 | no | will port from Contiki |
FRAM | FM25L04B | yes |
Toolchains
See ARM Family, and Eistec wiki - Installing-toolchain (GCC)
Working:
- gcc-arm-embedded
- Clang 3.4, Clang 3.5 - Install procedure not documented but pretty straightforward (Gentoo:
USE=multitarget
), Makefiles and build system is fully functional with Clang.
Not working:
- Link time optimization (LTO) - Requires the GOLD linker, which currently fails on the K60 ldscripts. Needs refactoring of the ldscripts.
Programming and Debugging
See Eistec wiki.