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

1428 Commits

Author SHA1 Message Date
Marian Buschsieweke
f41dcc9a8d
build system: fix FEATURES_REQUIRED_ANY
Previously, FEATURES_REQUIRED_ANY didn't honor the order of the alternatives
provided, if none of the features were already in used and multiple options
are provided. This fixes this.
2021-02-09 10:45:03 +01:00
2692957c0e
riscv_common: Refactor common fe310 code to riscv_common 2021-02-05 09:32:19 +01:00
Dylan Laduranty
1f085cfd03
Merge pull request #15843 from benpicco/mtd_write_page_hl
mtd: rename mtd_write_page() -> mtd_write_page_raw(), add high-level mtd_write_page()
2021-01-28 18:43:42 +01:00
Benjamin Valentin
e8bbe1d1c7 mtd: re-add mtd_write_page()
Add a write_page() command that performs a read-modify-write cycle
if necessary.
2021-01-28 11:51:28 +01:00
1bde5296fd
Merge pull request #14987 from bergzand/pr/riscv/semihosting
stdio_semihosting: Extend with RISC-V support
2021-01-27 18:49:35 +01:00
0a6c9c4ec0
stdio_semihosting: Extend with RISC-V support
RISC-V support semihosting in very similar way as the cortex-m
microcontrollers. The code calls a breakpoint instruction and the
attached debugger reads/writes registers and memory for stdio.

The RISC-V architecture doesn't support a call number with the EBREAK
instruction, to allow the debugger to detect a semihosting break point,
the EBREAK instruction is wrapped in a SLLI and SRAI instruction. These
use x0 as output register, making them NOP instructions.

One caveat when using this is that the RISC-V core traps the EBREAK
instruction with trap code 3 when no debugger is attached. Restarting
the application with the debugger attached avoids this.
2021-01-27 17:52:19 +01:00
Francisco Molina
1ed4c3a230
makefiles/dependencies_debug.inc.mk: add TOOLCHAIN 2021-01-27 11:11:43 +01:00
7212ad7dbd
Merge pull request #15860 from leandrolanzieri/pr/makefiles/riotboot_add_builddeps_dependency
makefiles/riotboot: ensure BUILDDEPS are built before riotboot targets
2021-01-27 10:34:29 +01:00
ce97e9d8ce
Merge pull request #15859 from fjmolinas/pr_newlib_feature
treewide: model newlib as a FEATURE
2021-01-27 10:06:08 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Leandro Lanzieri
c99559222f
makefiles/riotboot: ensure BUILDDEPS are built before riotboot targets 2021-01-26 18:04:22 +01:00
ad20733f01
Merge pull request #15771 from aabadie/review_test_manual
tests: add test-with-config and test-as-root targets
2021-01-26 09:33:14 +01:00
Francisco
de9f29cf42
Merge pull request #15835 from leandrolanzieri/pr/makefile/fix_default_modules_in_usemodules
Makefile.include: avoid recursive expansion of USEMODULE
2021-01-25 21:50:03 +01:00
Gaëtan Harter
54c4536945
tests: add 'test-as-root' and 'test-with-config' targets
These targets cannot be used in an automated testing workflow without
complex configuration or extend rights.

- Add new 'test-as-root' target for tests that require to be root or
start an external daemon as root
- Add new 'test-with-config' target for tests that require a specific
configuration to succeed (module configuration or hardware
configuration)
2021-01-25 21:10:06 +01:00
Gaëtan Harter
4412b9a4ab
tests/tests.inc.mk: move tests targets and variables
Create a file for setting tests targets and variables.
It is a refactoring before adding new commands.
2021-01-25 21:10:06 +01:00
benpicco
83201ddb00
Merge pull request #15760 from maribu/sock-aux-rssi
sys/net/sock: add sock_aux_rssi
2021-01-25 18:51:11 +01:00
Francisco
25e99d81ed
Merge pull request #10748 from maribu/sane_signed_interger_overflow
makefiles: Add -fwrapv to CFLAGS
2021-01-25 18:47:09 +01:00
Marian Buschsieweke
01382dc4ad
makefiles: Add -fwrapv to CFLAGS
This commit makes overflow of signed integers to behave as expected by at 90%
of the C developers, even though overflow of signed integers are strictly
undefined behavior.

Note: Please do not add code relying on a specific behavior for the overflow of
      signed integers, even though `-fwrpav` will make that code work. This is
      intended to mitigate the risk of bugs in overflow checks being exploited,
      not to encourage adding new bugs.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 for details and see
