-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
19558: boards: support for Olimex MSP430-H1611 board r=maribu a=maribu ### Contribution description - implement a clock driver so that boards declare their clock configuration, rather than initializing the CPU clock in `board_init()` by hand - Note: A board can still overwrite the weak symbol `clock_init()` in case some really crazy things should happen - add support for the Olimex-H1611 board 19598: dist/tools/insufficient_memory: fix collection of app folders r=maribu a=maribu ### Contribution description There is actually a make target to list the applications in the repo. Let's just use that. Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
- Loading branch information
Showing
96 changed files
with
1,072 additions
and
341 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Copyright (c) 2020 HAW Hamburg | ||
# | ||
# This file is subject to the terms and conditions of the GNU Lesser | ||
# General Public License v2.1. See the file LICENSE in the top level | ||
# directory for more details. | ||
|
||
config BOARD | ||
default "olimex-msp430-h1611" if BOARD_OLIMEX_MSP430_H1611 | ||
|
||
config BOARD_OLIMEX_MSP430_H1611 | ||
bool | ||
default y | ||
select CPU_MODEL_MSP430F1611 | ||
select HAS_PERIPH_GPIO | ||
select HAS_PERIPH_GPIO_IRQ | ||
select HAS_PERIPH_SPI | ||
select HAS_PERIPH_TIMER | ||
select HAS_PERIPH_UART |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
MODULE = board | ||
|
||
include $(RIOTBASE)/Makefile.base |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
CPU = msp430fxyz | ||
CPU_MODEL = msp430f1611 | ||
|
||
# Put defined MCU peripherals here (in alphabetical order) | ||
FEATURES_PROVIDED += periph_gpio periph_gpio_irq | ||
FEATURES_PROVIDED += periph_spi | ||
FEATURES_PROVIDED += periph_timer | ||
FEATURES_PROVIDED += periph_uart | ||
|
||
# Various other features (if any) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# set default port depending on operating system | ||
PORT_LINUX ?= /dev/ttyUSB0 | ||
PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbserial-MXV*))) | ||
|
||
# flash tool configuration | ||
PROGRAMMER ?= mspdebug | ||
MSPDEBUG_PROGRAMMER ?= olimex | ||
|
||
PROGRAMMERS_SUPPORTED += mspdebug | ||
|
||
# When freshly plugged in the Olimex MSP430-JTAG-Tiny debugger provides a | ||
# ttyACM interface, which is only available until the first flashing. A | ||
# `make term` or even a `make flash term` may pick the JTAG debugger instead | ||
# of the correct USB TTL adapter when the JTAG programmer is plugged in after | ||
# the TTL adapter and `MOST_RECENT_PORT=1` is used. | ||
# | ||
# To fix that, we filter first by the most common USB TTL adapter drivers and | ||
# fall back to all TTY when no such TTL adapter is found. | ||
TTY_BOARD_FILTER := --driver 'cp210x|ch341|ftdi_sio' | ||
TTY_SELECT_CMD := $(RIOTTOOLS)/usb-serial/ttys.py \ | ||
--most-recent \ | ||
--format path serial \ | ||
$(TTY_BOARD_FILTER) || \ | ||
$(RIOTTOOLS)/usb-serial/ttys.py \ | ||
--most-recent \ | ||
--format path serial |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
/** | ||
@defgroup boards_olimex_msp430_h1611 Olimex MSP430-H1611 | ||
@ingroup boards | ||
@brief Support for the Olimex MSP430-H1611 board | ||
|
||
<img src="https://github.com/maribu/images/raw/master/Olimex%20MSP430-H1611.jpeg" alt="Photo of Olimex MSP430-H1611 Board" style="width: 512px; max-width: 100%;"> | ||
|
||
## MCU | ||
|
||
| MCU | TI MSP430F1611 | | ||
|:----------------- |:------------------------------------------------------------- | | ||
| Family | MSP430 | | ||
| Vendor | Texas Instruments | | ||
| Package | 64 QFN | | ||
| RAM | 10 KiB | | ||
| Flash | 48 KiB | | ||
| Frequency | 8 MHz | | ||
| FPU | no | | ||
| Timers | 2 (2x 16bit) | | ||
| ADCs | 1x 8 channel 12-bit | | ||
| UARTs | 2 | | ||
| SPIs | 2 | | ||
| I2Cs | 1 | | ||
| Vcc | 2.0V - 3.6V | | ||
| Datasheet MCU | [Datasheet](https://www.ti.com/product/MSP430F1611) | | ||
| User Guide MCU | [User Guide](https://www.ti.com/lit/ug/slau049f/slau049f.pdf) | | ||
| Datasheet Board | [MSP430-H1611 Datasheet](https://www.olimex.com/Products/MSP430/Header/_resources/MSP430-Hxxx-e.pdf) | | ||
| Website | [MSP430-H1611 Website](https://www.olimex.com/Products/MSP430/Header/MSP430-H1611/) | | ||
|
||
## Schematics | ||
|
||
<img src="https://www.olimex.com/Products/MSP430/Header/_resources/MSP430-Hxxx-sch.gif" alt="Schematics of the Olimex MSP430-H1611 Board" style="max-width: 100%;"> | ||
|
||
## Pinout | ||
|
||
The 64 pins on the edges of the PCB are connected to the corresponding MCU pins. | ||
Hence, the following pinout of the naked MSP430-F1611 MCU chip matches the | ||
pinout of the header board: | ||
|
||
<img src="https://github.com/maribu/images/raw/master/MSP430F1611%20Pinout.svg" alt="Pinout of the naked MSP430-F1611 MCU" style="width: 512px; max-width: 100%;"> | ||
|
||
## Flashing RIOT | ||
|
||
<img src="https://github.com/maribu/images/raw/master/Olimex%20MSP430-H1611%20with%20Debugger.jpeg" alt="Photo of Olimex MSP430-H1611 Board connected to a JTAG Debugger" style="width: 512px; max-width: 100%;"> | ||
|
||
Connect the board to a JTAG debugger supported by | ||
[mspdebug](https://dlbeer.co.nz/mspdebug/); by default the | ||
Olimex MSP430-JTAG-Tiny (as shown in the picture above) is assumed, which is | ||
among the less expensive options. | ||
|
||
@note If you are not using the Olimex MSP430-JTAG-Tiny (or a compatible | ||
programmer), set `MSPDEBUG_PROGRAMMER` to the correct value via | ||
an environment variable or as parameter to make. E.g. use | ||
`make BOARD=olimex-msp430-h1611 MSPDEBUG_PROGRAMMER=bus-pirate` to | ||
flash using the bus pirate. | ||
|
||
@warning You can power the board via the JTAG programmer by placing a | ||
jumper at `P_IN`. However, the JTAG programmer will only be able | ||
to provide a limited current. You may want to disconnect the | ||
header board from devices consuming a lot of power prior to | ||
flashing. | ||
|
||
@warning If the board is powered externally, make sure to place the jumper | ||
in `P_OUT` position, not in `P_IN` position. | ||
|
||
@warning A jumper in `P_OUT` is mutually exclusive to a jumper in `P_IN`. | ||
Never connect both at the same time. | ||
|
||
@note While the JTAG connector has no markings, you can easily spot pin 1 | ||
on to bottom of the board by the square pad; all other JTAG pins | ||
have a circular pad. | ||
|
||
Once the jumper is correctly placed in either `P_IN` or in `P_OUT` and the | ||
JTAG cable is connected just run | ||
|
||
``` | ||
make BOARD=olimex-msp430-h1611 flash | ||
``` | ||
|
||
## Using the shell | ||
|
||
stdio is available via the UART interface with `TXD = P3.6` | ||
(pin 35 on the header) and `RXD = P3.7` (pin 34 on the header) at 115,200 Baud. | ||
|
||
The easiest way is to connect an USB TTL adapter (such as the cheap `cp210x` | ||
or `ch341` based adapters) as follows: | ||
|
||
``` | ||
TTL adapter Olimex MSP430-H1611 | ||
----------- ------------------- | ||
|
||
GND --- 63 (DV_SS) | ||
TXD --- 35 (P3.7) | ||
RXD --- 34 (P3.6) | ||
``` | ||
|
||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* | ||
* Copyright (C) 2014 INRIA | ||
* | ||
* This file is subject to the terms and conditions of the GNU Lesser | ||
* General Public License v2.1. See the file LICENSE in the top level | ||
* directory for more details. | ||
*/ | ||
|
||
#ifndef BOARD_CONF_H | ||
#define BOARD_CONF_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#define INFOMEM (0x1000) | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* BOARD_CONF_H */ |
Oops, something went wrong.