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

1138 Commits

Author SHA1 Message Date
Sören Tempel
24d71f9d15 makefiles: Add the fuzzing/ directory to APPLICATION_DIRS
This should ensure that fuzzing applications are build by the CI.
2020-04-17 17:11:15 +02:00
Sören Tempel
24468bead6 fuzzing: Initialize
This adds a new subdirectory called `fuzzing/` which will contain
applications for fuzzing various RIOT network modules in the future.
This subdirectory is heavily inspired by the `examples/` subdirectory.

The fuzzing applications use AFL as a fuzzer. Each application contains
Makefiles, source code, and an input corpus used by AFL to generate
input for fuzzing.
2020-04-17 17:11:15 +02:00
Joakim Nohlgård
2013ac75f5
gnrc_netif: Add support for internal event loop
Enabled by the gnrc_netif_events pseudo module. Using an internal event
loop within the gnrc_netif thread eliminates the risk of lost interrupts
and lets ISR events always be handled before any send/receive requests
from other threads are processed.
The events in the event loop is also a potential hook for MAC layers and
other link layer modules which may need to inject and process events
before any external IPC messages are handled.

Co-Authored-By: Koen Zandberg <koen@bergzand.net>
2020-04-17 12:02:39 +02:00
Francisco Molina
2331448644
Makefile: remove usage of SUBMODULES_NOFORCE
With #10970 only existing *.c files will be added to SRC when using
the SUBMODULES mechanism, so SUBMODULES_NOFORCE (used to filter out
non existing source files) is now redundant so remove the usage.
2020-04-15 12:11:44 +02:00
Dylan Laduranty
faa0afd8c1
Merge pull request #13381 from benpicco/sam0-jlink-fix
makefiles/sam0.inc.mk: fix detection of JLinkExe
2020-04-14 20:29:43 +02:00
Leandro Lanzieri
a06d9bbb66
Merge pull request #13315 from jia200x/pr/kconfig/ieee802154
ieee802154: Expose configurations to Kconfig
2020-04-08 19:34:55 +02:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Jose Alamos
c712b72400 makefiles/default-radio-settings: disable if Kconfig
If Kconfig is used for configuring default parameters of radios, this
logic has to be disabled in order to avoid collisions of config macros
2020-04-08 19:07:33 +02:00
Leandro Lanzieri
4ae944bac2
makefiles/kconfig: Output out.config with generated configuration
'merged.config' may not always be present (e.g. when no files to merge
are present). In order to always have an up-to-date configuration file
'out.config' will be generated mirroring the content of 'autoconf.h'.
This is the file that the build system will include to read the current
configuration symbols.
2020-04-08 17:37:05 +02:00
1f9ff9e767
makefiles/bossa: only use ROM_OFFSET with version 1.9 2020-04-08 09:58:21 +02:00
a12aeca9df
makefiles/stdio: handle case for bootloader_nrfutil blacklist 2020-04-08 09:35:08 +02:00
ebd1e8f016
makefiles/tools: add support for nrfutil 2020-04-08 09:35:08 +02:00
Sören Tempel
d7104e4992 makefiles/toolchain: add support for afl 2020-04-07 14:24:10 +02:00
Leandro Lanzieri
d60295db3c
Merge pull request #13720 from aabadie/pr/native_no_export
native: only export NATIVEINCLUDES in vars.inc.mk
2020-04-07 12:55:45 +02:00
010aca2638
Merge pull request #13719 from aabadie/pr/boards/flash_export_remove
boards*: remove remaining uses of export with some openocd related variables
2020-04-07 11:58:28 +02:00
75e828fdeb
makefiles/openocd: define flash targets in a variable 2020-04-07 11:38:10 +02:00
5e0d5d3302
Merge pull request #13774 from fjmolinas/pr_dependencie_debug_cpu_arch
makefiles/dependencies_debug.inc.mk: add CPU_ARCH
2020-04-03 09:40:59 +02:00
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
Benjamin Valentin
b18b8e4f77 makefiles/color: fix build on NixOS
On NixOS, there is no `/bin/echo`, instead
`which echo` will return

    /home/benpicco/.nix-profile/bin/echo

so hard-coding the path will break here.

Use `/usr/bin/env` to get the path of `echo`.
This should be availiable on all systems at the same location.
2020-02-27 18:13:36 +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
c2534ad8f3 core: turn panic.c into a submodule 2020-01-31 13:55:26 +01:00
b6703f41dc core: turn kernel_init.c into core_init submodule 2020-01-31 13:52:13 +01:00
Benjamin Valentin
bd19a55804 boards: remove EDBG_DEVICE_TYPE
EDBG_DEVICE_TYPE is a property of the CPU, is should not be set
by every board individually.
2020-01-31 09:35:27 +01:00
Benjamin Valentin
baea542532 tools/edbg: update to latest upstream version
This version has changed the target names, so add a edbg-devices.inc.mk
to automatically select the right target.
2020-01-31 09:35:27 +01:00
Leandro Lanzieri
f716cb1d39 makefiles/kconfig: Allow to override SHOULD_RUN_KCONFIG 2020-01-30 17:42:42 +01:00
Gunar Schorcht
ddd7cb0a7d
Merge pull request #12898 from aabadie/pr/cpu/dependencies_cleanup
cpu: move cpu level dependencies in dedicated Makefile.dep files
2020-01-28 17:57:02 +01:00
e969b2fcd5
cpu/atmega_common: move common dependencies 2020-01-28 13:20:53 +01:00
Francisco Molina
8b9afc3fed makefiles/dependencies_debug.inc.mk: add DEPENDENCY_DEBUG_SORT_VARS
Define DEPENDENCY_DEBUG_SORT_VARS that can be set as 1 so that
DEPS_DEBUG_VARS are sorted before saving to file.
2020-01-28 13:02:15 +01:00
Leandro Lanzieri
c5dfc7d16c
Merge pull request #13198 from fjmolinas/pr_fix_info_board_RIOTBASE
makefiles/boards.inc.mk: set RIOTBOARD
2020-01-27 09:57:45 +01:00
Francisco Molina
ff70ad377a makefiles/boards.inc.mk: simply expand ALLBOARDS
We can't use memoized here since if we don't expand immediatly
the value for BOARDSDIR might change.
2020-01-24 17:59:48 +01:00
Francisco Molina
1f844fb99a makefiles/boards.inc.mk: set RIOTBOARD 2020-01-24 14:45:24 +01:00
benpicco
231fb0ae7b
Merge pull request #13081 from aabadie/pr/make/mips_inc_cleanup
make/mips: cleanup include makefile
2020-01-24 14:19:47 +01:00
Jean Pierre Dudey
894a868851
uniflash.inc.mk: add CCS_PATH variable.
This is used now to set the `DEBUGSSERVER` as the `gdb_agent_console`
file was removed from UniFlash.

Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-01-20 08:14:52 -05:00
Jean Pierre Dudey
727dd05840
uniflash.inc.mk: remove export from UNIFLASH_PATH
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-01-20 08:11:46 -05:00
Francisco Molina
8cba8bdb16 makefiles/tools/openocd-adapters: add iotlab-usb 2020-01-19 20:24:55 +01:00
Sebastian Meiling
48fbd446fe
Merge pull request #8796 from miri64/dhcpv6c-pd/feat/initial
dhcpv6: Initial implementation of a client (with IA_PD support)
2020-01-16 13:32:51 +01:00
Martine Lenders
15c828cf92
gnrc_dhcpv6_client: provide GNRC-specific DHCPv6 parts 2020-01-16 12:36:10 +01:00
Martine Lenders
1048d67c76
dhcpv6: provide initial client implementation
This implements a client for DHCPv6 IA_PD (Identity Association for
Prefix Delegation). Goal was to have a IETF-compliant alternative to
UHCP. The implementation was based on RFC 8415.
2020-01-16 12:36:03 +01:00
Francois Berder
10939f2a57 makefiles: arch: mips: Allow CFLAGS_DBG and CFLAGS_OPT to be overridden
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2020-01-15 22:00:58 +00:00
Hauke Petersen
8b408fc828
Merge pull request #12724 from aabadie/pr/stdio_rtt_blacklist
make: improve handling of the stdio_rtt module, improve dependency management at application level
2020-01-15 10:12:13 +01:00
Francisco
330d9dffc6
Merge pull request #12977 from leandrolanzieri/pr/makefiles/kconfig_only_when_needed
makefiles/kconfig: Only run Kconfig if it could generate configurations
2020-01-14 11:28:34 +01:00
57d5a1db1c
boards: provide stdio_rtt as default module where required
For the moment, hamilton, ruuvitag and thingy52 use stdio_rtt by default.
2020-01-14 07:48:08 +01:00
e5992e2fcf
Merge pull request #12307 from fjmolinas/pr_riotboot_booloader
riotboot: add RIOTBOOT_BUILD make var
2020-01-13 14:19:03 +01:00
9de6047097
dist/tools: add support for flatc compiler 2020-01-13 09:41:22 +01:00
benpicco
1c148ba2f2
Merge pull request #10092 from gschorcht/drivers_itg320x
drivers: add driver for InvenSense ITG-320X 3-axis gyroscope
2020-01-11 17:37:48 +01:00
Schorcht
71772cc3b3 drivers: add driver for ITG320X 3-axis gyroscope 2020-01-11 08:02:34 +01:00
b56827323c
make/mips: cleanup include makefile
Remove a useless export of the ABI variable, fix indentation
2020-01-10 15:08:12 +01:00
Francisco Molina
aa5c6173eb makefiles/boot/riotboot.mk: exclude if RIOTBOOT_BUILD is set
- riotboot targets should not be needed for riotboot application
  so dont include it.
- also fixes #12003 by not setting FLASHFILE = $(RIOTBOOT_EXTENDED_BIN)
  when compiling riotboot application
2020-01-10 11:44:04 +01:00
Francisco Molina
4b8d776576 makefiles/cflags.inc.mk: set unless deactivated
`fdiagnostics-color` defaults to on only on a color capable terminal,
so it can be activated unles CC_NOCOLOR=1.
2020-01-10 08:58:54 +01:00
Francisco Molina
b1ca4597ef makefiles/color.inc.mk: don't set CC_NOCOLOR
If CC_NOCOLOR was not set by the user it was set according to the
terminal support of colored output.

But since CC_NOCOLOR is also used to set `-fdiagnostics-color` flags
this means changing `CFLAGS` according to terminal support of colored
output.