http://c-faq.com/misc/intovf.html on how to implement overflow checks properly.
2021-01-25 13:35:43 +01:00
Leandro Lanzieri
645ac53fe0
makefiles: allow boards and CPUs to define default modules
This allows boards and CPUs to define a Makefile.default file where
default modules can be added before the normal dependency
resolution.
2021-01-25 09:16:59 +01:00
benpicco
71fe6685b5
Merge pull request #13743 from fabian18/driver-nrf24l01p-netdev-minimal
drivers/nrf24l01p: Netdev driver for nrf24l01p
2021-01-24 22:19:50 +01:00
fabian18
f7a77ebb04 drivers/nrf24l01p_ng: netdev driver for nrf24l01+
The driver uses the netdev interface. Due to the limited
capabilities of the transceiver (32 byte FIFO and no source address in the layer2 frame),
it relies on 6LowPAN compression and adds the source address to the frame for that.
2021-01-24 20:49:39 +01:00
Jean Pierre Dudey
9b4688bab1 makefiles/info.inc.mk: fix EXTERNAL_BOARD_DIRS in info-build-json
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 20:33:38 +01:00
benpicco
1df890304a
Merge pull request #15523 from btcven/2020_11_25-bq2429x
drivers: add bq2429x power management IC driver
2021-01-22 20:24:35 +01:00
Jean Pierre Dudey
273721efc0 drivers: add bq2429x power management IC driver
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 19:30:12 +01:00
Benjamin Valentin
236c4db83e cpu/atmega*: drop ldscripts_compat
Those were only needed with very old toolchains.
These days they cause more confusion than benefit, so drop them.
2021-01-22 19:05:20 +01:00
Francisco Molina
c636a6501c
makefiles/docker.inc.mk: use version_is_greater_or_equal for jobs check 2021-01-18 14:38:47 +01:00
Francisco Molina
e455ccd3c0
makefiles/utils/strings.mk: add version_greater_or_equal 2021-01-18 14:37:23 +01:00
f2a719ba3c
docker: pass number of jobs from MAKEFLAGS to the container 2021-01-18 13:41:35 +01:00
Francisco
4736a881fc
Merge pull request #15512 from aabadie/pr/tools/emulator_term
tools/emulator: allow use with *term targets + introduce EMULATE=1 instead of emulate target
2021-01-13 17:12:00 +01:00
Marian Buschsieweke
f0ba796e5d
sys/net/sock: add sock_aux_rssi
Allow accessing the RSSI value of received UDP datagrams / IP packets with the
sock API.
2021-01-13 13:29:13 +01:00
dylad
7fc5bb483b makefiles/dfu-util: automatically generate DFU_USB_ID 2021-01-12 11:34:22 +01:00
a6d856a5be
makefiles/tools/qemu: cleanup makefile 2021-01-11 21:31:49 +01:00
08108f85b4
make: replace emulate% targets with EMULATE variable 2021-01-11 21:31:48 +01:00
753e13fba3
tools/renode: disable gui and hide log by default
Use RENODE_SHOW_LOG and RENODE_SHOW_GUI from the command line to enable them
2021-01-11 21:31:48 +01:00
c8ce41c9de
dist/tools/emulator: allow use of term with emulators 2021-01-11 21:31:48 +01:00
Martine Lenders
4bcf908176
Merge pull request #15667 from miri64/make/cleanup/static-tests
make: run static_tests.sh directly with `static-tests` target
2021-01-05 16:41:45 +01:00
Leandro Lanzieri
675ddb6ccc
drivers/pn532: use pseudomodules to select i2c or spi 2021-01-04 16:55:16 +01:00
Marian Buschsieweke
720ea90372
Merge pull request #15668 from leandrolanzieri/pr/makefiles/arch/riscv_redirect_which_error
makefiles/arch/riscv: redirect 'which' error message to /dev/null
2020-12-19 21:43:16 +01:00
Marian Buschsieweke
c8d16d21f7
Merge pull request #15606 from maribu/malloc-newlib-picolibc
sys/malloc_thread_safe: new module
2020-12-17 19:55:32 +01:00
Marian Buschsieweke
902aa29b62
sys/malloc_thread_safe: split out of cpu/atmega_common
Split out Gunar Schorcht's clever approach to provide thread safe malloc for
AVR into a system module and make AVR depend on this. This allows other
platforms to also use this.
2020-12-17 15:39:05 +01:00
Leandro Lanzieri
aaf4a738f9
makefiles/arch/riscv: redirect error message to /dev/null 2020-12-17 15:23:21 +01:00
Martine Lenders
9066ab28e1
make: run static_tests.sh directly with static-tests target 2020-12-17 15:16:36 +01:00
José Alamos
4661948bd1
Merge pull request #15630 from benpicco/makefiles/pseudomodules.inc.mk-netdev_ieee802154_legacy
makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
2020-12-15 10:27:31 +01:00
Benjamin Valentin
44acfc54cb makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
`netdev_ieee802154_legacy` is not a real module, don't add it to `NO_PSEUDOMODULES`.
2020-12-14 18:01:23 +01:00
Martine S. Lenders
e980405cbc
gnrc_sixlowpan_frag_sfr: provide statistics sub-module 2020-12-14 13:00:37 +01:00
Martine Lenders
08d86295d2
Merge pull request #15560 from maribu/gnrc-aux-rx-timestamps
net/gnrc/sock: Implement sock_aux_timestamp for RX
2020-12-10 19:20:16 +01:00
Marian Buschsieweke
d95192e97b
sys/net/gnrc/sock: Add support for RX timestamp 2020-12-10 17:43:11 +01:00
benpicco
1477a340fe
Merge pull request #15150 from fabian18/ieee802154_security
Initial implementation of IEEE 802.15.4 security
2020-12-09 14:14:27 +01:00
b801d57f0c
Merge pull request #15555 from dylad/pr/makefiles/dfu_optionnal_dfuse
boards: move DfuSe specific argument at board level
2020-12-09 14:08:50 +01:00
dylad
ecc8296897 makefiles/dfu-util: Update dfu-util.inc.mk for DFU bootloader 2020-12-09 11:59:28 +01:00
8b8a3ffbd9
Merge pull request #15491 from aabadie/pr/tools/qemu_debug
tools/emulator: add debug feature with qemu emulator
2020-12-08 11:23:33 +01:00
Fabian Hüßler
dc16c14b3d sys: Add IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
benpicco
1a25df9d34
Merge pull request #15471 from maribu/event-threads-multi
sys/event: Allow single event_thread handling all queues
2020-12-03 21:04:36 +01:00
Marian Buschsieweke
06c87dfe97
makefiles: add mechanism to deprecate modules
Add event_thread_lowest as first deprecated module
2020-12-03 15:28:35 +01:00
Marian Buschsieweke
9d46bc7d7f
Merge pull request #14703 from maribu/sock-aux-api
net/sock: Add access to auxiliary data (API only)
2020-12-03 12:08:49 +01:00
Marian Buschsieweke
ebcf1c0ab4
net/sock_ip: Extend API for auxiliary data 2020-12-02 17:56:13 +01:00
Benjamin Valentin
b7b208829f tools/uf2: add uf2conv.py as a flash tool 2020-12-02 10:20:17 +01:00
f8822b5f8f
boards: remove not need PORT_LINUX/PORT_DARWIN
They defined the same in serial.inc.mk. Some Darwin default are changed because they are probably wrong
2020-12-02 09:20:57 +01:00
83bbe00d62
makefiles/serial.inc.mk: define a default port for linux/darwin 2020-12-02 09:20:57 +01:00
4c290e1f92
boards: remove include of serial.inc.mk 2020-12-02 09:20:57 +01:00
Francisco
9f3eebd9b9
Merge pull request #15543 from aabadie/pr/tools/robotis-loader_common
boards/opencm904: move robotis-loader in common place
2020-12-02 09:18:51 +01:00
Francisco
b251ca2d4f
Merge pull request #15541 from aabadie/pr/make/goodfet_common
tools/goodfet: define variables in common makefile
2020-12-02 09:18:18 +01:00
4ff5b749b0
tools/renode: qemu: move debug script in common place 2020-12-02 08:43:44 +01:00
ae20873510
makefiles/qemu: add DEBUGGER variables 2020-12-02 08:43:43 +01:00
c066f21b68
Merge pull request #15539 from aabadie/pr/tools/stm32loader
tools/stm32loader: introduce common makefile
2020-12-02 08:24:05 +01:00
benpicco
418aaa6e67
Merge pull request #15388 from benpicco/boards/e104-bt5010a-tb
boards/e104-bt5011a-tb: add support for the E104-BT5011A Test Board
2020-12-02 00:24:33 +01:00
Francisco
0b8ec0ba11
Merge pull request #15490 from aabadie/pr/tools/renode_refactor
tools/renode: refactor integration + add debugger support
2020-12-01 23:16:11 +01:00
2dc5a69939
Merge pull request #15535 from aabadie/pr/tools/lpc2k_pgm
tools/lpc2k_pgm: refactor build system integration
2020-12-01 21:13:52 +01:00
966221f5a4
boards/opencm904: move robotis-loader in common place 2020-12-01 18:31:41 +01:00
Benjamin Valentin
0b83589bbc boards/common/e104-bt50xxa-tb: enable software reset 2020-12-01 18:29:09 +01:00
2e1b26bb8e
makefiles/tools/goodfet: add common makefile 2020-12-01 18:06:20 +01:00
14d19ee790
makefiles/tools/stm32loader: add common makefile 2020-12-01 17:26:57 +01:00
a74e005fbb
makefiles/tools: add common mspdebug makefile 2020-12-01 15:52:17 +01:00
9d3cbd5933
make: add common lpc2k_pgm programmer makefile 2020-12-01 13:39:28 +01:00
aea9d4b0a7
make: move lpc2k_pgm in tools/ 2020-12-01 13:36:36 +01:00
Martine Lenders
e2af953cc8
Merge pull request #15132 from benpicco/nrf802154-submac
cpu/nrf52: nrf802154: default to netdev_ieee802154_submac
2020-12-01 12:23:42 +01:00
04bc5b5622
Merge pull request #15531 from aabadie/pr/tools/esptool_common
tools/esptool: add common makefile to define esptool variables
2020-12-01 11:54:54 +01:00
benpicco
333fce44b4
Merge pull request #14973 from benpicco/driver/at86rf215-batmon
drivers/at86rf215: implement battery monitor, add power bus
2020-12-01 11:52:46 +01:00
Martine Lenders
c44d77e528
Merge pull request #15508 from namib-project/dhcp-mud-support
Add MUD URL option to DHCPv6 client
2020-12-01 10:33:51 +01:00
72e1958953
makefiles/tools: add common esptool configuration 2020-12-01 10:22:26 +01:00
Jan Romann
2a570cb957 net/dhcpv6: Add DHCPv6 option for MUD URL (RFC 8520)
Co-Authored-By: Jens Bücker <48720000+jbueck@users.noreply.github.com>
Co-Authored-By: mauspr <75017188+mauspr@users.noreply.github.com>
Co-Authored-By: schulztr <75017039+schulztr@users.noreply.github.com>
2020-11-30 22:46:33 +01:00
82eb48964d
makefiles/qemu: renode: define FLASHFILE 2020-11-27 13:39:23 +01:00
2bcc754fe5
makefiles/tools: ensure all FLASHER/DEBUGGER* vars are overridable 2020-11-27 13:39:22 +01:00
9eadcb38f3
makefiles/renode: make emulate depends on board config file 2020-11-27 13:39:22 +01:00
dcaa9eb59c
makefiles/tools/renode: improve debugger management
When using the debug target, the GDB server is spawned automatically in the background. This logic is moved in a external script
2020-11-27 13:39:22 +01:00
4707de2a5f
makefiles/renode: add debugger config 2020-11-27 13:39:22 +01:00
3cca8f4ee2
makefiles/tools/renode: control renode via Makefile only 2020-11-27 13:37:52 +01:00
3bafb6e2bc
makefiles/edbg: include openocd.inc.mk to define debug vars 2020-11-25 22:31:13 +01:00
c6ad85a7b0
boards: don't include programmer logic at board level 2020-11-25 22:31:13 +01:00
benpicco
09defe017f
Merge pull request #15483 from aabadie/pr/makefiles/renode_dont_export
makefiles/renode: dont export EMULATOR* variables
2020-11-25 00:33:35 +01:00
benpicco
638cb00a28
Merge pull request #15486 from aabadie/pr/make/emulator_enh
make: handle emulator backend in Makefile.include
2020-11-25 00:31:19 +01:00
784eb048b7
Merge pull request #15391 from maribu/riscv-detect-triple
makefiles/arch/riscv.inc.mk: Detect target triple
2020-11-24 10:42:57 +01:00
Jose Alamos
20329ff1d4 netdev: add legacy pseudomodule 2020-11-23 13:09:32 +01:00
Francisco Molina
5b10bdfcb8
makefiles/utils: add util to compare to software versions 2020-11-23 09:12:51 +01:00
e1558b4487
makefiles/tools/qemu: add common qemu makefile 2020-11-20 14:17:54 +01:00
b7c1f7b2dd
makefiles/renode: don't export EMULATOR variables 2020-11-20 12:30:49 +01:00
Bas Stottelaar
8e1f6efa6d makefiles: model efm32_coretemp as a feature 2020-11-18 17:27:17 +01:00
Francisco Molina
6a606e3f21
makefiles/tools/cc2538-bsl: use --write-erase to avoid mass erase 2020-11-16 09:13:57 +01:00
Francisco Molina
8f1e2cbe00
dist/tools/cc2538-bsl: add Makefile to build dependencies 2020-11-16 09:13:57 +01:00
Martine Lenders
a07d3e0fc9
Merge pull request #14755 from benpicco/examples/gnrc_border_router-native
examples/gnrc_border_route: simplify ZEP setup on native
2020-11-13 18:41:03 +01:00
benpicco
be9eb22bb8
Merge pull request #15106 from chrysn-pull-requests/saul-rgbleds
saul_pwm: auto-init'able RGB LEDs and dimmers
2020-11-13 18:22:30 +01:00
Benjamin Valentin
90f3c15084 socket_zep: send dummy HELLO packet on connect 2020-11-13 18:10:57 +01:00
Gilles DOFFE
4bfbb75578 cpu/stm32: add stm32mp1_eng_mode pseudomodule
In Engineering mode (BOOT0 off and BOOT2 on), only the Cortex-M4
core is running. It means that all clocks have to be setup
by the Cortex-M4 core.
In other modes, the clocks are setup by the Cortex-A7 and then should
not be setup by Cortex-M4.
stm32mp1_eng_mode pseudomodule have to be used in Engineering mode
to ensure clocks configuration with IS_USED(MODULE_STM32MP1_ENG_MODE)
macro.
This macro can also be used in periph_conf.h to define clock source
for each peripheral.

Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2020-11-13 10:43:08 +01:00
Gilles DOFFE
cca2d70808 tools/openocd: add stlink-dap adapter
stlink-dap adapter is based on stlink-dap.cfg and is used by
STM32MP1 family.

Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2020-11-13 10:43:08 +01:00
Gilles DOFFE
8a35e114c0 tools/openocd: add GDB_PORT_CORE_OFFSET variable
In case of muticore CPU, openocd opens one debug port by core for gdb.
Thus add a GDB_PORT_CORE_OFFSET port offset to select the right port
for debugging.

Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2020-11-13 10:43:08 +01:00
Gilles DOFFE
4f3ea5c74c tools/openocd: select target core
For multi-arch SoC like STM32MP1, the right target core has
to be selected to avoid debugging the wrong default cpu.
This is done using openocd command 'targets ${OPENOCD_CORE}'.
OPENOCD_CORE has to be set in board Makefile.include file.
In case it is not set, the command just display available targets, thus it
has no effect on already existing boards using openocd.

Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2020-11-13 10:43:08 +01:00
Benjamin Valentin
7e069290a0 sys/bus: add system buses 2020-11-12 22:50:53 +01:00
792e031a95
Merge pull request #14331 from maribu/atomic_utils
sys/atomic_utils: Functions for atomic access
2020-11-12 21:44:53 +01:00
Marian Buschsieweke
feee507bf9
makefiles/arch/riscv.inc.mk: Detect target triple
This improves the target triple detection logic to include all possible target
triples of compilers that might be able to generate our binaries.
2020-11-06 20:53:28 +01:00
Leandro Lanzieri
5e0ce392d1
makefiles/kconfig: run kconfig always when menuconfig is called 2020-11-06 15:58:01 +01:00
Leandro Lanzieri
59dee592cd
tests/periph_*: add Kconfig configuration files 2020-11-06 15:58:00 +01:00
Bas Stottelaar
12e9818430 riotboot: quote PATH variable 2020-11-05 22:59:29 +01:00
Marian Buschsieweke
0e8b8ffa64
sys/atomic_utils: Functions for atomic access
A set of functions competing with C11 atomics feature-wise, but are implemented
more efficient.
2020-11-05 10:23:32 +01:00
Leandro Lanzieri
e815863aa9
tools/genconfig: add invalid configurations checks 2020-11-05 09:04:07 +01:00
benpicco
ad294aa340
Merge pull request #15203 from maribu/stm32-eth-negotiate
cpu/stm32: periph_eth: Use auto-negotation
2020-10-23 14:22:56 +02:00
Francisco Molina
e2c57cde95
cpu/cc2538: cleanup init, add cc2538_rf_obs_sig module 2020-10-22 18:17:08 +02:00
Marian Buschsieweke
5f9b55a182
cpu/stm32: Add stm32_eth_auto for auto-negotiation
Expose the auto-negotiation feature of the Ethernet device via the
pseudo-module stm32_eth_auto. With this enabled, the static speed configuration
set in the boards periph_conf.h will only be used if the PHY lacks
auto-negotiation capabilities - which is unlikely to ever happen.
2020-10-22 12:37:23 +02:00
chrysn
d196c7c4a6 drivers/saul/auto_init: Add PWM for LEDs
In analogy to the existing GPIO mappings, this provides (write-only)
SAUL entries for PWM'd LEDs in a single-LED (as SAUL_ACT_DIMMER) and an
RGB (as SAUL_ACT_RGB_LED) mode.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2020-10-17 11:20:17 +02:00
benpicco
ee189fa428
Merge pull request #15187 from bergzand/pr/info/add_json
info.inc.mk: Add info-build-json as JSON-formatted build info
2020-10-15 21:27:26 +02:00
Cenk Gündoğan
f05ac07f19
Merge pull request #15217 from leandrolanzieri/pr/kconfig/allow_merge_configs
makefiles/kconfig: always allow to use KCONFIG_ADD_CONFIG
2020-10-13 15:11:09 +02:00
benpicco
4852c09027
Merge pull request #15058 from benpicco/feature_stdio_highlevel
boards: remove the bootloader_% pseudo-feature, replace it with highlevel_stdio
2020-10-13 14:25:03 +02:00
Benjamin Valentin
971f0f6fee boards: remove the bootloader_% pseudo-feature
This feature is only used to blacklist stdio via CDC ACM.
Introduce the `highlevel_stdio` feature instead to indicate
that stdio functionality requires a running thread to print
anything
2020-10-13 10:30:22 +02:00
Leandro Lanzieri
4d7ea1b50a
makefiles/kconfig: always allow to use KCONFIG_ADD_CONFIG 2020-10-13 09:53:00 +02:00
Leandro Lanzieri
34d84ad8c6
makefile: add check for ERROR_ Kconfig symbols
This adds a check in the build process to verify that no ERROR_ Kconfig
symbols are set. These symbols indicate invalid conditions in the
Kconfig configuration.
2020-10-09 18:01:33 +02:00
aba91f144c
info.inc.mk: Add info-build-json as JSON-formatted build info 2020-10-09 12:02:28 +02:00
2dac4db343
make: Use common comma variable definition 2020-10-09 12:02:28 +02:00
8e0ac2aeab
make: Add variable definitions for comma and space 2020-10-09 12:02:27 +02:00
benpicco
c979fda1f3
Merge pull request #14367 from basilfx/feature/cortex_m33
cpu/cortex: add initial support for Cortex-M33
2020-10-08 22:55:06 +02:00
9006d7ad43
info-objsize: Restore info-objsize target
This restores the functionality of the info-objsize target.
2020-10-07 14:44:56 +02:00
Sören Tempel
125e4b54c1 fe310: Support the LLVM toolchain (i.e. compilation with clang)
This requires -nostartfiles to be only passed to the linker, not the
compiler, as it is a linker flag and passing it to the compiler causes a
clang warning to be emitted.

