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

1039 Commits

Author SHA1 Message Date
Marian Buschsieweke
43781c3fba
build_system: don't optionally use conflicting features
If adding a provided but optional feature would result in a feature conflict,
don't use it.
2021-02-22 12:06:27 +01:00
Benjamin Valentin
95f814b5da CODING_CONVENTIONS.md: default to C11
The standard is 9 years old now, it is well supported in all mayor compilers.
In fact, features of the 'new' standard are already used in RIOT (std_atomic).

Let's make it the default and adapt the Makefiles accordingly.
2021-02-14 14:28:13 +01:00
54dbc555c0
Merge pull request #15176 from nmeum/pr/hifive1-llvm
fe310: Support compilation with clang
2021-02-13 18:53:54 +01:00
Francisco
579de7c35e
Merge pull request #15973 from maribu/feature-resolution-test
tests/feature_resolution: add build system unit tests
2021-02-13 09:53:48 +01:00
Marian Buschsieweke
6dcd3bb8ff
build system: support wrong target triples with LLVM
clang/LLVM is a bit more finicky with what target triples it accepts compared
to GCC. However, the GCC target triple is needed to properly locate the C
libraries. In case a locally installed GCC toolchain uses a technically not
fully correct target triple, it might be impossible to build with LLVM.

The solution here is to allow specifying a TARGET_ARCH_LLVM target triple
(which defaults to TARGET_ARCH), which is passed to clang. For locating the
C lib, still TARGET_ARCH is used.
2021-02-11 17:19:15 +01:00
Marian Buschsieweke
ed2ae85985
tests/feature_resolution: add build system unit tests
This test "application" contains a set of unit tests for the feature resolution
of RIOT's build system.
2021-02-10 21:05:38 +01:00
Marian Buschsieweke
4304600512
build system: fix using optional blacklisted features 2021-02-10 09:38:21 +01:00
Marian Buschsieweke
8fb30660b5
makefiles/features_check.inc.mk: fix declaration order
FEATURES_CONFLICTING previously was declared prior to the function it is
calling, resulting in empty output during the first dependency resolution
iteration. This fixes the order so that the conflicting features are detected
right from the first recursion.
2021-02-10 09:29:50 +01:00
Marian Buschsieweke
47035fbc2a
build system: fix feature resolution
Fix FEATURES_REQUIRED_ANY using more features than needed.
2021-02-09 21:24:03 +01:00
Marian Buschsieweke
633dc78fa2
Merge pull request #15957 from maribu/features_required_any_order_fix
build system: fix FEATURES_REQUIRED_ANY
2021-02-09 17:34:25 +01:00
f97267ba68 sys/net: add netstats_neighbor 2021-02-09 12:27:58 +01:00
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