1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/spark-core/doc.txt
2024-10-09 13:03:52 +02:00

120 lines
4.0 KiB
Plaintext

/**
@defgroup boards_spark-core Spark-Core
@ingroup boards
@brief Support for the spark-core board
## Overview
Spark's hardware dev kit, the Spark Core, provides everything you need to
build a connected product. We combine a powerful ARM Cortex M3 micro-controller
with a Wi-Fi module to get you started quickly. The design is open source, so
when you're ready to integrate the Core into your product, you can.
## Hardware
![Spark-Core image](https://raw.githubusercontent.com/wiki/RIOT-OS/RIOT/images/spark-core.jpg)
Link to [product website](http://docs.spark.io/hardware/).
### MCU
| MCU | STM32F103CB |
|:------------- |:--------------------- |
| Family | ARM Cortex-M3 |
| Vendor | ST Microelectronics |
| RAM | 20Kb |
| Flash | 128Kb |
| Frequency | up to 72MHz (using the on-board 8MHz Oszillator of the ST- Link) |
| FPU | no |
| Timers | 10 (9x 16-bit, 1x 32-bit [TIM2]) |
| ADCs | 4x 12-bit |
| UARTs | 5 |
| SPIs | 3 |
| I2Cs | 2 |
| Vcc | 2.0V - 3.6V |
| Datasheet | [Datasheet](https://github.com/spark/core/blob/master/Datasheets/ST_STM32F103CB.pdf) |
| Reference Manual | [Reference Manual](xxx) |
| Programming Manual | [Programming Manual](xxx) |
| Board Manual | [Board Manual](http://docs.spark.io/hardware/)|
# Hardware connection
First of all make sure the your spark core device is detected and can be
accessed properly. In Linux you might have to adept your udev rules accordingly:
```
$ cat 50-openmoko.rules
#Bus 001 Device 022: ID 1d50:607f OpenMoko, Inc.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="607f", \
MODE:="0666", \
SYMLINK+="openmoko_%n"
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and manage access using standard unix groups.
sudo cp 50-openmoko.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
```
now replug the usb cable and flash.
# Flashing
To flash RIOT to the spark core you need to install `dfu-util` (tested with
0.7 and 0.8).
Power the device and press the the `mode` button until the LED flashes
yellow/orange: now the device is ready to get flashed.
# Firmware upgrade
To run RIOT it is required that you run the newest spark bootloader on your
core:
from https://community.spark.io/t/replace-core-firmware-with-riot-os/7007/7
```
Here is the core-firmware branch for this:
https://github.com/spark/core-firmware/tree/bootloader-patch-update1
However care should be taken not to disturb the patch update process by
accidentally removing usb power or through reset.
Following is the procedure to update the bootloader-patch
1)cd core-firmware
2)git pull
3)git checkout bootloader-patch-update
4)cd build [No need to run make]
5)Enter usb dfu/bootloader mode => Yellow flashes
6) dfu-util -d 1d50:607f -a 0 -s 0x08005000:leave -D core-firmware.bin
7)Upon execution, the bootloader should be updated within a second or two and
normal core-firmware should start executing.
8)Congrats! your core is loaded with latest bootloader without the hassle of
going through ST-Link JTAG programming
```
Build and flash
===============
1. clone RIOT-OS
2. cd to e.g. `examples/hello_world`
3. enter `BOARD=spark-core make clean all flash`
Use the UART
============
1. RIOT is using the UART PINs on the board, they are labeled as `RT` and
`TX`.
2. Connect your TTY to them and `BOARD=spark-core make term`.
3. In a different terminal enter `BOARD=spark-core make reset`
Pin mapping in RIOT
===================
The following image shows RIOT's static pin mapping chosen for this board.
This mapping is completely arbitrary, it can be adjusted in
`boards/spark-core/include/periph_conf.h`
![Pin Mapping](http://docs.spark.io/assets/images/spark-pinout.png)
*/