Additionally, clang does not seem to support `-mcmodel=medlow` and
`-msmall-data-limit=8` but these options do not seem strictly necessary
to me anyhow thus they are deactivated conditionally when using clang.
2020-10-07 07:37:52 +00:00
Sören Tempel
ad13725047 makefile: Fix usage error with busybox grep
Busybox grep does not support long options. In fact, the utilized long
options are not mandated by POSIX.1-2008. Using the short options allows
building RIOT on Alpine Linux which utilizes Busybox instead of GNU
coreutils by default.
2020-10-06 17:16:26 +00:00
Bas Stottelaar
0f8cecb50b cpu/cortexm_common: add support for Cortex-M33 2020-10-06 17:11:26 +02:00
0941867bf9
Merge pull request #15022 from fjmolinas/pr_default_modules_info_global
makefiles/info-global.inc.mk: add initial default modules inclusion
2020-10-01 14:07:06 +02:00
benpicco
6cb8da7813
Merge pull request #14950 from jia200x/pr/ieee802154/submac
ieee802154_submac: add initial support for common MAC sub layer
2020-10-01 11:31:52 +02:00
benpicco
f2a1043654
Merge pull request #13565 from jia200x/pr/netdev_submodule
netdev: make netdev_% variants a submodule
2020-09-30 22:55:45 +02:00
Jose Alamos
4bb77b0b2f netdev/ieee802154_submac: add compatibility layer 2020-09-30 17:25:31 +02:00
Jose Alamos
e100a67099 ieee802154_submac: add initial implementation 2020-09-30 17:25:31 +02:00
7742750abd
suit: Introduce generic storage backend
This commit introduces a common storage backend for SUIT manifest
payloads. Different backends can be compiled into a single firmware.
Degending on the component name in the SUIT manifest, a storage backend
is selected by the parser.
2020-09-30 13:32:38 +02:00
Jose Alamos
413ffbb035 netdev: make netdev_% variants a submodule 2020-09-29 12:16:34 +02:00
17b04972f9
makefiles/features_modules.inc.mk: convert bootloader_stm32 feature as module 2020-09-28 21:06:37 +02:00
Juergen Fitschen
62fb4a2ade
Merge pull request #13661 from jue89/feature/evtimer_on_ztimer
sys/evtimer: introduce ZTIMER_MSEC as timer backend
2020-09-27 14:07:04 +02:00
chrysn
2eeda9a1ca makefiles: Pass explicit float mode to clang
The assumption that clang defaults to hard-float on ARM architectures
does not hold on Debian systems where [set-correct-float-abi].
As setting the flags that are implied on most systems does no harm, the
flags for the selected hard- or soft float behavior are now set
independently of the toolchain.