This is not needed for `-fdiagnostics-color` since this option is by
default `auto` if the compiler supports colored output, and `auto`
means it will only use color when standard error is a terminal.
2020-01-10 08:58:54 +01:00
Francisco
421d174f60
Merge pull request #13023 from leandrolanzieri/pr/makefiles/kconfig/fix_autoheader_win
makefiles/kconfig: Change autoconf.h comment style
2020-01-07 09:11:05 +01:00
Leandro Lanzieri
e88254e52a makefiles/kconfig: Escape comment in autoconf.h for Windows
In Windows setups using MSYS environment variables which start with a
slash get the 'root path' added. This adds a second slash to the content
of KCONFIG_AUTOHEADER_HEADER, so the first one is escaped when building
on those platforms.
2020-01-05 20:45:14 +01:00
ff00097992
cpu/cortexm: cleanup cortexm.inc.mk
- fix indent
- remove unnecessary exports
2020-01-03 14:19:48 +01:00
Francisco
d4c3476669
Merge pull request #12944 from leandrolanzieri/pr/kconfig_migrate/net/sock_util
Kconfig: Expose net/sock/util configurations
2020-01-03 11:41:20 +01:00
Francisco
45b2cca14f
Merge pull request #13018 from aabadie/pr/make/linkflags_remove_exports
make: remove use of export with LINKFLAGS variable
2020-01-02 16:37:04 +01:00
df376aeef7
make/cortexm: fix mfpu flag for CortexM7
Use single precision, like with M4 instead of double precision
2020-01-02 14:40:50 +01:00
857019769f
make/newlib: remove use of export for LINKFLAGS 2020-01-02 09:51:40 +01:00
7c121000ce
make/riscv: remove use of export for LINKFLAGS 2020-01-02 09:51:20 +01:00
b664de5593
make/msp430: remove use of export for LINKFLAGS 2020-01-02 09:50:55 +01:00
1e8528d6e8
cpu/mips: remove use of export for LINKFLAGS 2020-01-02 09:48:46 +01:00
68210feb54
Merge pull request #12972 from fjmolinas/pr_boardsdir_riotboard
Makefile.include: default to RIOTBOARD when BOARD not in BOARDSDIR
2019-12-31 10:51:27 +01:00
Francisco Molina
cacdd56348 makefiles/info-global.inc.mk: RIOTBOAR as BOARDSDIR fallback 2019-12-30 17:15:08 +01:00
Francisco Molina
18444ac99a makefiles/boards.inc.mk: include BOARDSDIR and RIOTBOARD 2019-12-30 17:14:20 +01:00
Cenk Gündoğan
0d9d496618
Merge pull request #12913 from leandrolanzieri/pr/kconfig_include_config
makefiles/kconfig: Include configuration symbols to build system
2019-12-19 16:04:05 +01:00
Leandro Lanzieri
707ad8d083 makefiles/kconfig: Include configuration symbols
If the generated configuration file is present include it. That way one
can check if certain symbols are being configured using Kconfig.
2019-12-19 15:35:21 +01:00
Martine S. Lenders
e1ae44b536
gnrc_sixlowpan_frag_stats: actualize pseudo-module
Having the definitions sit in the `net/gnrc/sixlowpan/frag.h` header
does not make much sense, when using Selective Fragment Forwarding
(and the fragmentation buffer already includes a
`net/gnrc/sixlowpan/frag/stats.h` header), so they are moved to their
own header. Since with this change it makes more sense to have the
statistics stored in their own sub-module, the pseudo-module is also
actualized.
2019-12-18 15:45:03 +01:00
Sebastian Meiling
737635573a makefiles: add export for OS variable
Export the OS variable for proper multi-OS support.
Currently only needed by 'pkg/jerryscript')
2019-12-18 10:07:55 +01:00
Sebastian Meiling
5eee821f6e makefiles: move exports to vars.inc.mk 2019-12-18 10:07:50 +01:00
Leandro Lanzieri
9c8b7a064b makefiles/kconfig: Only run Kconfig if could generate configurations
This adds a check to decide if Kconfig should run on a build. It will
run if any of the following conditions is true:
- A file with '.config' extension is present in the application folder
- A 'Kconfig' file is present in the application folder
- A previous configuration file is present (e.g. from a previous call to
  menuconfig)
- menuconfig is being called

This assumes that Kconfig will not generate any default configurations
just from the Kconfig files outside the application folder (i.e. module
configuration via Kconfig is disabled by default). Should this change,
the check would not longer be valid, and Kconfig would have to run on
every build.
2019-12-18 09:46:43 +01:00
Gaëtan Harter
418bcfb95d
makefiles: deprecate 'RIOTBOARD' for 'BOARDSDIR'
Replace using 'RIOTBOARD' by 'BOARDSDIR' to define external boards.
2019-12-16 15:35:05 +01:00
Gaëtan Harter
1427ef998f
makefiles/vars.inc.mk: document BOARDSDIR as external boards directory
Replace using 'RIOTBOARD' by 'BOARDSDIR' to define external boards.
2019-12-16 15:35:05 +01:00
Gaëtan Harter
c26710ac7e
makefiles/docker: handle mounting 'BOARDSDIR'
Handle setting 'BOARDSDIR' when building in docker.
2019-12-16 15:35:04 +01:00
Gaëtan Harter
41a891f284
tools: use 'BOARDSDIR' for the boards directory
Replace uses of 'RIOTBOARD' by 'BOARDSDIR' for tools.
2019-12-16 15:35:04 +01:00
Gaëtan Harter
90692ac92b
makefiles: use 'BOARDSDIR' for the boards directory in compilation
Replace uses of 'RIOTBOARD' by 'BOARDSDIR' during the compilation.
2019-12-16 15:35:04 +01:00
Gaëtan Harter
f76a2d201e
Makefile.include: introduce 'BOARDSDIR' for boards directory
Introduce a new variable 'BOARDSDIR' to use when referencing the base
boards directory.

This is a transition to allow defining external boards while still using
the `RIOT/boards` directory for like `boards/common` for example through
'RIOTBOARD'.
2019-12-16 15:35:04 +01:00
Leandro Lanzieri
b674710ae5 makefiles/kconfig: Add symbols for used packages 2019-12-13 15:21:16 +01:00
Leandro Lanzieri
c74fa5367c net/sock/util: Move configuration macros to 'CONFIG_' namespace
Macros that changed:
SOCK_SCHEME_MAXLEN -> CONFIG_SOCK_SCHEME_MAXLEN
SOCK_HOSTPORT_MAXLEN -> CONFIG_SOCK_HOSTPORT_MAXLEN
SOCK_URLPATH_MAXLEN -> CONFIG_SOCK_URLPATH_MAXLEN
2019-12-13 12:04:54 +01:00
Martine Lenders
7b13781cd2
Merge pull request #12625 from miri64/gnrc_sock/enh/async-support
gnrc_sock: provide asynchronous event implementation
2019-12-09 12:39:58 +01:00
Sebastian Meiling
6e53e28a3a
Merge pull request #11943 from pokgak/sock_dtls_impl
pkg/tinydtls: add DTLS sock API implementation
2019-12-05 15:47:49 +01:00
Sebastian Meiling
f08fba1563 makefiles/suit: replace GNU cp -t with UNIX cp
UNIX `cp` command does not have the `-t` option like its GNU variant.
Hence, it usage breaks building RIOT e.g. on FreeBSD.
2019-12-05 09:13:20 +01:00
Leandro Lanzieri
1655001d85 makefiles: Add Kconfig related targets and dependencies
- The autoconf.h header file, generated with the current Kconfig
  configurations, is added as a build dependency.

- autoconf.h depends on the proper tool (genconfig) and a Kconfig.dep
  which contains the dependencies for the given application and board,
  this is generated from $(USEMODULE).

- The menuconfig target is added, to allow the configuration of modules
  using the Kconfig system.
2019-12-04 15:23:51 +01:00
96d90201ad
Merge pull request #11843 from fjmolinas/pr_tests_riotboot_py
tests/riotboot: migrate to full python test script
2019-12-02 18:28:14 +01:00
Francisco Molina
12761934bc tests/riotboot: migrate to full python test script 2019-12-02 17:27:35 +01:00
Cenk Gündoğan
07c84a4fc3
Merge pull request #12840 from leandrolanzieri/pr/makefiles_remove_ccache_basedir
makefiles: Generate proper dependency files when using ccache
2019-12-02 11:40:36 +01:00
Ken Bannister
353c0e91d0
Merge pull request #11036 from leandrolanzieri/pr/pkg/wakaama_rework
pkg/wakaama: Add basic LWM2M client implementation
2019-11-29 16:21:05 -05:00
Leandro Lanzieri
c52ad2df9e pkg/wakaama: Add LwM2M Client implementation 2019-11-29 20:31:41 +01:00
Francisco Molina
b14b5f3e67 makefiles/suit.v4.inc.mk: avoid basename in notify recipe 2019-11-29 15:03:14 +01:00
Leandro Lanzieri
d868c9c5c3 makefiles: Do not set CCACHE_BASEDIR environmental variable
When CCACHE_BASEDIR variable is set, ccache rewrites absolute paths into
relative paths before computing the hash that identifies the compilation
for all the paths under that directory.

The problem is that those paths are also used when the compiler is
called, so the generated dependency files (*.d) will have a relative
path to the object files, and thus, it will not match our rule for
compiling (we use absolute paths). As dependency files define the
targets this way, any change on its dependencies (e.g. an included
header file) will not re-trigger a build.
2019-11-28 15:40:22 +01:00
pokgak
0eaf0b23df pseudomodules: add sock_dtls 2019-11-28 13:54:06 +01:00
ea716e69e0
Merge pull request #12806 from maribu/atmega-fix-reset
tools/avrdude: Fix `make reset` with bootloader
2019-11-25 16:44:52 +01:00
benpicco
7f40b13d05
Merge pull request #12697 from maribu/stm32-programmer
boards: Common STM32 programmer/debugger/serial config
2019-11-25 15:27:22 +01:00
Marian Buschsieweke
f44dd00276
tools/avrdude: Fix make reset with bootloader
The generic approach of calling avrdude to perform a reset with `make reset`
does also work on board with a bootloader, but only if no other process is
also accessing the serial (e.g. via `make term`). `make test` first accesses
the serial and then performs `make reset` to not miss any output on the serial.
This however blocks when `make reset` also wants to access that serial.

