1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
Marian Buschsieweke
97a6543c10
tree-wide: Introduce netif feature and use it
This gets rid of a long list of boards with network interfaces and
instead let's boards (or MCUs with peripheral network interfaces)
provide the netif feature.

The apps that before used the long list are not depending on the
feature instead (in case of the default example, this is an
optional dependency).

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
Co-authored-by: mewen.berthelot <mewen.berthelot@orange.com>
2024-05-22 10:39:56 +02:00
Marian Buschsieweke
ff7f8ae2f0
cpu/msp430: reorganize code
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
2023-06-19 17:14:57 +02:00
Gaëtan Harter
636285ebe4
boards: move CPU/CPU_MODEL definition to Makefile.features
cpu/$(CPU)/Makefile.features and cpu/$(CPU)/Makefile.dep are
automatically included

Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-08-20 16:11:50 +02:00
a68f78bb10
boards/*: remove unused FEATURES_MCU_GROUP variable 2019-06-14 11:32:15 +02:00
cladmi
b450141d4d
boards: unconditionally include CPU/Makefile.features
The file always exist so no need to do '-include'.

Replaced using:

    sed -i 's|-\(include $(RIOTCPU)/.*/Makefile.features\)|\1|' \
        $(git grep -l  '$(RIOTCPU)/.*/Makefile.features' boards)
2018-10-11 17:13:40 +02:00
Joakim Nohlgård
8996cbe313 make: Introduce new feature flag periph_gpio_irq 2018-08-29 08:53:20 +02:00
Hauke Petersen
e116fd961f boards/msp430-based: removed flashpage feature
This feature is already defined by the (common) CPU implementation,
so no need to re-define it for each board.
2017-11-08 17:09:18 +01:00
02e055fc81 make: include cpu Makefile.features from board Makefile.features 2017-09-14 13:15:52 +02:00
Hauke Petersen
25f285f1d1 cpu/msp430: added flashpage driver implementation 2017-08-29 12:08:33 +02:00
Hauke Petersen
dfe52cfd8c boards/telosb: added support for CC2420 2016-07-06 18:14:48 +02:00
Hauke Petersen
c62f39aa54 boards/telosb: adjusted to UART changes 2015-10-27 14:59:39 +01:00
Hauke Petersen
528e832c90 boards: cleaned up entries in Makefile.features 2015-10-21 16:45:21 +02:00
Hauke Petersen
4669f7f089 boards/telosb: added GPIO feature 2015-09-03 16:29:55 +02:00
Hauke Petersen
a053716e4b board/telosb: added (x)timer configuration 2015-09-02 17:10:28 +02:00
Hauke Petersen
bff1d7e73e boards: remove feature 'transceiver' 2015-08-06 12:13:54 +02:00
Philipp Rosenkranz
02d0c88284 tests/travis: split buildtests into MCU groups. 2015-02-22 15:04:52 +01:00
René Kijewski
765c88d08a make: allow drivers to implement features
This change allows drivers (or any module for that matter) to provide
features. This is e.g. useful if a board does not have a transceiver,
but your application uses `USEMODULE += some_driver`, which implements
the transceiver interface.

The line `FEATURES_PROVIDED += some_feature` should go to the guarded
block in `{sys,drivers}/Makefile.include`.
2014-10-26 23:54:10 +01:00
René Kijewski
f49bd3e660 make: add Makefile.features telling the BOARDs' features
Please see #1715.
Closes #1715.

This PR implements the new Makefile variables "FEATURES_PROVIDED" and
"FEATURES_REQUIRED". A board *can* have a new file `Makefile.features`
which looks like:

```make
FEATURES_PROVIDED = transceiver
```

An application can have a corresponding line

```make
FEATURES_REQUIRED = transceiver
```

If the selected BOARD does not fulfil the requirements of the
application, then a *warning* is issued at compile time.

This change only includes the feature "transceiver", further features
are expected to be listed in further PRs. The requirement "transceiver"
is automatically added if the application uses the module
"defaulttransceiver".

`make buildtest` understands the new feature listing, so the user won't
need to add boards to `BOARD_BLACKLIST` manually.

Part of the change are the added Make targets
* `info-features-missing`, which prints the required features
  `\setminus` the provided features. The output is empty if there are no
  features missing.
* `info-boards-features-missing`, the same as `info-features-missing`
  but as a table for all boards, but heeded `BOARD_WHITELIST` and
  `BOARD_BLACKLIST`.

Applications don't have to use this new feature. This change does not
break existing Makefile.
2014-10-06 17:42:11 +02:00