[set-correct-float-abi]: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/10/debian/patches/26-set-correct-float-abi.diff

Closes: https://github.com/RIOT-OS/RIOT/issues/15026
2020-09-25 11:02:29 +02:00
Francisco
ad9e35c445
Merge pull request #14436 from bergzand/pr/suit/ietf_v7
SUIT: Upgrade to draft-ietf-suit-manifest-09
2020-09-24 21:57:24 +02:00
401f8eb9bd
dist/tools/suit: Update suit tooling to IETF-v7 compliance 2020-09-24 21:15:13 +02:00
Juergen Fitschen
c3a20f8fb8 sys/evtimer: introduce ZTIMER_MSEC as timer backend 2020-09-24 11:30:26 +02:00
Francisco
07f0745015
Merge pull request #15063 from leandrolanzieri/pr/kconfig/fix_missing_out_config
makefiles/kconfig: fix dependencies for out.config target
2020-09-24 10:57:44 +02:00
Francisco
2cfb4f49cb
Merge pull request #14799 from maribu/waspmote-pro
boards/waspmote: Fix timer config
2020-09-24 09:33:17 +02:00
Marian Buschsieweke
d5c0e30a11
boards/waspmote: Fix timer config
- Set XTIMER_HZ to something that is actually possible to generate with one
  of the available clock dividers from the core frequency
- Use xtimer_on_ztimer if xtimer is used and not ztimer_xtimer_compat is used
    - This is needed because xtimer is simply not compatible with any of the
      possible clock frequencies of this board
