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

770 Commits

Author SHA1 Message Date
benpicco
0c7612673b
Merge pull request #13793 from ML-PA-Consulting-GmbH/make_riotboot_external_boards
riotboot: forward BOARDSDIR
2020-04-03 09:35:50 +02:00
Francisco Molina
abff884165
makefiles/info-global.inc.mk: undefine CPU_ARCH and CPU_FAM
Undefine variables that shouldnt be set at the start of resolution
and that might be used in dependency resolution.
2020-04-03 09:17:23 +02:00
Francisco Molina
b290b0d0c5
makefiles/dependencies_debug.inc.mk: add CPU_ARCH 2020-04-03 09:17:23 +02:00
192c8515b1
Merge pull request #13791 from fjmolinas/pr_remove_stdio_default_module
*/Makefile.dep: remove usage of DEFAULT_MODULE += stdio%
2020-04-02 16:23:15 +02:00
Sven Herrmann
9a58aaa354 riotboot: forward BOARDSDIR 2020-04-02 14:21:42 +00:00
Francisco Molina
0e5205c4a5
*/Makefile.dep: remove usage of DEFAULT_MODULE += stdio% 2020-04-02 14:50:18 +02:00
Leandro Lanzieri
c74544c9ec
Merge pull request #13349 from maribu/dependency-or
build system: Restructure dependency resolution
2020-04-02 10:40:44 +02:00
Marian Buschsieweke
af21f15b02
makefiles: Minor clean ups
- Add FEATURES_REQUIRED_ANY to dependency-debug:
  Now `make dependency-debug` by default also stores the contents of
  `FEATURES_REQUIRED_ANY`.
- makefiles/features_check.inc.mk: Break long lines
- {tests/minimal,tests/unittests,bootloaders/riotboot}:
  Disable auto_init_% in addition to auto_init.

This works around weird behavior due to the USEMODULE being recursively expended
in the first iteration of dependency resolution: Modules added to DEFAULT_MODULE
get automatically added to USEMODULE during the first run, but not for
subsequent. This should be iron out later on.
2020-04-02 09:56:39 +02:00
Marian Buschsieweke
7bc15acee2
build system: Restructure dependency resolution
Goals:
- Untangle dependency resolution and feature checking for better maintainability
- Improve performance of "make info-boards-supported"

Changes:
- Makefile.dep
    - Dropped handling of default modules and recursion
    - Now only dependencies of the current set of used modules and pkgs are
      added
  ==> External recursion is needed to catch transient dependencies
- Changed Makefile.features:
    - Dropped checking of provided features
    - Dropped populating FEATURES_USED with provided features that are required
      or optional
    - Dropped populating FEATURES_MISSING with required but not provided
      features
    - Dropped adding modules implementing used features to USE_MODULE
  ==> This now only populates FEATURES_PROVIDED, nothing more
- Added makefiles/features_check.inc.mk:
    - This performs the population of FEATURES_USED and FEATURES_MISSING now
- Added makefiles/features_modules.inc.mk:
    - This performs now the addition of modules implementing used features
- Added makefiles/dependency_resolution.inc.mk:
    - This now performs the recursion required to catch transient dependencies
    - Also the feature check is performed recursively to handle also required
      and optional features of the transient dependencies
    - DEFAULT_MODULES are added repeatedly to allow it to be extended based on
      used features and modules
      ==> This allows modules to have optional dependencies, as these
          dependencies can be blacklisted
- Use simply expanded variables instead of recursively expended variables
  (`foo := $(bar)` instead `foo = $(bar)`) for internal variables during feature
  resolution. This improves performance significantly for
  `make info-boards-supported`.
- Reduce dependency resolution steps in `make info-boards-supported`
    - Globally resolve dependencies without any features (including arch)
      provided
      ==> This results in the common subset of feature requirements and modules
          used
        - But for individual boards additional modules might be used on top due
          to architecture specific dependencies or optional features
    - Boards not supporting this subset of commonly required features are not
      supported, so no additional dependency resolution is needed for them
    - For each board supporting the common set of requirements a complete
      dependency resolution is still needed to also catch architecture specific
      hacks
         - But this resolution is seeded with the common set of dependencies to
           speed this up