As workaround, `make reset` is no only provided if the ATmega device is not
programmed via bootloader. Normally, those boards reset anyway upon `make term`,
which allows `make test` to work normally again.
2019-11-25 14:39:25 +01:00
Martine Lenders
95c6a785de
Merge pull request #12695 from leandrolanzieri/pr/dist/tools/add_kconfiglib
dist/tools: Add Kconfiglib
2019-11-25 11:51:02 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Marian Buschsieweke
16ee7aed32
Merge pull request #11350 from maribu/ina2xx
drivers/ina220: Changed to comply with RIOT's driver design goals & SAUL adaption
2019-11-22 23:36:50 +01:00
benpicco
09f647eee2
Merge pull request #12693 from maribu/neopixel-atmega
drivers: Added WS281x RGB LED driver for ATmega platform
2019-11-22 22:36:36 +01:00
Marian Buschsieweke
f424421f79
drivers: Renamed ina220 --> ina2xx
The INA219 has the exact same interface as the INA220 (including values and
semantics of the configuration register). Thus, this driver can be used for
both. The ina220 has been renamed to ina2xx to reflect this and pseudo modules
for the ina220 and ina219 have been added.
2019-11-22 19:53:51 +01:00
Hauke Petersen
b7f33bd84f drivers/bmx280: significant driver rework
bugs fixed:
- move global variables into device descriptor
- guard bus access (use acquire and release)

added functionality:
- enable SPI mode

structural improvements:
- reduce stack usage
- simplify the driver's structure
- centralize bus access code
- use assertions
- cleanup includes
- use shortcuts for bus access

style changes:
- fix line length
- cleanup and improve doxygen
- unify pointer notation (char *var over char* var)
- unify (error) return messages
- use `#ifdef MODULE_BME280` instead of `#if defined(BME..)`
- unify debug messages -> using `[bmx28] x: msg` scheme
2019-11-22 14:04:37 +01:00
Leandro Lanzieri
b642f2ea23 dist/tools: Add kconfiglib
Kconfiglib is a Kconfig implementation in Python 2/3.
See https://github.com/ulfalizer/Kconfiglib
2019-11-19 17:46:38 +01:00
a5785cdf9c
tools/serial.inc.mk: Support miniterm.py
miniterm.py is a simple terminal program that is included with pyserial.
This means that it is available wherever pyterm can work. It allows raw
access, does line translation and passes through special characters.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2019-11-19 15:07:32 +01:00
Marian Buschsieweke
1ed1906023
drivers/ws281x: Added driver for RGB LEDs
Added driver for the WS2812/SK6812 RGB LEDs often sold as NeoPixels, which due
to their integrated RGB controller can be chained to arbitrary length and
controlled with a single GPIO.
2019-11-18 22:45:24 +01:00
b4da3b464f make: pass BLOBS to makefiles/application.inc.mk
For regular modules, adding files to BLOBS is sufficient to create the
corresponding headers.

Application modules are different, as they use a minimal makefile
(makefiles.application.inc.mk) to build, thus application level
variables are not available.

This commit makes Makefile.include pass BLOBS to the application
Makefile as APPLICATION_BLOBS, and application.inc.mk use that variable
as value for BLOBS.

The indirection is necessary so submakefiles (e.g., those visited by
DIRS) do not hard override BLOBS.
2019-11-18 17:53:48 +01:00
a100c1c0ea makefiles/blob.inc.mk: introduce blob -> hdr utility makefile 2019-11-18 17:53:47 +01:00
fjmolinas
05782d1495 makefiles/tools/jlink.inc.mk: DEBUG_ADAPTER_ID as JLINK_SERIAL
- export JLINK_SERIAL for required targets
2019-11-18 13:04:42 +01:00
Marian Buschsieweke
135a37a4d1
makefiles/tools: Allow make reset via avrdude
In order to flash AVR devices, avrdude needs the ability to reset them:
Those using a bootloader will only enter it after a reset, and those programmed
via ISP also need a reset to enter ISP mode.

Sadly, avrdude has no option to reset the board. But running it without commands
will read and print the boards identification and fuse settings. For this, as
reset is needed. This commit uses this side-effect reset to implement make reset
for all AVR based boards
2019-11-17 14:46:48 +01:00
27e8caf3f3
Merge pull request #12526 from kaspar030/fix_fe310_default_optimization
cpu/fe310: change default optimization to "-Os"
2019-11-15 13:10:13 +01:00
Francisco
2adc5a23c2
Merge pull request #12361 from haukepetersen/add_nimble_autoconn
pkg/nimble: add simple BLE connection manager: autoconn
2019-11-14 14:02:24 +01:00
Hauke Petersen
004eb5e0b6 pkg/nimble: add 'autoconn' connection manager 2019-11-13 12:59:35 +01:00
Hauke Petersen
ca7578073a drivers: add support for QMC5883L mag sensors 2019-11-13 12:56:26 +01:00
Marian Buschsieweke
327060ca40
makesfiles/boards: Added common programmer config
Added common configuration for the programmer, debugger and serial for STM32
based boards.
2019-11-12 19:43:42 +01:00
Leandro Lanzieri
62b6e5e6ff makefiles/modules: Add note regarding 'IS_USED' macro. 2019-11-11 12:53:18 +01:00
Benjamin Valentin
756cab9385 makefiles/sam0: fix debugging with edbg
OpenOCD should *always* be included for debugging if JLinkExe is not used.

fixes #12652
2019-11-06 15:43:15 +01:00
benpicco
035bac0bf4
Merge pull request #12639 from aabadie/pr/boards/atmega256rfr2
boards/atmega256rfr2-xpro: initial support
2019-11-05 19:03:49 +01:00
fabian18
195379a9b8 drivers/ina3221: INA3221 driver implementation 2019-11-05 12:29:42 +01:00
1a16ee8215
makefiles/avrdude: allow setting debug server interface 2019-11-05 10:40:32 +01:00
Martine S. Lenders
b713413c52 gnrc_sock: provide asynchronous event implementation 2019-11-01 00:21:04 +01:00
Martine Lenders
f0b5eb04c1 sock: initial import of asynchronous event definitions 2019-10-30 13:23:31 +01:00
Marian Buschsieweke
4cf2151248
Merge pull request #12537 from benpicco/at86rfmega
drivers/at86rf2xx: add support for ATmegaRF MCUs
2019-10-28 09:22:02 +01:00
Benjamin Valentin
d45b3d1cd3 makefiles: default-channel.inc.mk -> default-radio-settings.inc.mk
The scope of the file has changed, so change it's name.
2019-10-27 11:55:55 +01:00
Benjamin Valentin
7f1393496b makefiles: clean up default-channel.inc.mk
Clean up `default-channel.inc.mk` to only set the custom CFLAGS
if they are really needed.
This should help avoid cluttering `riotbuild.h`.

The default PAN ID configuration should be just as easy to set
as the default channel, so also add an option for that while we
are at it.
2019-10-27 11:55:55 +01:00
Benjamin Valentin
8f1eaae353 drivers/at86rf2xx: add support for ATmegaRF MCUs
The ATmega128RFA1 and ATmega256RFR2 contain a version of this IP
on the MCU.

The radio core behaves mostly like a at86rf231, but all registers
are mapped to memory and radio states can directly generate interrupts
on the CPU.

The ATmega256RFR2 adds support for automatic retransmissions.
This has not been implemented yet.

Co-authored-by: Josua Arndt <jarndt@ias.rwth-aachen.de>
2019-10-26 23:10:18 +02:00
Francisco Molina
1ae0873769 boards: change PORT used for flash/debug/reset to PROG_DEV 2019-10-24 12:58:12 +02:00
Francisco Molina
7794cce5ee makefiles/tools/serial.inc.mk: set default PROG_DEV to PORT 2019-10-24 12:57:42 +02:00
Francisco Molina
bf25e12602 makefiles/tools/avrdude.inc.mk: migrate to use PROG_DEV
- Move serial.inc.mk in mega-xplained/Makefile.include after
  PROG_DEV so PROG_DEV can still default to PORT
- Add deprecation warning for arduino-leonardo and mega-xplained
2019-10-24 12:57:07 +02:00
Francisco Molina
66e3cf569e makefiles/vars.inc.mk: add PROG_DEV variable
- Introduce new PROG_DEV variable to specify device PORT used by the
  PROGRAMMER or DEBUGGER.
2019-10-24 12:56:43 +02:00
benpicco
80c00339a4
Merge pull request #12477 from francois-berder/mips-refactor
cpu: mips*: Reorganize headers
2019-10-21 15:26:45 +02:00
68922c49d9
Merge pull request #12401 from maribu/llvm-atomic-lib
makefiles: Disable `-Watomic-alignment` on LLVM
2019-10-21 14:39:54 +02:00
benpicco
ee68602b2b
Merge pull request #12525 from benpicco/make_sam0-typo
makefiles/sam0: fix typo
2019-10-21 11:35:25 +02:00
1193b0b1f8 cpu/fe310: change default optimization to "-Os"
Also moves the option to CFLAGS_OPT.
2019-10-21 11:27:21 +02:00
Benjamin Valentin
81fe1b9c9c makefiles/sam0: fix typo
Somehow an additional parenthesis sneaked in. Remove it to fix the Makefile.
2019-10-21 11:04:13 +02:00
5578740fc4
Merge pull request #12397 from fjmolinas/pr_CPU_ARCH_FAM
makefiles/vars.inc.mk: move definition and export of CPU_FAM and CPU_ARCH to vars.inc.mk
2019-10-21 08:23:51 +02:00
Marian Buschsieweke
716fc76f13
makefiles: Disable -Watomic-alignment on LLVM
`-Watomic-alignment` warns when C11 atomics have to be implemented via a to one
of the functions in `core/atomic_c11.c`. Unlike to the context of Desktop or
Server class machines, the performance penalty of this calls is insignificant
(and not existing with LTO). So this is not an issue in our context.

On the other hand: Keeping `-Watomic-alignment` prevents building applications
using C11 atomics on all platforms the atomic operations are not implemented
without calls to `core/atomic_c11.c` (due to `-Werror`), reducing portability.

So not only does the warning is not useful in our context, it actually prevents
portable use of C11 atomics. It is the most sensible thing to just disable it.
2019-10-18 09:18:37 +02:00
Francisco Molina
9f5a090782 makefiles/vars.inc.mk: add and export CPU_FAM 2019-10-18 08:55:33 +02:00
Francisco Molina
5e9b92a326 cpu: remove CPU_ARCH exports 2019-10-18 08:55:33 +02:00
Francisco Molina
160752a4f1 makefiles/vars.inc.mk: add and export CPU_ARCH 2019-10-18 08:55:33 +02:00
Francisco Molina
c010f59b8c Makefile.include: remove repeated OS declaration
- OS := $(shell uname) is already declared in `Makefile.include`
  re-declaring it means it will be re-evalauted multiple times
  uselessly.
2019-10-18 08:46:51 +02:00
Benjamin Valentin
b1ef68abf7 cpu/atmega_common: move periph/cpuid.c to common code
Both atmega128rfa1 and atmega256rfr2 implement it.
2019-10-17 19:20:31 +02:00
Jannes
2df5d6048d driver/mpu9x50: Rename mpu9150 to mpu9x50
Rename all files