2020-09-23 20:12:06 +02:00
Leandro Lanzieri
4fbbb94bff
makefiles/kconfig: fix dependencies for out.config target
Kconfig.dep depends on FORCE, so it is always generated when compiling
with Kconfig under normal conditions. Whan TEST_KCONFIG=1 is set, this
file is no longer a dependency for out.config. So when cleaning the
'bin' directory, out.config has no direct dependencies that force its
rebuilding (the generated directory is order only). This causes the file
not to be produced when calling `TEST_KCONFIG=1 make clean all`.

This PR changes the dependency on the 'generated' directory to a direct
dependency when `CLEAN` is set and leaves it as order-only when not.
This allows to generate out.config only when needed by not depending on
FORCE.
2020-09-23 09:49:44 +02:00
Marian Buschsieweke
d9e495fe83
build system: use riscv-none-elf as triplet
Use riscv-none-elf instead of legacy riscv-none-embed as target triplet for
RISC-V development. However, if ricsv-none-elf is not present, try
riscv64-unknown-elf and riscv-none-embed instead. If the legacy riscv-none-embed
is used, a warning is printed.
2020-09-15 11:18:33 +02:00
Francisco Molina
c6b837b99e
makefiles/info-global.inc.mk: add initial default modules inclusion 2020-09-14 19:01:33 +02:00
Cenk Gündoğan
0d0bc91553
Merge pull request #14754 from leandrolanzieri/pr/no_archives
build system: link object files
2020-09-10 09:36:29 +02:00
Francisco
f08e65cd0c
Merge pull request #14981 from maribu/target-arch
build system: Overwrite TARGET_ARCH per arch
2020-09-09 09:10:52 +02:00
Francisco
cb6b65e7ff
Merge pull request #14886 from miri64/gnrc/fix/circ-deps
gnrc: remove circular module dependencies
2020-09-09 09:06:28 +02:00
Marian Buschsieweke
7c1949341e
build system: Overwrite TARGET_ARCH per arch
Add `TARGET_ARCH_<ARCH>` for each architecture (e.g. `TARGET_ARCH_CORTEX` for
Cortex M) to allow users to overwrite the target triple for a specific arch
from ~/.profile or ~/.bashrc (or the like) without overwriting it for all others
as well.
2020-09-08 22:28:41 +02:00
Martine S. Lenders
07bcae2613
gnrc_sixlowpan_router: remove pseudo-module
It has no real purpose other than pulling in `gnrc_ipv6_router` as a
dependency, which is already done in other places (or by pulling in its
dependencies).
2020-09-08 12:53:28 +02:00
Leandro Lanzieri
e80bb4b3dc
makefile: add a check for real modules 2020-09-04 15:01:16 +02:00
Leandro Lanzieri
29b81e4b40
makefiles/bindist: copy object files and use .bin to compare 2020-09-04 15:01:15 +02:00
Leandro Lanzieri
81cb769cad
makefiles: avoid building archives when compiling 2020-09-04 15:01:10 +02:00
benpicco
7dfbfd4f50
Merge pull request #14948 from benpicco/feat/puf_sram
features_modules: include puf_sram if used
2020-09-04 14:41:40 +02:00
Benjamin Valentin
3dbe468c14 features_modules: include puf_sram if used 2020-09-04 13:48:59 +02:00
Jose Alamos
8b8218276e makefiles/pseudomodules: add ieee802154_radio_hal pseudomodule 2020-09-03 18:20:49 +02:00
Cenk Gündoğan
538155c344
Merge pull request #14904 from leandrolanzieri/pr/kconfig/change_prefix_convention
treewide: modify Kconfig symbol prefixes
2020-09-01 15:57:06 +02:00
benpicco
61334d55d6
Merge pull request #14840 from benpicco/picolibc_unbuffered
picolibc: only enable stdout buffering for CDC ACM, ethos, semihosting & SLIP
2020-09-01 15:15:01 +02:00
Benjamin Valentin
c94860d8fc makefiles/stdio: enable stdout buffering for CDC ACM, ethos, semihosting
CDC ACM, ethos, Semihosting and SLIP all benefit from sending data out
in larger chunks and will benefit from stdout buffering.

`stdio_rtt` does have an internal TX buffer, so we don't need to do any
buffering on top.

With plain UART there was a slight advantage *without* buffering when
testing with `tests/periph_uart_nonblocking` (with the non-blocking feature
disabled).

Since the removal of the buffering saves us some RAM and ROM, disable it by
default there.

This will be different with DMA enabled UARTs.
2020-09-01 12:05:48 +02:00
Francisco
c11a06224c
Merge pull request #14856 from jhaand/master
Updated stlink makefile to use OpenOCD's single configuration file.
2020-09-01 09:03:53 +02:00
Jannes
f3e934988c drivers/stm32_eth: add 'NETDEV_EVENT_LINK_UP' event 2020-08-31 20:50:47 +02:00
Jelle Haandrikman
f18d3f5663
dist/tools/openocd/stlink: handle new and old Openocd version 2020-08-31 17:34:25 +02:00
Leandro Lanzieri
d25fc243c4
treewide: change prefix for generated Kconfig symbols.
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:

   KCONFIG_MODULE_ => KCONFIG_USEMODULE_
   KCONFIG_PKG_ => KCONFIG_USEPKG_
   MODULE_ => USEMODULE_
   PKG_ => USEPKG_
2020-08-31 09:37:09 +02:00
Benjamin Valentin
28d40eae6f picolibc: enable multiple heaps
We can simply re-use the same code from newlib.
2020-08-24 20:45:05 +02:00
Benjamin Valentin
ea27064d21 picolibc: make stdout buffering optional 2020-08-24 18:49:36 +02:00
Keith Packard
8c67544e7d picolibc: USE_MODULE += printf_float for float printf/scanf code [v2]
This makes RIOT use the integer-only printf/scanf code by default and
includes a new make parameter to select the full floating point
version. This saves about 6kB of text space when building hello-world
for the microbit board.

Signed-off-by: Keith Packard <keithp@keithp.com>

----

v2:
	Use USEMODULE=printf_float instead of separate parameter
2020-08-24 08:26:16 -07:00
c5079270c9 docker: Add picolibc build flag 2020-08-24 08:26:16 -07:00
79d733a1af picolibc: glue sbrk to heap start/end [v2]
---
v2:
	Squash fixes in
2020-08-24 08:26:16 -07:00
ff3bee24b9 picolibc: Provide integration into the build system [v3]
Support for picolibc as alternative libc implementation is added with
this commit. For now only cortex-m CPU's are supported.

Enable via PICOLIBC=1

---
v2:
	squash fixes in

v3:
	Remove picolibc integer printf/scanf stuff from sys/Makefile.include,
	it gets set in makefiles/libc/picolibc.mk

fixup for dependency
2020-08-23 13:12:57 -07:00
Simon Brummer
5d67daebb2 evtimer: add mbox support 2020-08-21 15:19:22 +02:00
99365873fd
Merge pull request #14355 from kaspar030/develhelp_stack_guard
cpu/cortexm_common: use mpu stack guard if DEVELHELP is enabled
2020-08-18 14:32:22 +02:00
b93b972074
Merge pull request #14753 from fjmolinas/pr_info_boards_supported_conflicts
makefiles/info-global.inc.mk: include FEATURES_CONFLICTS
2020-08-18 10:37:20 +02:00
43d6c4147a features_modules: cortexm_mpu -> mpu_stack_guard 2020-08-18 10:26:21 +02:00
Francisco
f4a2148642
Merge pull request #14776 from leandrolanzieri/pr/makefiles/openocd/use_jtag_iotlab
makefiles/openocd-adapters/iotlab: default to JTAG transport
2020-08-18 09:32:21 +02:00
Benjamin Valentin
7ceb3f0a68 netdev: add netdev_register() to keep track if netdev IDs
It is desireable to have a way to identify network devices.
This should be independent from the type of netdev, so a common identifier is needed.

