mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
ff7f8ae2f0
RIOT supports two distinct families of the MSP430: The [MSP430 x1xx] MCU family and the [MSP430 F2xx/G2xx] MCU family. For both incompatible MCU families the code was located in the msp430fxyz folder, resulting in case of the UART driver in particularly bizarre code looking roughly like this: #ifndef UART_USE_USCI /* implementation of x1xx peripheral ... */ #else /* implementation of F2xx/G2xx peripheral ... */ #endif /* zero shared code between both variants */ This splits the peripheral drivers for USCI and USART serial IP blocks into separate files and relocates everything in cpu/msp430, similar to how cpu/stm32 is organized. [MSP430 x1xx]: https://www.ti.com/lit/ug/slau049f/slau049f.pdf [MSP430 F2xx/G2xx]: https://www.ti.com/lit/ug/slau144k/slau144k.pdf
24 lines
654 B
Makefile
24 lines
654 B
Makefile
MODULE = periph
|
|
|
|
# All supported MSP430 families use special serial IP block that implements
|
|
# various serial bus interfaces using the same hardware block. For the
|
|
# MSP430 x1xx family, the block is called USART. For the MSP430 F2xx/G2xx
|
|
# family it is the (incompatible) USCI.
|
|
ifeq (msp430_x1xx,$(CPU_FAM))
|
|
SERIAL_IP_BLOCK := usart
|
|
endif
|
|
ifeq (msp430_f2xx_g2xx,$(CPU_FAM))
|
|
SERIAL_IP_BLOCK := usci
|
|
endif
|
|
|
|
# select family specific peripheral drivers.
|
|
ifneq (,$(filter periph_uart,$(USEMODULE)))
|
|
SRC += uart_$(SERIAL_IP_BLOCK).c
|
|
endif
|
|
|
|
ifneq (,$(filter periph_spi,$(USEMODULE)))
|
|
SRC += spi_$(SERIAL_IP_BLOCK).c
|
|
endif
|
|
|
|
include $(RIOTMAKE)/periph.mk
|