Rename all variables, methods and methodcalls

Rename all folders

Add to the makefiles

Add to doc
2019-10-17 12:52:18 +02:00
8a877b58df
Merge pull request #12479 from fjmolinas/pr_ensure_port_is_set
makefiles/tools/serial: ensure PORT is set and fail early.
2019-10-17 10:56:32 +02:00
Juan Carrano
fe9704dbd6 makefiles/tools/serial: ensure PORT is set and fail early.
By ensuring the PORT auto-detection worked, we can give meaningful
error messages and fail earlier.

This uses ensure_value from makefiles/utils/checks.mk. An include was
added to Makefile.include to make this fuction available to all other
makefiles.
2019-10-17 08:54:16 +02:00
Francois Berder
9af14d7eb2 makefiles: arch: mips: Define CPU_MODEL in CFLAGS
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-16 20:00:32 +01:00
6c7acf4188
Merge pull request #12453 from aabadie/pr/make/features_blacklisted
make: handle blacklisted features separately from missing requirements
2019-10-15 19:15:10 +02:00
benpicco
10824e1cd0
Merge pull request #12251 from maz3max/bmp-tool
Add helper script for Black Magic Probe
2019-10-15 13:39:08 +02:00
Maximilian Deubel
30f12c9058 Add helper script for Black Magic Probe
This script can detect [Black Magic Probes](https://github.com/blacksphere/blackmagic/wiki) and act as a flashloader (and more).
It is compatible with Linux and macOS.

All important options that can be set via the monitor command are available as arguments.

Makefiles for using `make flash`, `make erase`, `make debug` and `make term` with the script are included.
2019-10-15 12:58:24 +02:00
ba0eb796fb
make: add FEATURES_USED_BLACKLISTED to the build info 2019-10-15 11:40:06 +02:00
a21743a0ac
make: handle blacklisted features in info-boards-supported 2019-10-15 11:39:16 +02:00
8a1e78bf4d
Merge pull request #9081 from kaspar030/add_arch_features
make: add architecture features and feature blacklisting
2019-10-14 16:12:54 +02:00
cc80961b5f make: allow feature based blacklisting (FEATURES_BLACKLIST) 2019-10-13 21:03:41 +02:00
Jose Alamos
77a7aed6e6 netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
053dbd1c4a
Merge pull request #12398 from cladmi/pr/cortexm/remove_old_clang_handling
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
2019-10-10 13:18:51 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
fb12c4aa8d sys/suit: add SUIT draft v4 firmware upgrade module
This commit adds a sys module implementing SUIT draft v4 compatible
firmware updates.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 11:05:01 +02:00
Dylan Laduranty
cdcdaa63ce
Merge pull request #11725 from benpicco/sam0-jlink
sam0: allow flashing with JLinkExe
2019-10-08 20:59:59 +02:00
Francisco
1c5c027ee7
Merge pull request #12004 from cladmi/pr/make/dependencies/debug_targets
make: add targets to debug dependencies variables
2019-10-08 17:41:34 +02:00
Gaëtan Harter
7416337d4d
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
Remove the workaround for clang 3.6.2 that did not support
'cortex-m0plus'.

clang 3.8 was already supporting it according to the PR introducing the check.
clang >=3.8 is avaible since ubuntu-xenial and debian-stretch.
The current ubuntu-bionic has clang 6 and debian-buster clang 7.

This removes overwriting 'CPU_ARCH'.
2019-10-08 16:19:51 +02:00
Gaëtan Harter
58cf46c706
make: add targets to debug dependencies variables
Add a 'dependency-debug' and a 'DEPENDENCY_DEBUG=1' option for
'info-boards-supported' to save some variables used when resolving
dependencies.

Print some some 'sorted' variables to simplify comparing the actual value
when the parsing order changed.

This should help tracking changes introduced when refactoring the
dependency parsing.
2019-10-07 14:45:40 +02:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
28c3717911
make/targets: fix typo in message 2019-10-03 15:23:19 +02:00
9148562476
makefiles/vars: document DEBUGDEPS variable 2019-10-03 12:43:49 +02:00
4b53f6b92b
makefiles/targets: add target for setsid 2019-10-03 12:43:49 +02:00
Hauke Petersen
8a69e4ac69 drivers/lis2dh12: added I2C mode 2019-10-02 11:16:39 +02:00
benpicco
5f6065f567
Merge pull request #12338 from cladmi/pr/make/cortexm/do_not_set_cpu_model
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
2019-10-01 15:25:16 +02:00
Gaëtan Harter
3a938d43e7
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
All cortexm boards should now define it on there own.
2019-10-01 11:38:35 +02:00
benpicco
3f0dfc14ac
Merge pull request #11085 from bergzand/pr/usb/cdcacm
usbus: Add CDC-ACM (Serial console) function
2019-10-01 11:22:54 +02:00
49aa83e27e
Merge pull request #12301 from kaspar030/edbg_verify_before_flash
edbg: verify before flash
2019-10-01 10:39:24 +02:00
benpicco
5105a2e54d
Merge pull request #12340 from cladmi/pr/makefiles/board_cpu_macros
makefiles: CFLAGS convert to the uppercase function instead of using the shell
2019-09-30 19:53:28 +02:00
59743aed13
USBUS cdc acm: Add STDIO wrapper for CDC ACM 2019-09-30 18:40:59 +02:00
Gaëtan Harter
0303b96441
makefiles/arch/mips.inc.mk: use makefiles/utils lowercase function
Use the new common 'lowercase' function from makefiles/utils.
2019-09-30 17:35:06 +02:00
Gaëtan Harter
ba55d1d7f5
makefiles/arch/cortexm.inc.mk: use makefiles/utils uppercase
Convert the variables to uppercase using the 'makefiles/utils' function.
2019-09-30 17:25:24 +02:00
Gaëtan Harter
e5278a2364
makefiles/modules.inc.mk: convert uppercase with utils function
Convert the module to uppercase using the 'makefiles/utils' function.
2019-09-30 17:02:12 +02:00
fe6d892969
Merge pull request #12302 from fjmolinas/pr_build_files
Makefile.include: add BUILD_FILES variable that holds all files to be built
2019-09-30 14:26:24 +02:00
Francisco Molina
5790e061c7 makefiles/boot/riotboot.mk: use BUILD_FILES
- Fixes compiling in docker by using BUILD_FILES to define
  extra files to be built
2019-09-30 13:09:58 +02:00
Francisco Molina
ded2ebc8e7 Makefile.include: add BUILD_FILES
- Add BULD_FILES that holds all files that need to be built
  and linked.
2019-09-30 13:00:25 +02:00
Marian Buschsieweke
6cbb7ad1a0
Merge pull request #12327 from benpicco/mrf24j40-pseudomodules
drivers/mrf24j40: add pseudomodules for MRF24J40MA/B/C/D/E
2019-09-29 21:13:23 +02:00
Benjamin Valentin
0bb04cfd27 drivers/mrf24j40: add pseudomodules for MRF24J40MA/C/D/E
Microchip offers ready-to-use modules with the mrf24j40 chip.
All but the MRF24J40MA integrate an external PA/LNA, they also come
with an RF shield.

If the PA/LNA is not enabled, the signal off these modules is really
poor.

This adds pseudomodules so that the PA/LNA is automatically enabled
when the appropriate module is used.
2019-09-28 19:30:52 +02:00
68aae9c848
Merge pull request #12262 from cladmi/pr/cflags/fix_spaces_and_rebuild
makefiles: do not remove defines from CFLAGS
2019-09-28 09:42:56 +02:00
Gaëtan Harter
41d10cf005
makefiles: do not remove defines from CFLAGS
Do not remove the '-D' and '-U' values from CFLAGS.
This prevents issues where a '-D' could contain a space.

Some values way be duplicated from the 'riotbuild.h' header and the
command line but with the same value so without conflict.

To not put too many things in the command line, the -DMODULE_NAME are
only put in CFLAGS_WITH_MACROS.

Also, as now, the deferred value of CFLAGS is used for 'riotbuild.h',
macros set after the inclusion of `Makefile.include` will be taken into
account.
2019-09-27 19:29:06 +02:00
a45d99f741 make/tools/edbg: verify before flash
This commit overrides the default flash recipe with an edbg specific
one.
The new recipe first verifies the flashfile agains the device flash. If
it is already on there, it won't get overridden.
edbg takes care of resetting the device in any case.
2019-09-25 10:14:20 +02:00
1cba611dd9 make/tools/edbg: use long option names 2019-09-25 10:09:19 +02:00
benpicco
50ba48eea6
Merge pull request #9259 from cladmi/pr/pic32/flasher
pic32-wifire: add support for flashing with pic32prog
2019-09-24 18:52:44 +02:00
Gaëtan Harter
be4569e271
pic32prog.inc.mk: add udev rule for pic32 programmer
Copy the udev rule from dist/tools/pic32prog/doc.md
2019-09-24 17:43:12 +02:00
Gaëtan Harter
afdddfda14
pic32prog.inc.mk: add support for pic32prog flasher
Define a RIOT_PIC32PROG to allow setting 'PIC32PROG' globally from environment.

https://github.com/sergev/pic32prog

For PICkit3 it requires having it with scripting mode firware.

Source
------

https://github.com/RIOT-OS/RIOT/pull/6092#issuecomment-261987955
2019-09-24 17:43:12 +02:00
Gaëtan Harter
d852ca2b21
pic32prog: add pic32prog programming tool
pic32prog is a program for flashing pic32 boards from command line on Linux.

It works with:
* Microchip PICkit2
* Microchip PICkit3 with script firmware.
* Other ones: https://github.com/sergev/pic32prog/wiki
2019-09-24 17:43:12 +02:00
Benjamin Valentin
c31e373214 shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
If no LoRA module is used, there is no use in compiling in all the config options
for LoRA PHYs.

This saves about 1k of .text
2019-09-24 17:14:03 +02:00
Lars Eggert
cae814c1cb make: docker: Delegate bind mounts to the containers
At least on Docker for Mac, this brings a huge boost in build performance, see
https://docs.docker.com/docker-for-mac/osxfs-caching/:

Before: `real	6m23.003s`
After:  `real	1m57.923s`
2019-09-24 12:04:43 +02:00
Gaëtan Harter
49a78bad0d
makefiles/docker.inc.mk: use 'docker_volume' function
Use 'docker_volume' function for mounting.

When mounting 'localtime' this will only use the 'ro' option and
ignore 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
e5032a611b
makefiles/docker.inc.mk: add a 'docker_volume' function
Refactor the '--volume' mounting handling.
This prepares for using a global 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
d832d78756
makefiles/docker.inc.mk: always use quotes around -e and -v options
Harmonize the '--volumes' and '--env' commands before factorizing them.
Remove extra 'space'.
2019-09-16 11:15:20 +02:00
benpicco
65b7102608
Merge pull request #10195 from jcarrano/thin-archives
Makefile.base: use thin static archives.
2019-09-15 13:04:25 +02:00
Francisco Molina
1caf6610cb sys: add schedstatistics module 2019-09-13 11:37:44 +02:00
Juan I Carrano
7364c913ef
Merge pull request #12207 from cladmi/pr/docker/programmer
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
2019-09-12 16:45:36 +02:00
Francisco
2d890db6af
Merge pull request #10440 from jcarrano/no-export-ports
makefiles: remove exports so that PORT is not evaluated if it's not needed.
2019-09-12 13:50:24 +02:00
Gaëtan Harter
971b1acdb2
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
Depending on the PROGRAMMER used, the file used for flashing may be
different, like openocd/jlink, so the file being generated when
compiling should be different.

Because of this, when building in docker, the build system needs to know
for which programmer you are building for.

This manifested for 'nordic_softdevice' applications when using 'openocd'
but is not limited to this case.
2019-09-12 12:38:31 +02:00
Francisco Molina
e325985321
makefiles/tools: pass DEBUG_ADAPTER_ID to pyocd 2019-09-12 08:13:28 +02:00
benpicco
ca6009592f
Merge pull request #11781 from fjmolinas/pr_schedstatistics_refactor
core/schedstatistics: fix call to uninitialized xtimer
2019-09-11 20:11:55 +02:00
benpicco
b14e08cce1
Merge pull request #11877 from OTAkeys/feat/gpio-flashing
makefiles: add support for sysfs gpio debug adapter
2019-09-11 18:00:31 +02:00
Kevin "Tristate Tom" Weiss
d6af98b5b7
Merge pull request #11835 from miri64/gnrc_sixlowpan_frag/new/stats
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 12:01:22 +02:00
Martine Lenders
dca3408167 gnrc_sixlowpan_frag_stats: initial import of frag statistics 2019-09-11 10:30:29 +02:00
Francisco Molina
fc58ebbd97 core/sched: separate sched_cb from schedstatistics 2019-09-10 17:08:21 +02:00
Juan Carrano
d9132eec90 Makefile.include: add rule to verify thin archives.
This adds a new target "archive-check".

Thin archives should be created with relative paths so that archives created
in a build container are useful in the host. This check ensures there are no
absolute paths inside thin archives.
2019-09-10 11:21:42 +02:00
Juan Carrano
24ddf285d2 Makefile.base: use thin static archives.
Normal, or thick archives contain a copy of the object code. Thin
archives, on the contrary, are just an index to the .o files.

This patch does two things:

1. Change ARFLAGS to enable the "T" options.
2. Call AR with all relative paths.

The second step is necessary because the build system handles all
absolute paths. If the index in the thin archive contains absolute
paths, archives created in docker are no usable outside, and moving
the objects breaks the archive.

If all arguments to AR are relative, the resulting archive contains
filenames *relative to the .a file* and nothing should break as long
as the relative location of the .a and .o remains unchanged.

Compilation time is unchanged, but disc usage is reduced by approximately
50%. These are the result of a full RIOT build:

| Thin Archive   |  no     |  yes  | Savings (%) |
| -------------- | ------: | ----: | ----------- |
| pkg (10e6 KiB) | 1 790   | 905   | 49%         |
| Non pkg        |    71   |  71   | 1%          |
| Total          | 1 812   | 976   | 46 %        |
2019-09-10 11:21:42 +02:00
benpicco
741d5437a7
Merge pull request #12053 from maribu/cc110x_default_channel
drivers/cc110x: Default channel configuration
2019-09-10 10:31:53 +02:00
benpicco
3aa8bc0d70
Merge pull request #12150 from jcarrano/compress-debuginfo
toolchain/cflags: enable dwarf compression (save 50% HDD)
2019-09-10 10:31:45 +02:00
Marian Buschsieweke
00965e3a40
makefiles: Refactored channel configuration
The default channel configuration is managed within the Makefiles of many
examples and tests. This commit moves the default channel logic to
`makefiles/default-channel.ink.mk` to ease maintenance. All Makefiles that
previously managed the default channel configuration themself have been
updated to include that file.

The default channel configuration of the cc110x has been added
2019-09-10 10:04:52 +02:00
2c3a50e280
Merge pull request #11907 from fjmolinas/pr_bootloader_id
makefiles/riotboot: pass DEBUG_ADAPTER_ID to bootloader recipes
2019-09-10 09:05:25 +02:00
04d33973f4
sys/log: add colored logging module 2019-09-09 20:27:16 +02:00
Francisco
e2c91639ea
Merge pull request #12127 from jcarrano/color-detect-terminal
makefiles/color: detect if writing to terminal.
2019-09-06 15:40:56 +03:00
Gunar Schorcht
80264c08de sys/shell: pseudomodule heap_cmd added 2019-09-05 09:18:46 +02:00
Juan Carrano
63c475cd4d toolchain/cflags: enable dwarf compression.
Use the -gz option to compress ELF sections containing DWARF information.
This saves around 50% of disk space, without any side effects.

See https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Debugging-Options.html#Debugging-Options
for more infomation on this option.

Some platforms have an outdated toolchain that does not support -gz so
the flag is blacklisted there. Even then, the results are quite impressive.

I used @cladmi's `buildtest` branch (https://github.com/cladmi/RIOT/tree/wip/du/buildtest)
with this change and compiled the `examples/default` application:

```
$ BUILD_IN_DOCKER=1 DOCKER="sudo docker" make -C examples/default buildtest-indocker
```

The size was obtained with:

```
$ find output -name "*.bin.bindirsize" -type f -exec tail  -n1 '{}' \; | cut -f 1 | awk '{s+=$1} END {printf "%.0f", s}'
```

Results:

- Vanilla: 10328112 KB (~10GB).
- with -gz: 4982788 KB (~5GB).

This was inspired by #8496.
2019-09-02 14:43:26 +02:00
Juan Carrano
0d6a8879bc makefiles/color: detect if writing to terminal.
The current code for detecting whether colors should be used by default
was not working. Normally what programs such as git or grep do is check
if they are writing to a pipe.

To see the issue by yourself:

$ BOARD=samr21-xpro make -C tests/periph_qdec > I_SHOULD_NOT_HAVE_COLORS 2>&1

This commit uses MAKE_TERMOUT, MAKE_TERMERR and if ANY of them is NOT
a terminal, colors are disabled.
2019-08-30 16:35:25 +02:00
Gaëtan Harter
909552e3c0
makefiles/cflags.inc.mk: change optional CFLAGS to 'OPTIONAL_CFLAGS'
Update the optional flags to use 'OPTIONAL_CFLAGS' instead of evaluating
everytime.

They are now blacklisted by architecture/toolchain according to the
current docker reference image.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
043534daf9
llvm: blacklist incompatible CFLAGS
Blacklist incompatible CFLAGS that are currently "optionally" included
in 'cflags.inc.mk'.

This prepares for the migration to 'OPTIONAL_CFLAGS'.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
e4331e8391
cpu/arch: blacklist incompatible CFLAGS
Blacklist incompatible CFLAGS that are currently "optionally" included
in 'cflags.inc.mk'.

This prepares for the migration to 'OPTIONAL_CFLAGS'.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
785f868ee0
makefiles/cflags.inc.mk: handle optional cflags
Handle declaring OPTIONAL_CFLAGS and blacklisting them with
OPTIONAL_CFLAGS_BLACKLIST.

This should replace checking everytime if options are supported.
2019-08-29 17:43:54 +02:00
Juan I Carrano
866b126f36
Merge pull request #12119 from cladmi/pr/makefiles/utils/uppercase_function
makefiles/utils: functions for lowercase and uppercase
2019-08-29 16:04:58 +02:00
Kevin "Tristate Tom" Weiss
969e3b3e95
Merge pull request #12098 from cladmi/pr/export/remove_local_export_compilation_variables
make: do not locally export compilation variables
2019-08-29 14:32:22 +02:00
Gaëtan Harter
765f3e9327
makefiles/utils: functions for lowercase and uppercase
Add make only function to convert strings to lowercase and uppercase.
This can replace the `$(shell echo $(var) | tr 'a-z-' 'A-Z_')` pattern.
Using the 'make' implementation results in being around 100 times faster.
2019-08-29 13:59:31 +02:00
Gaëtan Harter
34f69245c3
makefiles: do not locally export compilation variables
These are already exported by `makefiles/vars.inc.mk`.
It is a prerequisite to allow handling compilation without global exports.
2019-08-29 10:35:36 +02:00
Gaëtan Harter
a68bf99086
makefiles/vars.inc.mk: export CFLAGS_CPU
CFLAGS_CPU is required for 'pkg/openthread'. So declare it as a global
compilation variable.

The goal is to move the export to `makefiles/vars.inc.mk` and remove the
local exports that could be in boards/cpu/arch.
2019-08-29 10:35:36 +02:00
Marian Buschsieweke
50194802d3
Merge pull request #12095 from cladmi/pr/pyterm/pytermflags
boards/msba2/lobaro-lorabox: change TERMFLAGS to PYTERMFLAGS
2019-08-28 15:46:14 +02:00
Aiman Ismail
fed72571ec sys/net/sock: add sock_dtls API 2019-08-27 16:41:39 +02:00
Gaëtan Harter
62fe786cd8
makefiles/serial.inc.mk: add PYTERMFLAGS variable
Add a variable for `pyterm` specific flags that are not handled by other
terminals.
This will prevent issues with boards that have options only supported by
`pyterm` and setting `pyterm` options from the environment.
2019-08-27 12:07:00 +02:00
Kevin "Tristate Tom" Weiss
1b1c902dd3
Merge pull request #12022 from JannesVolkens/tmp00x
driver/tmp00x: make tmp006 more generic
2019-08-23 13:26:09 +02:00
Jannes
90c4ef04ef driver/tmp00x: Change tmp006 to tmp00x and add tmp007
Rename TMP006 to TMP00x
Add TMP007 sensor support to TMP00X
Change uint8_t reg to uint16_t
Add to doxygen documentation group
Expose compile time configurations
Move defines from .c to .h
Change double to float, because double is not needed
Add TMP007 register information
2019-08-23 12:11:16 +02:00
Gaëtan Harter
e1357c1499
makefiles/docker.inc.mk: allow disabling color in docker
When compiling with CC_NOCOLOR=1, color were still used when
printing during compilation with `BUILD_IN_DOCKER=1`.
2019-08-22 11:20:58 +02:00
Gaëtan Harter
4516905c0f
makefiles/info-global.inc.mk: bug: honor DEFAULT_MODULE$
The parsing for info-boards-supported was completely ignoring default
modules.
2019-08-21 17:57:30 +02:00
Gaëtan Harter
8c0120acd5
makefiles/info-global.inc.mk: bug: handle FEATURES_CONFLICT value
The value must be saved from the original value to allow restoring it.

This has currently no impact on 'info-boards-supported' as it is
currently ignored.
2019-08-21 17:16:32 +02:00
Juan I Carrano
507444ee44
Merge pull request #12010 from cladmi/pr/makefiles/info_global/disable_module
makefiles/info-global.inc.mk: bug: fix DISABLE_MODULE_GLOBAL value
2019-08-21 17:15:02 +02:00
Gaëtan Harter
1292d96feb
makefiles/murdock.inc.mk: change policy to run tests by default
By default if a test is available and not blacklisted it will be run by
murdock.

This will move from a whitelisting everything that works, to
blacklisting what fails. This way, failing tests will be easier to
track instead of being silently just not run.

It could even allow introducing failing tests before a fix is available.
2019-08-21 12:49:26 +02:00
Gaëtan Harter
1e6ac08423
murdock: only set test is enabled if there are tests
Only set `TEST_ON_CI_ENABLED` if the application has tests.
Currently `TEST_ON_CI_WHITELIST` was only set if there were tests.

This is a pre-step to have `TEST_ON_CI_WHITELIST` being `all` by
default.
2019-08-21 12:49:26 +02:00
d6356bdc08
Merge pull request #11692 from maribu/fmt_table
sys/fmt: Added submodule fmt_table for printing tables
2019-08-20 22:18:54 +02:00
Peter Kietzmann
11b4bab101
Merge pull request #10340 from maribu/cc110x_rewrite
drivers/cc110x: Complete rewrite from scratch
2019-08-20 17:58:21 +02:00
Juan I Carrano
a4a1dc4dfe
Merge pull request #11771 from cladmi/pr/make/remove_riot_version_override
Makefile.include: remove RIOT_VERSION_OVERRIDE
2019-08-20 16:54:24 +02:00
Juan I Carrano
f08e0d315e
Merge pull request #12030 from cladmi/pr/docker/allow_defining_from_env
makefiles/docker.inc.mk: allow setting more things from environment
2019-08-20 16:50:45 +02:00
Marian Buschsieweke
972367432a
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.

Features of this driver include:

- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
  configuration (modulation rate, channel bandwidth, base frequency) and the
  channel map.
- Fast channel hopping by pre-calibration of the channels during device
  configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
  for the transceiver to be ready (for the power regulators and the crystal
  to stabilize). The old driver did this for every SPI transfer, which
  resulted in complex communication code. This driver will wait on start up
  for the transceiver to power up and then use RIOT's SPI API like every other
  driver. (Not only the data sheet states that this is fine, it also proved to
  be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
  about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
  (depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
  doubled compared to the old driver (preamble: 8 bytes instead of 4,
  sync word: 4 byte instead of 2). The new values are the once recommended by
  the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
  SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
  to ease the use of the API (implemented without busy waiting, so that the
  MCU can enter lower power states or other threads can be executed).
2019-08-20 16:32:11 +02:00
Marian Buschsieweke
26d73116f6
sys/fmt: Added submodule fmt_table
print_col_u32_dec() / print_col_s32_dec() can be used to print an
uint32_t / int32_t as a column of the given width
2019-08-20 14:32:49 +02:00
Gaëtan Harter
89a92c551f
makefiles/docker.inc.mk: allow adding docker make arguments
Allow defining make arguments when called in docker.

It would be the same as adding to `DOCKER_OVERRIDE_CMDLINE` but have a
consistent naming.
2019-08-19 17:00:08 +02:00
Gaëtan Harter
8b90a51524
makefiles/docker.inc.mk: allow adding to docker ENV and OVERRIDE args
This allows passing other arguments as environment variables in
DOCKER_ENVIRONMENT_CMDLINE and as command line override in
DOCKER_OVERRIDE_CMDLINE without using the automatic detection.

This will allow passing USEMODULE to docker as its value is usually set
in an application Makefile so has its origin changed.
2019-08-19 16:59:46 +02:00
Gaëtan Harter
e83966c80f
makefiles/docker.inc.mk: allow setting DOCKER_ENV_VARS from environment
This allows setting other variables that should be exported to the
docker build.

As for other variables, they must still be unmodified before parsing
`docker.inc.mk` to be exported.
2019-08-19 16:46:22 +02:00
Gaëtan Harter
ce8d10c945
makefiles: end of 'FLASHFILE' transition phase
* Remove the transition documentation.
* assert that FLASHFILE is now defined
2019-08-19 16:30:10 +02:00
Gaëtan Harter
2689bb0366
makefiles/info-global.inc.mk: bug: fix DISABLE_MODULE_GLOBAL value
The value must be saved from the original value to allow restoring it.

This has currently no impact as 'makefiles/defaultmodules.inc.mk'
and 'DISABLE_MODULE' are ignored in this parsing.
2019-08-14 17:35:08 +02:00
Gaëtan Harter
7d10da832a
makefiles/buildtest: always execute 'buildtest' loop on host machine
This remove executing buildtest `for` loop in docker.

When building completely in docker, 'buildtest' would hide issues when
the host toolchain would be used when doing `make all` directly.
It has the consequence that it now starts a container for each
compilation which is slower.

The previous behavior can be reproduced by using

    BUILD_IN_DOCKER=1 make buildtest-indocker

A side effect is also that now `BUILDTEST_MAKE_REDIRECT` would work when
doing `buildtest` with docker.
2019-08-14 17:02:34 +02:00
Gaëtan Harter
a048001e96
makefiles/buildtest: add a buildtest-indocker
Add a 'buildtest-indocker' that forces executing 'buildtest' for loop
completely inside the container.
It prevents starting one container per compilation wich is slower but
it could hide errors where the host toolchain would be used

It is currently equivalent to `buildtest` but will change when the
`buidtest` handling will be move outside of `BUILD_IN_DOCKER`.

Display an error when executed without BUILD_IN_DOCKER=1.
2019-08-14 17:02:35 +02:00
Gunar Schorcht
d84f75b4d0 cpu/atmega_common: activate wrapper functions when linking 2019-08-12 23:22:23 +02:00
Gaëtan Harter
e04850b27b
Makefile.include: remove RIOT_VERSION_OVERRIDE
RIOT_VERSION is not used for building a specific RIOT version anymore
since #10543. The variable can now be used directly.
Add deprecation warning.
2019-08-12 16:28:19 +02:00
Jona Raemdonck
5fd90d08b8 makefiles/openocd: add sysfs gpio debug adapter
Add support for sysfs gpio adapter.
2019-08-05 14:59:34 +02:00
Leandro Lanzieri
959c55b03f
Merge pull request #11906 from cladmi/pr/makefiles/uniflash/config_variables
uniflash.inc.mk: add variables for configuration files
2019-07-26 17:10:22 +02:00
Martine Lenders
2d1eda550a
Merge pull request #11881 from cladmi/pr/git_version
makefiles: Introduce GIT_VERSION and use it for RIOT_VERSION
2019-07-26 13:36:45 +02:00
Francisco Molina
c08801eb65 makefiles/riotboot: pass DEBUG_ADAPTER_ID to bootloader recipes 2019-07-24 16:27:37 +02:00
Gaëtan Harter
78b1ff35a1
uniflash.inc.mk: add variables for configuration files
Refactoring to use common variables for the configuration files.

This will allow overwriting the files more easily from outside.
2019-07-24 15:17:42 +02:00
Gaëtan Harter
2d5ed4f849
cortexm.inc.mk: remove deprecated USE_NANO_SPECS
It was replaced by using directly the `newlib_nano` module.
2019-07-22 16:54:06 +02:00
Gaëtan Harter
21649b2cb3
makefiles/git_version.inc.mk: deferred GIT_VERSION definition
Move git version evaluation to a separate file.

The definition has been updated it to a deferred only definition.
This way git is not called when GIT_VERSION is not used.
2019-07-22 12:00:45 +02:00
Gaëtan Harter
b62488eb61
makefiles: documentation for BINFILE
Document `BINFILE` in the same ways as `HEXFILE`.
The file does not need to be exported so no reason to do it though.

It also adds it in the `info-build` output in the same way as `HEXFILE`.
2019-07-16 12:05:00 +02:00
Gaëtan Harter
065f85cf47
makefiles/vars.inc.mk: update documentation for HEXFILE
HEXFILE is not overwritten to be sometimes a '.bin' file anymore.
Its format can now be documented as an 'intel hex' file.
2019-07-16 12:05:00 +02:00
b4557eae16 make: riotboot: add $APP_VER to image file names 2019-07-15 13:38:37 +02:00
4546469e7b make: riotboot: ensure epoch in APP_VER is evaluated once 2019-07-15 13:38:37 +02:00
aaa187e871 riotboot: always link both slot .elf when linking
This enables "make test" and "make test-murdock" to rely on both images being
present and thus execute without re-compiling.
2019-07-15 11:30:49 +02:00
6b2727c693 make/riotboot: allow slot image creation without compiling 2019-07-15 11:30:49 +02:00
Francisco
827d2d9333
Merge pull request #11697 from kaspar030/pr/murdock_allow_multiple_files_for_test_job
murdock: allow multiple files to be sent along with a test job
2019-07-14 14:54:00 +02:00
a214ba493d murdock: allow multiple files to be sent along with a test job
Previously, this was hard-coded to allow one file, hard-coded to be
called "flash file".
This commit allows multiple files to be specified via adding them to the
TEST_EXTRA_FILES variable. All files will be stored in the worker's
application bin directory.

Also, the existence check has been removed, as dwqc bails out on missing
file anyways.
2019-07-13 11:57:53 +02:00
6c895e1484
Merge pull request #11743 from cladmi/pr/ci/add_test_blacklist
murdock: introduce 'TEST_ON_CI_BLACKLIST'
2019-07-12 13:56:31 +02:00
bb71e979f3 riotboot: set FLASHFILE to RIOTBOOT_EXTENDED_BIN
... if the riotboot feature is used.

Previously, even an application that had "FEATURES_REQUIRED += riotboot"
set would still flash the non-riotboot binary on "make flash".
This is usualy not what the user wants.

This commit set's the FLASHFILE variable to the combined "riotboot
bootloader + slot0 + empty slot1" binary. This has the effect that make
all, flash and flash-only will compile and/or flash a working riotboot
setup.

tests/riotboot and tests/riotboot_flashwrite now default to flashing the
riotboot-extended binary. tests/riotboot was previously configured to
use the riotboot-combined binary. This has been changed in order to not
behave differently than how usual riotboot applications do.
2019-07-08 16:33:01 +02:00
Gaëtan Harter
5c0ba89e81
makefiles/vars.inc.mk: update doc on CPU/CPU_MODEL definition
Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-07-01 17:23:14 +02:00
cladmi
168cb62ba5
makefiles/info-global.inc.mk: Reset CPU/CPU_MODEL value when reading deps
Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-07-01 17:23:14 +02:00
Juan I Carrano
50ea0d822c
Merge pull request #11664 from cladmi/pr/make/variables_lazy_evaluation
makefiles/utils/variables: add functions to help managing variables
2019-06-28 17:11:29 +02:00
Gaëtan Harter
2c5eeca47a
makefiles/utils: function to memoize a variable evaluation
This allow deferring a variable evaluation to its usage but still
benefit from only evaluating it once on multiple uses.
2019-06-28 11:34:43 +02:00
Gaëtan Harter
fcf8c4782d
makefiles/utils: function to export variables for a target
This allows exporting variables only for some target.
It will allow not exporting variables when not needed, and so prevent
unnecessary evaluation.
2019-06-28 11:33:54 +02:00
Gaëtan Harter
559b22911c
makefiles/murdock.inc.mk: remove flashfile hack
Setting FLASHFILE is now done for all boards requiring it.
2019-06-27 15:14:23 +02:00
Sebastian Meiling
4f5ce88ba6
Merge pull request #7421 from OTAkeys/pr/dev_urandom
devfs: add /dev/urandom and /dev/hwrng
2019-06-26 21:33:32 +02:00
Gaëtan Harter
45a318269d
murdock: introduce 'TEST_ON_CI_BLACKLIST'
Introduce a variable to set that a test is blacklisted.

This is a move toward enabling tests by default and adding a blacklisting
reason instead for a board instead of not whitelisting them which hides
the problem.

Currently, a test should be both whitelisted and blacklisted at the same
time to have a meaning. It is planned to whitelist all by default in
an upcoming pull request.
2019-06-25 18:57:03 +02:00
Gaëtan Harter
5d2c57f858
murdock: refactor handling of TEST_ON_CI_WHITELIST
Refactor the handling to use a variable to store if a test is enabled.
Add a 'test-on-ci-enabled' target that test if the test on ci is enabled.

This is a first commit before changing the behavior.
2019-06-25 18:56:53 +02:00
Benjamin Valentin
b617e40950 sam0: allow flashing with JLinkExe
Currently sam0 will always use OpenOCD, even when the JLink programmer is selected.
Instead, use JLinkExe when it's availiable and a J-Link programmer is used.
2019-06-24 18:44:36 +02:00
Kevin "Bear Puncher" Weiss
b076d856ab
Merge pull request #11709 from cladmi/pr/dfu/flashfile
boards/dfu-util: use FLASHFILE for boards using dfu-util
2019-06-24 10:59:14 +02:00
df10aa3b59
make: add stdio_ethos pseudo-module, dependent to stdin 2019-06-23 22:16:03 +02:00
7d4a98a075
make: introduce stdin pseudomodule 2019-06-20 15:56:44 +02:00
Gaëtan Harter
a12f1a4026
makefiles/dfu.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-17 18:09:43 +02:00
Gaëtan Harter
a379d95695
Merge pull request #11670 from aabadie/pr/boards/remove_features_mcu_group
boards/*: remove unused FEATURES_MCU_GROUP variable
2019-06-17 12:41:36 +02:00
Kevin "Bear Puncher" Weiss
2c0b2f3982
Merge pull request #11696 from cladmi/pr/pyocd/use_flashfile
makefiles/pyocd.inc.mk use FLASHFILE
2019-06-17 09:48:48 +02:00
Leandro Lanzieri
9696dd6c65
Merge pull request #11700 from cladmi/pr/bossa/use_flashfile
makefiles/bossa.inc.mk: use FLASHFILE
2019-06-17 09:27:05 +02:00
Francisco
ff317f2221
Merge pull request #11492 from cladmi/pr/features/declarative
Makefile.features: add declarative FEATURES_ variables definition
2019-06-14 18:03:24 +02:00
Gaëtan Harter
38aa611a1e
makefiles/bossa.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-14 15:37:50 +02:00
Gaëtan Harter
f874f241fa
makefiles/pyocd.inc.mk use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-14 12:17:22 +02:00
Gaëtan Harter
a7e17927e4
makefiles/pyocd.inc.mk: remove OFLAGS
OFLAGS is set by the `.bin` and `.hex` rules no need to define it anymore.
2019-06-14 12:12:32 +02:00
27e5aa51be
makefiles/info-global: remove use of FEATURES_MCU_GROUP
This is the last use of FEATURES_MCU_GROUP variable and thus it
deprecates it.
2019-06-14 11:32:15 +02:00
Gaëtan Harter
45e611d765
makefiles/app_dirs.inc.mk: Calculate 'BOARDS' value only once
Evaluate BOARDS only once before going in all directories.

This uses the target specific 'export BOARDS ?=' to export the variable
with its value without evaluating during parsing.
2019-06-07 16:32:04 +02:00
Gaëtan Harter
6130918ca8
Makefile.include: use the variables from makefiles/boards.inc.mk
BOARDS is defined, so the `find` line in `makefiles/info-global` is not
needed anymore.
2019-06-07 16:32:04 +02:00
Gaëtan Harter
f7f58d6a6b
makefiles/boards.inc.mk: list boards variables
* Add a variable to list all boards without using 'find'.
* By default 'BOARDS' is the list of all boards.
* Add the 'info-boards' target that lists BOARDS.
* Use in RIOT/Makefile
2019-06-07 16:32:04 +02:00
Sebastian Meiling
34c2eac840 make: allow override of RESET for uniflash 2019-06-06 16:27:22 +02:00
Sebastian Meiling
9dd48d9f0e make: allow override of RESET for jlink 2019-06-06 16:27:22 +02:00
Gaëtan Harter
c103b3f6ba serial: Do not export PORT.
This variable is only used for the term recipe (and maybe for flashing). They
should not be evaluated if they are not needed and the user should not see a
warning that the port is not set if he does not use port (for example in make
all.)
2019-06-03 16:31:21 +02:00
smlng
2de4b3011b periph_common: add as dependency to periph drivers
Rational: the periph_common module is required by (most) other periph drivers
and also during startup of the CPU/MCU to run periph_init. The latter is only
required if other periph drivers are used, hence periph_common should be a
depency of periph_* modules and *not* of the CPU/MCU. This PR fixes that
by making periph_common a depency of periph_* and removing the explicit
include in the CPU/MCU implementation.
2019-06-03 13:44:10 +02:00
Gaëtan Harter
029cd161f1
makefiles/tools/uniflash.inc.mk: remove empty RESET_FLAGS
Remove the line with only 'RESET_FLAGS'. This was a migration mistake
when removing 'export'.
2019-06-03 12:29:41 +02:00
79a2db89e0
makefiles/tools: remove useless export when setting DEBUG_ADAPTER_ID 2019-06-03 10:32:08 +02:00
6ecc16dd5d
makefiles/sam0: remove useless export when setting DEBUG_ADAPTER 2019-06-03 10:32:08 +02:00
b5c48ef04e
pkg/semtech-loramac: make RX optional 2019-05-29 16:24:52 +02:00
Vincent Dupont
3bbd808628 devfs: add /dev/{urandom,hwrng} with random/hwrng 2019-05-29 15:50:25 +02:00
ab4bf18472
Merge pull request #11592 from aabadie/pr/make/log_level_var
make: add LOG_LEVEL to overridable variables
2019-05-29 07:35:45 +02:00
Cenk Gündoğan
3f4259af07
Merge pull request #11061 from miri64/gnrc_sixlowpan_frag/new/hint
gnrc_sixlowpan_frag: Initial import of a fragment size hint feature
2019-05-28 23:09:15 +02:00
166ed18939
make: add LOG_LEVEL to overridable variables 2019-05-28 22:49:04 +02:00
Martine Lenders
2534cfb3fa gnrc_sixlowpan_frag: Initial import of a fragment size hint feature
This allows for sending of fragments smaller than the restrictions set
by the link-layer PDU. E.g. to put some slack for IPHC into the first
fragment (see https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-02#section-4.1).
2019-05-28 21:03:51 +02:00
Gaëtan Harter
6d7a70b16b
Makefile.features: declare FEATURES_CONFLICTING and make use of it
Define a variable for used features that conflict and use it in
`Makefie.include`.

It was not used by `info-global.inc.mk` and is still currently not.
2019-05-28 19:21:53 +02:00
Gaëtan Harter
9cccc30262
Makefile.features: declare FEATURES_USED and make use of it
Put the definition of `FEATURES_USED` in common and use the variable
instead of duplicating code.

This required defining 'FEATURES_OPTIONAL_ONLY|USED' to not overwrite
the value of 'FEATURES_OPTIONAL' as was done before.

Also add 'FEATURES_OPTIONAL_MISSING' to list optional features that were
not included as not provided.

This removes the need to print FEATURES_MISSING with the optional
features too.
2019-05-28 19:22:02 +02:00
Gaëtan Harter
e1c60ead36
Makefile.features: declare FEATURES_MISSING and make use of it
Put the definition of `FEATURES_MISSING` in common and use the variable
instead of duplicating code.
2019-05-28 19:21:53 +02:00
Gaëtan Harter
700b5fb835
makefiles: Update FEATURES_OPTIONAL meaning
Update the FEATURES_OPTIONAL meaning to be more in line since
FEATURES_USED is defined. Handle FEATURES_OPTIONAL as a configuration from
the BSP/build that should not be changed anymore after.

`FEATURES_OPTIONAL` are by definition optional so are not supposed to
cause a build to fail.
Only the 'REQUIRED' ones that are not 'PROVIDED' are 'MISSING'.

* Do not change FEATURES_OPTIONAL to remove REQUIRED features
  * Prepare for having a different variable for the previous value
* Update dependency resolution/info-build as FEATURES_OPTIONAL cannot be missing
2019-05-28 19:21:53 +02:00
e80fccaf50
Merge pull request #11511 from gdoffe/scanf_float
sys: add pseudomodule scanf_float
2019-05-28 18:23:43 +02:00
Gaëtan Harter
dedbe9c737
Merge pull request #11554 from cladmi/pr/make/exports/remove_flash_debug_reset
make: remove exports for flash debug reset
2019-05-28 18:15:03 +02:00
Gaëtan Harter
f47b09faa4
makefiles/toolchain: fallback to 'objdump'
When '$(PREFIX)objdump' is not present fallback to native '(g)objdump'.
'objdump' is used when flashing for some boards but the toolchain may
not be installed when building in docker.

This will allow using 'objdump' in 'cpu/kinetis/dist/check-fcfield.sh'.
2019-05-28 14:04:31 +02:00
Gilles DOFFE
7fc3207043 sys: add pseudomodule scanf_float
To read float number from stdin, add "-u scanf_float"
option to the linker.
This option is setup using a pseudomodule as it is already done for
printf_float.
Just add to your Makefile:
USEMODULE += scanf_float

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-05-28 12:10:39 +02:00
Gaëtan Harter
7306dbd382
boards/tools: remove exporting DEBUG*
DEBUGGER/DEBUGGER_FLAGS/DEBUGSERVER/DEBUGSERVER_FLAGS are evaluated by the
main Makefile.include or by file included by it.
Their value does not need to be exported.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `55 insertions(+), 55 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:58:35 +02:00
Gaëtan Harter
b88d1887c8
boards/tools: remove exporting RESET/RESET_FLAGS
RESET and RESET_FLAGS are evaluated by the main Makefile.include or by file
included by it. Their value does not need to be exported.

This will also prevent evaluating 'PORT' for RESET_FLAGS when not needed.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `24 insertions(+), 24 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
ac113ca2f8
boards/tools: remove exporting FLASHER/FFLAGS
FLASHER and FFLAGS are evaluated by the main Makefile.include or by file
included by it. Their value does not need to be exported.

This will also prevent evaluating 'PORT' for FFLAGS when not needed.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `84 insertions(+), 84 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:56:00 +02:00
Gaëtan Harter
79814b6ca9
makefiles/app_dirs.inc.mk: target to list supported applications/boards
Slow implementation to list all supported boards.
It is adapted from what `.murdock` does without the `toolchain` handling.
2019-05-27 17:21:39 +02:00
Gaëtan Harter
d21b03fe54
makefiles/app_dirs.inc.mk: declare info-applications .PHONY 2019-05-27 17:21:39 +02:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Juan I Carrano
cbc08edcd1
Merge pull request #11358 from fjmolinas/riot-cortexm-address-check
cpu/cortexm_common: function to check address validity
2019-05-13 11:50:48 +02:00
Oleg Artamonov
a5ce6deb02 cpu/cortexm_common: function to check address validity 2019-05-13 09:35:34 +02:00
a9f1a85f10
Merge pull request #11310 from OTAkeys/make_uart_stdio_rx_optional
sys: make uart_stdio RX optional (attempt #2)
2019-05-09 13:32:05 +02:00
Martine Lenders
c50eebe8d3
Merge pull request #11385 from kaspar030/docker_export_boards
makefiles/docker: export BOARDS
2019-05-06 13:48:50 +02:00
Gaëtan Harter
7d326e663b
Makefile.features: add a common file for the features parsing
This will allow sharing it between Makefile.include and
makefiles/info-global.inc.mk.

Also some common variables definition can also be moved to here.

Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-05-02 17:45:51 +02:00
2c1091da54
makefiles: add bootloaders to the list of applications 2019-04-23 14:29:50 +02:00
ca12999e2d makefiles/docker: export BOARDS
This enables "BUILD_IN_DOCKER=1 BOARDS='foo bar' make buildtest".
Without this line, when executed with BUILD_IN_DOCKER, "make buildtest"
would always build all boards.
2019-04-12 09:19:17 +02:00
002057f918 sys: make uart_stdio RX optional 2019-04-11 14:26:45 +02:00
14f47bf220
Merge pull request #10695 from aabadie/pr/drivers/lpsxxx
drivers/lpsxxx: refactor lps331ap and add support for lps25hb + lps22hb
2019-03-29 10:54:08 +01:00
Gaëtan Harter
29ada72a9e
Merge pull request #11254 from cladmi/pr/make/openocd/flashfile
makefiles/openocd.inc.mk: use FLASHFILE
2019-03-28 11:56:59 +01:00
Hauke Petersen
840c8aeba2 cord/epsim: remove standalone submodule 2019-03-27 18:26:37 +01:00
Gaëtan Harter
ff13208751
riotboot: remove compatibility for ELFFILE as file to flash
Openocd boards are now updated.
2019-03-26 19:26:42 +01:00
Gaëtan Harter
0be610558d
boards/openocd: use FLASHFILE for boards using openocd
Update to use FLASHFILE as file to be flashed on the board.
2019-03-26 19:26:42 +01:00
Gaëtan Harter
6e7982bf08
makefiles/boot/riotboot.mk: fix unrelated introduced change
This change was introduced by mistake by the `edbg` refactoring. This
restores the original value for openocd.
2019-03-26 16:36:16 +01:00
Gaëtan Harter
d4775ccf96
riotboot: remove compatibility for HEXFILE as file to flash
It is now the case for `edbg`.
Openocd support still needs special handling.
2019-03-26 13:35:04 +01:00
Gaëtan Harter
72bc21c0de
makefiles/edbg.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-03-26 13:35:04 +01:00
Marian Buschsieweke
6b0082bb3f
shell: Add command i2c_scan
Add a trivial shell program that scans for all slaves on an I2C bus by iterating
all of the possible 127 I2C addresses and checking for the ACK of the device.
2019-03-25 14:10:04 +01:00
7c285eb186
drivers/lpsxxx: add support for lps22hb 2019-03-20 14:43:37 +01:00
1f4dee90a1
drivers/lpsxxx: unify lps331ap and lps25h drivers 2019-03-20 14:43:36 +01:00
Martine Lenders
4ee4625f39
Merge pull request #10357 from jcarrano/posix_headers-module
sys/posix: make posix module provide only headers.
2019-03-20 14:07:12 +01:00
Juan Carrano
6b766c3cd3 sys/posix: make posix module provide only headers.
The build system contains several instances of
 INCLUDES += -I$(RIOTBASE)/sys/posix/include

This is bypassing the module management system, by directly accesing
headers without depending on a module. The module is the posix module.

That line is also added when one of the posix_* modules is requested.

According to the docs, the posix module provides headers only, but in
reality there is also inet.c.

This patch:

- Moves `inet.c` into `posix_inet`, leaving `posix` as a headers-only
  module.
- Rename `posix` as `posix_headers` to make it clear the module only
  includes headers.
- Makes `posix_*` modules depend on `posix_headers`, thus removing the
  explicit `INCLUDES+=...` in `sys/Makefile.include`.
- Ocurrences of `INCLUDES+=...` are replaced by an explicit dependency
  on `posix_headers`.
2019-03-20 12:57:13 +01:00
Sebastian Meiling
29f7cd2840
Merge pull request #11198 from cladmi/pr/make/uniflash/updates
makefiles/tools/uniflash.inc.mk: add a common configuration for using UniFlash
2019-03-18 14:25:52 +01:00
fb2c7eaec4
Merge pull request #11181 from kaspar030/add_riotboot_flashwrite
riotboot: add riotboot_flashwrite module
2019-03-18 11:15:25 +01:00
Gaëtan Harter
239d8a959d
makefiles/uniflash.inc.mk: update FFLAGS to use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-03-15 16:24:32 +01:00
Gaëtan Harter
6b904f5f3e
makefiles/uniflash.inc.mk: update xds110reset path
In UniFlash 4.4.0 the directory where 'xds110reset' is changed.
Try to use the newest one available. If none is found in UNIFLASH_PATH,
try to use one from the PATH to be sure to have a value.

./uniflash_4.1/simplelink/gen2/bin/xds110reset
./uniflash_4.3.0/simplelink/gen2/bin/xds110reset
./uniflash_4.4.0/simplelink/imagecreator/bin/xds110reset
./uniflash_4.5.0/simplelink/imagecreator/bin/xds110reset
2019-03-15 16:12:34 +01:00
Gaëtan Harter
f7ec4b7c8a
makefiles/uniflash.inc.mk: add common uniflash flasher
Put the uniflash flasher in common.
2019-03-15 15:53:58 +01:00
a15f07b04b riotboot: move slot variables to sys/riotboot/Makefile.include 2019-03-15 12:32:50 +01:00
Gaëtan Harter
78fcad5bf3
Merge pull request #11190 from cladmi/pr/make/flashfile/avrdude
tools/avrdude.inc.mk: use FLASHFILE variable
2019-03-15 11:37:01 +01:00
Gaëtan Harter
9bf7d5bb1a
tools/avrdude.inc.mk: use FLASHFILE variable
Update to use FLASHFILE as file to be flashed on the board.
2019-03-14 18:16:43 +01:00
bee2f0bcc7
Merge pull request #11180 from kaspar030/riotboot_use_epoch_as_default_version
riotboot: use epoch as APP_VER default
2019-03-14 16:01:00 +01:00
09a40fb6fc riotboot: use epoch as APP_VER default 2019-03-14 12:04:56 +01:00
Francisco Acosta
0f4e51d543
Merge pull request #11130 from cladmi/pr/make/flashfile/jlink
makefiles/tools/jlink.inc.mk: use FLASHFILE
2019-03-14 12:01:02 +01:00
Francisco Acosta
de720730f6
Merge pull request #11127 from bergzand/pr/nrf52/ref_ldscripts
nrf52: use cortexm.ld script when applicable
2019-03-13 19:41:13 +01:00
Emmanuel Baccelli
8969fd32e9
Merge pull request #11080 from kaspar030/add_pyboard
boards: add pyboard v1.1 support
2019-03-13 17:07:40 +01:00
Gaëtan Harter
a3df00ca17
makefiles/mcuboot.mk: remove compatibility with old ldscript
Linkerscript for `nrf52dk` has been updated to use `cortexm.ld` so does
not need the configuration anymore for the removed
`cpu/nrf52/ldscripts/nrf52832xxaa.ld`.
2019-03-13 11:57:45 +01:00
Gaëtan Harter
1e1611c50a
makefiles/mcuboot.mk: prepare for using cortexm.ld
Prepare mcuboot for changing `nrf52` to use `cortexm.ld`. It sets the
offset for linking the image.
2019-03-13 11:57:40 +01:00
Juan I Carrano
f7cdbdaab0
Merge pull request #11145 from kaspar030/test_newlib_nano_path_empty
make: newlib: check if newlib nano folder was found
2019-03-11 14:55:10 +01:00
Juan I Carrano
265a118841
Merge pull request #11109 from cladmi/pr/make/refactor/modules.inc.mk
makefiles/modules.inc.mk: refactoring
2019-03-11 13:10:18 +01:00