Base this on the driver ID and the index in the configuration struct.
This way we achive unique IDs that stay consistent for any firmware flashed on a board.
2020-08-17 22:50:18 +02:00
benpicco
22d3bf7c51
Merge pull request #14594 from maribu/stm32-eth-cleanup
cpu/stm32: Clean up / fix periph_eth
2020-08-17 21:16:27 +02:00
Marian Buschsieweke
8d8af31e39
driver/stm32_eth: Integrate into periph_eth
The stm32_eth driver was build on top of the internal API periph_eth, which
was unused anywhere. (Additionally, with two obscure exceptions, no functions
where declared in headers, making them pretty hard to use anyway.)

The separation of the driver into two layers incurs overhead, but does not
result in cleaner structure or reuse of code. Thus, this artificial separation
was dropped.
2020-08-17 20:29:33 +02:00
Leandro Lanzieri
3c7174cfc5
makefiles/openocd-adapters/iotlab: default to JTAG transport 2020-08-17 17:47:24 +02:00
Cenk Gündoğan
f64511ddb5
Merge pull request #14626 from leandrolanzieri/pr/kconfig/test_modules_kconfig
kconfig: introduce migration test in CI
2020-08-13 14:11:00 +02:00
Francisco Molina
8ab8d04e9b
makefiles/info-global.inc.mk: include FEATURES_CONFLICTS
If there are FEATURES_CONFLICTING consider the application not
supported for the BOARD.
2020-08-13 09:29:34 +02:00
fabian18
1fca10c486 drivers/at86rf2xx: SPI AES security module 2020-08-12 17:18:00 +02:00
Leandro Lanzieri
180ee6efc9
makefiles: introduce KCONFIG_ADD_CONFIG variable
This holds a list of .config files to be merged. For more details see
kconfig.mk.
2020-08-12 12:22:42 +02:00
Leandro Lanzieri
01454188e8
Makefile.include: introduce TEST_KCONFIG switch
This switch allows to test the module dependency modelling during the
Kconfig migration. When set, it will use the symbols prefixed with
CONFIG_MOD_ defined by Kconfig as the list of modules to compile.
2020-08-12 12:22:41 +02:00
Francisco
4ba791fcb9
Merge pull request #14724 from fjmolinas/pr_cc2538_makefile.include
boards: use common Makefile.include for cc2538 boards
2020-08-11 11:29:35 +02:00
Francisco Molina
75dbad847c
makefiles/tools/cc2538-bsl.inc.mk: specify BAUD for reset 2020-08-11 09:57:09 +02:00
Cenk Gündoğan
132b7328e3
make: kconfig: use fixdep to enable incremental compilation 2020-08-11 09:47:32 +02:00
Cenk Gündoğan
f49eb4305c
dist: tools: import fixdep from linux 2020-08-10 12:17:59 +02:00
Leandro Lanzieri
4803793418
makefiles/kconfig: refactor targets and remove merged.config
Instead of the merged.config file, menuconfig operates directly on
out.config, which also is the destination of the merge of multiple
configuration sources.

Also, this introduces the autoconf.h.d file to track the Kconfig
dependencies and re-trigger the build of the header when any of the
Kconfig files change.
2020-08-07 18:17:38 +02:00
Leandro Lanzieri
9c10580ba4
dist/tools/kconfiglib: introduce own genconfig.py tool
This tool unifies multiple functionalities needed by the Kconfig
integration into one tool.
2020-08-07 18:17:37 +02:00
Marian Buschsieweke
90f5d21092
Merge pull request #12457 from kaspar030/update_msp430
cpu/msp430: update to modern gcc/ELF/newlib toolchain
2020-08-05 17:46:07 +02:00
Martine Lenders
b9a4a5ead7
Merge pull request #14664 from miri64/make/feat/termlog
Makefile.include: add capability to log `make term` to file
2020-08-05 17:45:07 +02:00
08c50947cc cpu/msp430_common: move newlib default module decl to Makefile.dep 2020-08-05 14:32:58 +02:00
a0aeeb5ff4 cpu/msp430: update to modern gcc & newlib 2020-08-05 14:29:00 +02:00
Benjamin Valentin
871f51dca6 openocd-adapters/raspi.inc.mk-fix: fix typo
Somehow a space has sneaked in here, breaking the variable expansion.
2020-08-04 19:04:39 +02:00
Martine S. Lenders
6532459010
Makefile.include: add capability to log make term to file 2020-08-04 14:42:50 +02:00
benpicco
52bf3096cf
Merge pull request #14480 from benpicco/openocd-adapters_swd
openocd-adapters: select transport based on adapter
2020-08-04 11:37:32 +02:00
Cenk Gündoğan
4517e27837
Merge pull request #14684 from leandrolanzieri/pr/kconfig/optimize_integration
makefiles/kconfig.mk: remove duplicate calls to merge_config and cleanups
2020-08-04 11:21:06 +02:00
Benjamin Valentin
0d59e7dc6e makefiles/tools/openocd-adapters: default to SWD, but make it configurable 2020-08-04 10:36:39 +02:00
benpicco
77be30dee6
Merge pull request #14613 from benpicco/openocd-buspirate
makefiles/buspirate: add Bus Pirate as Debug Adapter
2020-08-03 15:34:49 +02:00
Benjamin Valentin
1a04425d7b makefiles/buspirate: add Bus Pirate as Debug Adapter
Flash with PROGRAMMER=openocd DEBUG_ADAPTER=buspirate
2020-08-03 14:10:42 +02:00
Leandro Lanzieri
cf779a7241
makefiles/kconfig.mk: Remove duplicate calls to merge_config 2020-08-03 12:26:05 +02:00
Leandro Lanzieri
6a5c7744cb
makefiles/kconfig.mk: include KCONFIG_OUT_CONFIG always
This allows to include KCONFIG_OUT_CONFIG file in Makefile
unconditionally, which means that `make clean all` is allowed when using
Kconfig.