2020-04-02 09:55:07 +02:00
benpicco
660b1a9b5f
Merge pull request #10083 from gschorcht/drivers_hmc5883l
drivers: add driver for Honeywell HMC5883L magnetometer
2020-04-01 14:49:34 +02:00
Gunar Schorcht
e6090adb3f drivers: add hmc5883l device driver 2020-04-01 13:37:22 +02:00
Leandro Lanzieri
ea2f963302
cpu/cortexm: Add 'cortexm_fpu' as a DEFAULT_MODULE if possible
This adds cortexm_fpu to the DEFAULT_MODULE list when the feature
cortexm_fpu is provided by the architecture. It also moves the
dependency resolution of this module to the architecture-specific
Makefile.dep file.
2020-04-01 09:46:29 +02:00
Leandro Lanzieri
64552a3b9a
cpu/cortexm_common: Move common modules to Makefile.dep
This moves the following modules to a architecture-specific Makefile.dep
file:
- cortexm_common
- cortexm_common_periph
- newlib
- newlib_nano
- periph
2020-04-01 09:46:21 +02:00
Marian Buschsieweke
3628db19fd
Makefile.features: Allow "one out of" dependencies
An application/test/module that requires one feature out of a set of
alternatives (let's say either periph_uart, periph_spi, or periph_i2c) can
request this now using:

    FEATURES_REQUIRED_ANY += periph_uart|periph_spi|periph_i2c
2020-04-01 09:12:50 +02:00
Benjamin Valentin
fc89531c61 sys/base64: Implement Base 64 Encoding with URL Safe Alphabet
RFC4648 specifies an alternate alphabet for base64 encoding / decoding
where '+' and '/' are exchanged for '-' and '-' to make the resulting
string safe to use in filenames and URLs.

This adds a base64url_encode() function that uses the alternate alphabet.

The base64_decode() function is extended to accept both alphabets.
2020-03-31 19:01:05 +02:00
91a553b3e2
makefiles/vars: export NATIVEINCLUDES there 2020-03-26 10:25:09 +01:00
308ee9b31c
makefiles/openocd: export OPENOCD_CMD_RESET_RUN only when required 2020-03-26 10:00:05 +01:00
a0be709a8c
makefiles/openocd: export PRE_FLASH_CHECK_SCRIPT only when required 2020-03-26 09:37:05 +01:00
fcecd6e362
makefiles/openocd: export OPENOCD_PRE_FLASH_CMDS only when required 2020-03-26 09:31:21 +01:00
93f1c7971c
makefiles/openocd: export OPENOCD_PRE_VERIFY_CMDS only when required 2020-03-26 09:31:11 +01:00
7d0c475113
Merge pull request #13486 from bergzand/pr/suit/ietf_v3
SUIT: Update to draft-ietf-v3
2020-03-20 14:44:29 +01:00
Francisco
cdbf0b2d69
Merge pull request #13583 from benpicco/at86rf215-minimal
drivers/at86rf215: add basic support for AT86RF215 dual-band radio
2020-03-20 09:33:50 +01:00
413b91326f
tests/suit_v3_manifest: Add draft-ietf-v3 manifest parser test
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-19 22:56:01 +01:00
benpicco
b0fab9c53a
Merge pull request #13638 from gschorcht/sys/shell/rtt_command
sys/shell: add rtt command
2020-03-19 21:21:12 +01:00
Gunar Schorcht
3d20b0b6c5 sys/shell: add rtt command 2020-03-19 17:17:26 +01:00
521bb7e643
Merge pull request #11311 from benpicco/openocd-raspi
makefiles: add OpenOCD config for Raspberry Pi GPIO
2020-03-19 16:40:17 +01:00
Benjamin Valentin
d35511bee7 drivers/at86rf215: Add basic driver for the AT86RF215 radio
This adds a driver for the SPI based AT86RF215 transceiver.
The chip supports the IEEE Std 802.15.4-2015 and IEEE Std 802.15.4g-2012 standard.

This driver supports two versions of the chip:
    - AT86RF215:  dual sub-GHz & 2.4 GHz radio & baseband
    - AT86RF215M: sub-GHz radio & baseband only

Both radios support the following PHY modes:
    - MR-FSK
    - MR-OFDM
    - MR-O-QPKS
    - O-QPSK (legacy)

The driver currently only implements support for legacy O-QPSK.

To use both interfaces, add

    GNRC_NETIF_NUMOF := 2

to your Makefile.

The transceiver is able to send frames of up to 2047 bytes according to
IEEE 802.15.4g-2012 when operating in non-legacy mode.

Known issues:

 - [ ] dBm setting values are bogus
 - [ ] Channel spacing for sub-GHz MR-O-QPSK might be wrong
 - [ ] TX/RX stress test will lock up the driver on openmote-b
2020-03-19 14:39:18 +01:00
Francisco Molina
9536a80e52
Makefile.dep: use stdio.inc.mk
Move all stdio dependencies to its own makefile
2020-03-18 15:58:38 +01:00
14bdf8f46b
sys/suit: Add SUIT draft ietf-v3 firmware upgrade module
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-18 14:13:12 +01:00
accbfbd0d1
tools/bossa: add and configure preflash-delay when required 2020-03-18 10:43:05 +01:00
Francisco Molina
a31003a23c
tests: add interactive_sync adapted to shell 2020-03-17 17:23:27 +01:00
benpicco
a0cc4b0515
Merge pull request #13623 from Scallog/add_rom_offset_stm32
makefiles/boards/stm32.ink.mk: Use ROM_OFFSET with stm32flash
2020-03-16 12:09:40 +01:00
Corentin 'Kmikaz' Vigourt
6a559f1924 makefiles/boards/stm32.ink.mk: Use ROM_OFFSET with stm32flash 2020-03-16 10:47:32 +01:00
benpicco
db2ee4cbf6
Merge pull request #13634 from fjmolinas/pr_cc2538_flasher_guard
makefiles/tools/cc2538-bsl.inc.mk: allow FLASHER override
2020-03-16 00:58:37 +01:00
Francisco Molina
a00d61a2d6
makefiles/tools/cc2538-bsl.inc.mk: allow FLASHER override
If flasher is changed then make will still see it as a FLASH
dependency and try to execute the target which will likely not
exist.

A use case for this is when flashing on a remote machine and setting
FLASHER=ssh to then execute the FLASHER on the remote.
2020-03-15 11:58:39 +01:00
Robert Hartung
dc6665d5cf
Merge pull request #12717 from dylad/pr/bme680_pkg_driver
driver/bme680: add I2C/SPI driver for BME680 device
2020-03-12 14:00:40 +01:00
Francisco
3153a86551
Merge pull request #11192 from aabadie/pr/tools/dfu
boards: include common dfu logic where applicable
2020-03-12 09:05:32 +01:00
Gunar Schorcht
9dd11eb188 drivers: add support for BME680 driver
Add the support for BME680 based on the BME680 vendor driver package.
2020-03-12 08:42:59 +01:00
benpicco
52cc02c9a9
Merge pull request #13387 from nmeum/mpu_noexec_ram_ng
Add optional support for executable space protections
2020-03-11 20:00:44 +01:00
1e8037670b
Merge pull request #10420 from gschorcht/drivers_apds99xx
drivers: add driver for APDS99XX ambient light and proximity sensors
2020-03-11 16:27:53 +01:00
Schorcht
7548a6e849 drivers: add APDS99XX ALS and proximity 2020-03-11 14:21:47 +01:00
benpicco
008faef16a
Merge pull request #13581 from Scallog/olimexino-stm32-support
boards/olimexino-stm32: add support for olimexino-stm32 board
2020-03-11 11:40:53 +01:00
benpicco
d294e1d01c
Merge pull request #9572 from maribu/atmega-debug
On-Chip Debugging for AVR/ATmega based boards
2020-03-11 11:40:40 +01:00
Corentin 'Kmikaz' Vigourt
a4976c3333 makefiles/boards/stm32.inc.mk: add stm32flash support 2020-03-11 11:00:49 +01:00
6560a1f567
makefiles/jlink: export JLINK_PRE_FLASH to flash targets 2020-03-10 16:31:30 +01:00
5458f4d400
makefiles/jlink: export JLINK_RESET_FILE to required targets 2020-03-10 16:30:37 +01:00
04d32e9609
makefiles/jlink: export JLINK_IF to required targets 2020-03-10 16:29:02 +01:00
40e754c9d8
makefiles/jlink: only export JLINK_DEVICE when required 2020-03-10 16:28:03 +01:00
Francisco
6ba665858b
Merge pull request #13593 from aabadie/pr/boards/pyocd_export_remove
boards/pyocd: cleanup use of `export` keyword
2020-03-10 15:19:34 +01:00
Marian Buschsieweke
f2edcf9674
makefiles/tools/avrdude: Improved debug handling
- Choose correct debug protocol for ATmega328P (which supports debugWIRE instead
  of JTAG)
- Allow overwriting debugger device via AVR_DEBUGDEVICE environment variable,
  default to the Atmel-ICE (least expensive, supports most AVR devices)
2020-03-10 14:03:33 +01:00
Marian Buschsieweke
edd93411fe
dist: De-duplicated AVR debug config & scripts
Use common debug.sh, debug_srv.sh and gdb.conf for all AVR boards.
2020-03-10 12:54:51 +01:00
f56470925b
boards: include common dfu logic where applicable 2020-03-10 11:42:10 +01:00
23a3dcf828
makefiles/dfu: refactor configuration file 2020-03-10 11:42:10 +01:00
660b11261d
makefiles/dfu: remove unapplicable variables 2020-03-10 11:01:43 +01:00
benpicco
6f7293d7c3
Merge pull request #13559 from aabadie/pr/sys/crypto_modules_rework
sys/crypto: define cipher using a module instead of CFLAGS
2020-03-09 19:41:27 +01:00
Benjamin Valentin
74251383a0 makefiles: add OpenOCD config for Raspberry Pi GPIO
OpenOCD supports bit-banging the GPIOs of the Raspberry PI to emulate
an SWD flasher.
Add a raspi.inc.mk to support that option.
2020-03-09 19:12:40 +01:00
a83510c354
makefiles: add common file for cc2538-bsl flasher 2020-03-09 18:17:37 +01:00
fb27409b73
makefiles/pyocd: only export PYOCD_ADAPTER_INIT when required 2020-03-08 15:12:44 +01:00
2977b06a8d
makefiles/pyocd: only export FLASH_TARGET_TYPE when required 2020-03-08 15:12:44 +01:00
Sören Tempel
2c1a627118 Add mpu_noexec_ram pseudomodule 2020-03-07 13:09:55 +01:00
f6c4e269b1
sys/crypto: define ciphers via pseudomodules 2020-03-06 19:49:58 +01:00
benpicco
dbe1270f66
Merge pull request #13568 from benpicco/cc2538-bsl.py-upstream
dist/tools/cc2538-bsl: use upstream version
2020-03-06 14:08:09 +01:00
benpicco
7877ffdf2a
Merge pull request #13511 from fjmolinas/pr_auto_init_periph
drivers/periph_common: add periph_init% modules
2020-03-06 13:05:57 +01:00
Francisco Molina
6b6479e6e9
drivers/periph_common: add periph_init% module 2020-03-06 11:21:19 +01:00
Benjamin Valentin
ed4d871835 dist/tools/cc2538-bsl: use upstream version
Automatically fetch the upstream version of cc2538-bsl.py instead
of maintaining our own fork of the tool.

fixes #13566
2020-03-06 11:13:21 +01:00
ed316309c8
Merge pull request #11874 from kaspar030/ztimer
sys/ztimer: initial import
2020-03-06 09:46:27 +01:00
Martine Lenders
ff425576a0
slipdev_stdio: provide stdio multiplexing over SLIP 2020-03-06 08:58:45 +01:00
benpicco
7af046d740
Merge pull request #13548 from benpicco/sys/auto_init/netif-manual
sys/auto_init: allow delayed initialisation of SAUL & gnrc_netif
2020-03-05 17:05:02 +01:00
Jan Mohr
aa5ffe5a6d drivers/lis2dh12: added interrupt function 2020-03-04 17:01:58 +01:00
Benjamin Valentin
521b1ce440 sys/auto_init: allow delayed initialisation of SAUL
Co-authored-by: Martine S. Lenders <m.lenders@fu-berlin.de>
2020-03-04 16:13:40 +01:00
Benjamin Valentin
d765098d72 sys/auto_init: allow delayed initialisation of gnrc_netif
Co-authored-by: Martine S. Lenders <m.lenders@fu-berlin.de>
2020-03-04 16:13:40 +01:00
6dd79366bb sys: add ztimer subsystem
Co-authored-by: Joakim Nohlgård <joakim.nohlgard@eistec.se>
2020-03-04 12:44:02 +01:00
95d607b54d
Merge pull request #13480 from aabadie/pr/tools/openocd_export_variables
tools/openocd: export configuration variables only to required targets
2020-03-03 18:16:05 +01:00
b7f5b18991
boards: don't export ROM_OFFSET variable 2020-03-03 14:18:03 +01:00
1df314d25e
makefiles/openocd-adapters: don't export OPENOCD_ADAPTER_INIT 2020-03-03 11:42:20 +01:00
54dbb5fce0
makefiles/openocd: export OPENOCD_ADAPTER_INIT to required target 2020-03-03 11:42:20 +01:00
f1ba22534a
boards: don't export globally OPENOCD_RESET_USE... 2020-03-03 11:42:19 +01:00
5ba95ed857
makefiles/openocd: export OPENOCD_RESET_USE... to required targets 2020-03-03 11:42:19 +01:00
ef8daaf7be
suit: remove moran-v4 version of the parser
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-02-26 14:54:16 +01:00
benpicco
aa1c23d4bd
Merge pull request #11929 from fabian18/driver-at24cxxx-eeprom
Driver for AT24CXXX EEPROM
2020-02-25 18:16:45 +01:00
f451eb692c
Merge pull request #13452 from aabadie/pr/tools/openocd_config_export
tools/openocd: only export OPENOCD_CONFIG to required targets
2020-02-25 15:11:38 +01:00
785052e410
Merge pull request #13468 from aabadie/pr/tools/bossa_rework
tools/bossa: split between 1.8 and 1.9 versions
2020-02-25 13:32:38 +01:00
698d371140
makefiles/bossa: adapt Makefiles for bossa version 2020-02-25 11:49:10 +01:00
c7a3219ddb
make: remove useless export of TARGET_ARCH 2020-02-25 09:42:12 +01:00
fabian18
2c77ee4cab drivers/at24cxxx: at24cxxx EEPROM driver 2020-02-24 14:00:25 +01:00
9363f077d6
boards: don't export globally OPENOCD_CONFIG
The variable is already exported to required target in openocd.inc.mk
2020-02-24 10:04:11 +01:00
03f4d383db
makefiles/openocd: export OPENOCD_CONFIG to required targets 2020-02-24 10:04:11 +01:00
Benjamin Valentin
e8d248648f makefiles/sam0.inc.mk: fix detection of JLinkExe
`command -v` doesn't work for me, but `which` finds the correct JLinkExe.
2020-02-14 12:07:16 +01:00
Francisco Molina
ab9551840e
makefiles/pseudomodules.inc.mk: declare all auto_init_%
Declaring all auto_init_% modules as pseudomodules will allow
using auto_init_% modules as modules that can be disabled. This
will give a higher lever of granularity allowing users to not
disable the complete auto_init module but only some of them.
2020-02-12 16:51:18 +01:00
benpicco
bc6fb241a0
Merge pull request #13139 from francois-berder/mips-cflags
makefiles: arch: mips: Allow CFLAGS_DBG and CFLAGS_OPT to be overridden
2020-02-12 00:02:20 +01:00
986ff50b75
Merge pull request #13200 from fjmolinas/pr_buildtests_boardsdir
makefiles/info-global.inc.mk: reset BOARDSDIR
2020-02-11 16:51:03 +01:00
Francisco Molina
dd8e9ae627
makefiles/info-global.inc.mk: reset BOARDSDIR 2020-02-11 15:26:04 +01:00
c30df3cac9
Merge pull request #7572 from kaspar030/zptr
core: add pointer compression header
2020-02-11 15:25:24 +01:00
5dc32b14cc sys: zptr: initial commit
Provides functionality to compress pointers from 32bit to 16bit if
possible.
2020-02-11 13:59:59 +01:00
Martine Lenders
ebb20f2d44
Merge pull request #13305 from miri64/gnrc_ipv6_ext_frag_stats/feat/initial
gnrc_ipv6_ext_frag: initial import of statistics module
2020-02-10 20:23:13 +01:00
Cenk Gündoğan
7459adda79
Merge pull request #13292 from leandrolanzieri/pr/makefile_base/module_simple_exp
makefiles: Use simple expansion for widely used variables
2020-02-07 12:02:04 +01:00
Martine S. Lenders
cf69e61289
gnrc_ipv6_ext_frag: initial import of statistics module 2020-02-06 13:48:42 +01:00
d6264f56c8
Merge pull request #13168 from fjmolinas/pr_iotlab_openocd
boards/iotlab: add DEBUG_ADAPTER_ID openocd
2020-02-05 11:30:11 +01:00
Leandro Lanzieri
fdff969695 makefiles/llvm.inc.mk: Use simple expansion for OBJCOPY and OBJDUMP 2020-02-04 15:22:07 +01:00
Leandro Lanzieri
a262ae4c57 makefiles/gnu.inc.mk: Use simple expansion for OBJCOPY and OBJDUMP 2020-02-04 15:21:24 +01:00