For this, the recipe for `clean` is guarded with `MAKE_RESTARTS` so
the BINDIR folder is not removed once Make restarts scanning the files.
2020-07-31 13:55:33 +02:00
benpicco
7e4b3d0f40
Merge pull request #14653 from Nishchay-sopho/drivers/sdp3x_#14603
driver/sdp3x: Resolved irq pin code used even if irq pin not connected
2020-07-31 01:22:02 +02:00
nagrawal
7cc4f2b79b driver/sdp3x: Resolved irq pin code used even if irq pin not connected
irq_pin check when multiple sensors connected with or without irq pin
2020-07-30 16:35:35 +02:00
Leandro Lanzieri
788ae39e73
Merge pull request #14645 from cgundogan/pr/kconfig/sync-deps
kconfig: make sync-deps flag accessible
2020-07-29 16:55:32 +02:00
Cenk Gündoğan
53eb1efe1b kconfig: make sync-deps flag accessible 2020-07-29 15:33:07 +02:00
Martine Lenders
0e3aa2fff5
Merge pull request #14632 from benpicco/netif_single
gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module
2020-07-28 17:56:51 +02:00
Benjamin Valentin
0c06694f72 gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module 2020-07-28 13:59:20 +02:00
Marian Buschsieweke
057aae1d04
makefiles/vars.inc.mk: Export FEATURES_USED
This is needed so that features used can be reliably be accessed.
2020-07-23 20:18:33 +02:00
Benjamin Valentin
96c67b0fa5 drivers/soft_uart: add software based UART implementation 2020-07-14 22:51:59 +02:00
Martine S. Lenders
4f243c52ea
pkg/emb6: remove deprecated package
Deprecation was noted in 7cf1bab2e6
2020-07-11 02:18:17 +02:00
benpicco
0bf3a2e279
Merge pull request #14476 from ML-PA-Consulting-GmbH/fix/20200706__sdcard_spi_auto_init
drivers/sdcard_spi: remove auto-init
2020-07-10 15:53:17 +02:00
c8b0f972df
makefiles/tools: add common bossa makefile 2020-07-10 11:56:11 +02:00
Daniel Lockau
0d3dc120ef drivers/sdcard_spi: remove auto-init 2020-07-09 08:50:53 +02:00
MrKevinWeiss
04630d20ba sys/shell: Add optional hooks for shell commands
Introduce optional user shell_post_readline_hook, shell_pre_command_hook, shell_post_command_hook.
Enable with USEMODULE=shell_hooks.
Calls user implemented *_hook functions if defined.
If implementation does not exist, nothing happens.

The intent is to make profiling of the shell command timings easier.

Test provided in tests/shell with USEMODULE=shell_hooks.
2020-07-07 17:00:38 +02:00
Leandro Lanzieri
f85f2e7b62
Merge pull request #14433 from cgundogan/pr/make_cleanups
make: use $(MAKE) instead of direct `make` call
2020-07-03 13:42:04 +02:00
Cenk Gündoğan
7aa499d5f1 make: use $(MAKE) instead of direct make call 2020-07-03 12:03:06 +02:00
c7189cfe99
makefiles/sam0: only fail on missing device with explicit targets 2020-07-03 10:24:40 +02:00
Francisco
41888674a4
Merge pull request #14385 from aabadie/pr/make/appdeps_export
boards/mips: remove use of APPDEPS, un-export globally APPDEPS
2020-07-01 09:13:35 +02:00
Francisco
1004fb3f83
Merge pull request #13382 from chrysn-pull-requests/usb-check-unification
usb: Warn on test-ID usage in a unified location
2020-06-30 13:30:14 +02:00
Leandro Lanzieri
955efd85ff
drivers/at: Add at_urc_isr module to process URCs upon arrival 2020-06-30 11:41:13 +02:00
chrysn
85d7042732 usb Kconfig: Provide explicit defaults
See-Also: https://github.com/RIOT-OS/RIOT/pull/13382#discussion_r380506106
2020-06-30 10:51:42 +02:00
chrysn
a181c0dbcd usb: Use separate Makefile for configuration and checks 2020-06-30 10:51:40 +02:00
Gunar Schorcht
028c0d4b3c
Merge pull request #14353 from fjmolinas/pr_reorder_makefiles_cleanup
Makefile: use normal conditionals
2020-06-30 09:59:02 +02:00
Francisco Molina
e98341da93
Makefile: use normal conditionals 2020-06-29 22:40:29 +02:00
benpicco
f372beb405
Merge pull request #12363 from maribu/dfplayer
drivers/dfplayer: New driver for the DFPlayer Mini MP3 player
2020-06-28 23:24:36 +02:00
Marian Buschsieweke
d2f3cafa45
sys/auto_init: Added auto-init for multimedia
Added auto-init hook for multimedia device drivers
2020-06-28 21:06:14 +02:00
df51ff7617
makefiles/vars.inc.mk: don't export APPDEPS globally 2020-06-28 12:14:31 +02:00
Gunar Schorcht
660a852935 drivers: add netdev driver for ATWINC15x0 WiFi module 2020-06-26 12:33:38 +02:00
e3f6c0f340 core: make idle thread optional 2020-06-25 16:02:28 +02:00
Francisco
a665fcc542
Merge pull request #14123 from jue89/fix/ztimer_pseudomodules
ztimer: relocate PSEUDOMODULES definitions
2020-06-24 22:56:07 +02:00
Benjamin Valentin
a653667172 makefiles/boards/sam0.inc.mk: dap: use OpenOCD for debugging
ebdg can only be used for flashing, we still have to use OpenOCD for
debugging.

fixes #14328
2020-06-24 16:06:12 +02:00
499cd934a2
makefiles/vars.inc.mk: export NM and RANLIB variables 2020-06-24 11:01:01 +02:00
080d5caa17
makefiles/toolchain: don't export all variables
There are already exported globally in vars.inc.mk
2020-06-24 11:00:54 +02:00
df58141e15
Makefile.include: don't define GITCACHE and GIT_CACHE_DIR globally 2020-06-23 14:54:25 +02:00
ebc147d058 drivers/mhz19: initial support 2020-06-17 08:41:41 +02:00
Leandro Lanzieri
649017f0b2
cpu/cortexm_common: Rename arch_cortexm feature to cpu_core_cortexm 2020-06-16 12:05:41 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
Francisco
b041221905
Merge pull request #13825 from kaspar030/cortexm_free_svc
cpu/cortexm: "free" SVC
2020-06-16 10:31:09 +02:00
Benjamin Valentin
2325dba871 makefiles/bossa: move USB reset logic to common file 2020-06-11 11:56:35 +02:00
24facae6fb makefiles/features_modules: add cortexm_svc 2020-06-10 23:12:58 +02:00
dbe7331d10 cpu/cortexm: "free" SVC 2020-06-10 23:12:58 +02:00
benpicco
75d82cc9b8
Merge pull request #14209 from btcven/2020_06_04-common-cfg
boards/cc26x2_cc13x2-based: move config to common directory
2020-06-10 15:32:11 +02:00
Francisco
2afcef2e40
Merge pull request #13006 from benpicco/make-fix-nixos
makefiles/color: fix build on NixOS
2020-06-09 18:13:29 +02:00
1ed0d659ed
Merge pull request #13320 from bergzand/pr/stdio/semihosting
stdio_semihosting: Initial include of Semihosting-based STDIO
2020-06-09 16:52:44 +02:00
99ca736b53
stdio_semihosting: Initial include of Semihosting-based STDIO 2020-06-09 10:15:49 +02:00
aff18b9599
tools/openocd: add OPENOCD_DBG_EXTRA_CMD 2020-06-09 10:14:57 +02:00
b82c1e8707
makefiles: add common makefile for auto_init modules 2020-06-08 10:27:35 +02:00
Jean Pierre Dudey
c0f6b3d58a
tools/uniflash.inc.mk: allow changing config dir
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-04 17:12:19 -05:00
Marian Buschsieweke
98824df68b
makefiles/boards/sam0.inc.mk: Allow other programmers
Modified to allow including sam0.inc.mk even if none of the programmers handled
their is used. This is useful for boards that by default are programmed via a
bootloader. Still including sam0.inc.mk allows users to specify the `PROGRAMMER`
to use jlink, openocd, or edgb instead of the bootloader.
2020-06-04 21:28:17 +02:00
Leandro Lanzieri
3716457f94
makefiles/dependencies_debug: Add target to print Kconfig features
This adds a target to print all features provided computed from Kconfig
files for a given board.
2020-06-02 17:42:16 +02:00
4cd1d54715
makefiles/stlink: fix path to default stm32 openocd config files 2020-05-27 15:44:28 +02:00
bd919cf2f1
Merge pull request #14129 from fjmolinas/pr_fix_info-boards-supported
makefiles/info-global.inc.mk: fix info-boards-supported
2020-05-25 21:50:12 +02:00
Leandro Lanzieri
8bb51e9423
makefiles/info-global: Remove dependency resolution cache
This removes a preliminar dependency resolution that is performed
without including features, to skip a full dependency resolution when
boards can be proven to be unsupported on an earlier stage.

This was introducing issues on some boards since the blacklisting of
some features depends on board information which is not available at the
time of performing this resolution.
2020-05-25 11:07:15 +02:00
Francisco Molina
8eee779c50
makefiles/info-global.inc.mk: add info-boards-features-blacklisted 2020-05-25 09:48:36 +02:00
Francisco Molina
1c01e46956
makefiles/info-global.inc.mk: fix info-boards-supported
When using eval the function board_unsatisfied_features is evaluated
twice, in the first evaluation this will lead to the previous value
for `BOARDS` to be expanded, so escape all occurrences.
2020-05-25 09:45:06 +02:00
Juergen Fitschen
5a54c29f09 xtimer_on_ztimer: move PSEUDOMODULES definition to pseudomodules.inc.mk 2020-05-23 16:37:45 +02:00
012a0b02a8
makefiles/stlink: fix common config filename 2020-05-20 13:39:11 +02:00
Martine Lenders
59da69ef6c
Merge pull request #14022 from benpicco/gnrc_netif_bus
gnrc/netif: add IPv6 event bus
2020-05-20 12:36:07 +02:00
Benjamin Valentin
85100ad61a gnrc_netif: add message bus to interface
Allow threads to listen for events on an interface.
2020-05-20 10:44:11 +02:00
Francisco
99e7b81d10
Merge pull request #8573 from aabadie/pr/generator
makefiles: add code generator targets
2020-05-20 09:44:14 +02:00
Leandro Lanzieri
16113afb1e
Merge pull request #14026 from miri64/gnrc_netif/fix/deps
gnrc_netif: use gnrc_netif-submodules to pull in upper-layer struct members
2020-05-19 16:36:18 +02:00
Martine S. Lenders
5e8f8ddc4a
gnrc_netif: introduce gnrc_netif_mac pseudo-module for gnrc_mac members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
a48629b395
gnrc_netif: introduce gnrc_netif_ipv6 pseudo-module for IPv6 members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
9801a439fc
gnrc_netif: introduce gnrc_netif_6lo pseudo-module for 6LoWPAN members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
a534caebb4
makefiles: add code generator targets
These targets will bootstrap code for an example application, a test application or a new board support. The 'riotgen' tool is used behind
2020-05-17 17:52:43 +02:00
benpicco
e45777d077
Merge pull request #13809 from Vinggui/master
Added a new flashing parameter for generic cheap St-link and bluepill(-128kib) boards.
2020-05-12 11:48:43 +02:00
Leandro Lanzieri
34689a290c
Merge pull request #13994 from miri64/gnrc_nettype/enh/use-pseudomodules
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
2020-05-05 20:59:44 +02:00
Martine S. Lenders
1c251beb03
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
Instead of making a NETTYPE definition dependent on an implementation
module, this change makes it dependent on a pseudo-module for each
specific NETTYPE and makes the respective implementation modules
dependent on it.

This has two advantages:

- one does not need include the whole implementation module to
  subscribe to a NETTYPE for testing or to provide an alternative
  implementation
- A lot of circular dependencies related to GNRC could be untangled.
  E.g. the only reason `gnrc_icmpv6` needs the `gnrc_ipv6` is because it
  uses `GNRC_NETTYPE_IPV6` to search for the IPv6 header in an ICMPv6
  when demultiplexing an ICMPv6 header.

This change does not resolve these dependencies or include usages where
needed. The only dependency change is the addition of the
pseudo-modules to the implementation modules.
2020-05-05 19:16:06 +02:00
36a80a14be
Merge pull request #13678 from fjmolinas/pr_docker_run_make
makefiles/docker.inc.mk: add and use generic docker_run_make
2020-05-05 16:46:10 +02:00
Francisco Molina
7c528c7ecd
makefiles/docker.inc.mk: add and use generic docker_run_make
DOCKER_MAKE_ARGS only hold additional make args like '-j'
2020-05-05 14:41:13 +02:00
Vinicius G. Guimaraes
f8776a989f boards/blxxxpill: add support for stm32duino bootloader and for generic St-Link V2. 2020-05-04 19:36:15 -07:00
Hauke Petersen
c333b7e896 mk/boards/stm32: add JLink support 2020-05-04 16:42:25 +02:00
Francisco
919249f361
Merge pull request #13862 from maribu/extra_boards
Makefile*: Allow multiple external board dirs
2020-04-29 20:12:06 +02:00
Marian Buschsieweke
ba7815163c
Makefile*: Allow multiple external board dirs
- Add the new EXTERNAL_BOARD_DIRS variable that can contain a space separated
  list of folders containing external boards
- Introduce $(BOARDDIR) as shortcut for $(BOARDSDIR)/$(BOARD)
- Map the existing BOARDSDIR to the new approach
    - If BOARDSDIR is provided by the user, it will be added to
      EXTERNAL_BOARD_DIRS for backward compatibility. (And a warning is issued
      to encourage users migrating to EXTRA_BOARDS.)
    - BOARDSDIR is updated after the board is found to "$(BOARDDIR)/..".
        - Useful for `include $(BOARDSDIR)/common/external_common/Makefile.dep`
        - Provides backward compatibility
2020-04-29 18:32:39 +02:00
Francisco
80b300289d
Merge pull request #13912 from benpicco/at86rf215-mr-qpsk
drivers/at86rf215: implement MR-O-QPSK
2020-04-29 12:44:00 +02:00
Benjamin Valentin
fac35644d0 ieee802154: add definitions & config options for MR-O-QPSK
Define options for IEEE 802.15.4g MR-O-QPSK as well as shell commands
to set them via ifconfig.
2020-04-29 10:41:37 +02:00
ab8ad3f990
makefiles/vars: document EEPROM_FILE variable 2020-04-29 08:56:34 +02:00
Martine Lenders
633d0f486d
Merge pull request #13669 from bergzand/pr/netif/async_events
gnrc_netif: Add support for internal event loop
2020-04-28 13:03:39 +02:00
Leandro Lanzieri
ed38bd86d4
makefiles/kconfiglib: Use RIOT specific menuconfig script 2020-04-27 12:29:40 +02:00
Leandro Lanzieri
9463f85d39
makefiles/serial: Add variable for Miniterm flags 2020-04-21 17:56:16 +02:00
Leandro Lanzieri
d8fa69d1e2
Merge pull request #13897 from akshaim/Kconfig_cc110x
drivers/cc110x : Expose Configurations to Kconfig
2020-04-20 13:32:23 +02:00
Martine Lenders
55a7010a0a
Merge pull request #13157 from nmeum/pr/fuzzing_tcp_only
Add AFL-based fuzzing setup for network modules
2020-04-18 10:54:14 +02:00
Akshai M
01a8c64e39 drivers/cc110x : Add CONFIG_
Add Add CONFIG_ Prefix for CC110X_DEFAULT_CHANNEL
2020-04-17 23:27:01 +05:30
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