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

1145 Commits

Author SHA1 Message Date
363412cd72
Merge pull request #15970 from aabadie/pr/make/redirect_flash_output
make: print spinning icon while flashing/resetting
2021-02-25 21:39:45 +01:00
af37f5b9bc
makefiles/boot: map PROGRAMMER_QUIET to riotboot/flash% 2021-02-25 12:59:40 +01:00
a47bf12719
makefiles/vars.inc.mk: document PROGRAMMER_QUIET variable 2021-02-25 12:59:39 +01:00
c181ba2fe4
Makefile.include: use programmer wrapper to silent output 2021-02-25 12:59:39 +01:00
56165d22a4
arch/riscv: use natural malign-data type 2021-02-25 12:50:52 +01:00
Martine Lenders
d4828ee7d9
Kconfig: make app.config and app.config.test mutually exclusive 2021-02-25 10:50:39 +01:00
benpicco
7c71fb2c78
Merge pull request #16012 from maribu/fix-feature-resolution-again
build system: don't optionally use conflicting features
2021-02-24 20:22:50 +01:00
Francisco
2e06957e3b
Merge pull request #15983 from aabadie/pr/make/supported_programmers
boards: make: introduce mechanism to define supported programmers
2021-02-24 16:47:19 +01:00
367a8e8574
Merge pull request #16083 from benpicco/cosy
make: add cosy as a build target
2021-02-24 13:59:11 +01:00
64f88214cd
makefiles/info.inc.mk: add target to print supported programmers 2021-02-24 13:29:40 +01:00
a1118c2e19
makefiles/vars.inc.mk: document PROGRAMMER* vars 2021-02-24 13:29:39 +01:00
b4fecf33ed
makefiles/stm32.inc.mk: allow to override supported programmers
The check on supported programmers is now also done in the main Makefile.include, so it's removed from there
2021-02-24 13:28:01 +01:00
32cbbe05f2
makefiles/sam0.inc.mk: define list of supported programmers 2021-02-24 13:28:01 +01:00
Benjamin Valentin
d95f21fd67 make: add cosy as a build target
`cosy` is a graphical memory usage analyzer.
It is a great tool, but pretty hidden.
Add it as a build target so it can be easiely summoned for any application and board.
2021-02-24 12:11:00 +01:00
Leandro Lanzieri
d5fc632ef4
Merge pull request #16053 from fjmolinas/pr_kconfig_external_modules
Kconfig: source EXTERNAL_MODULES configurations
2021-02-24 08:56:56 +01:00
Francisco
bf7b727c4a
Merge pull request #16049 from aabadie/pr/make/namespace_programmer_vars
make: namespace programmer specific variables
2021-02-24 08:17:47 +01:00
benpicco
34d7d23d88
Merge pull request #16008 from kfessel/p-make-picolib-failure
makefile/..picolibc: make missing picolibc fail louder
2021-02-23 22:00:41 +01:00
e515c11b9f
tools/pyocd: deprecate FLASH_TARGET_TYPE 2021-02-23 21:22:56 +01:00
1c2132a508
tools/openocd: deprecate DEBUG_ADAPTER and PRE_FLASH_CHECK_SCRIPT 2021-02-23 21:22:55 +01:00
3b9682788c
tools/uf2conv: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
571a113a50
tools/dfu-util: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
b1d0fe0b2b
tools/cc2538-bsl: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
3ed4734821
tools/bossa: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
7e21f25779
make: namespace openocd PRE_FLASH_CHECK_SCRIPT variable 2021-02-23 21:22:55 +01:00
3f02e3bd12
boards/openmote*: introduce CC2538_BSL_FLASHFFILE variable
This allows to remove the last cc2538-bsl programmer conditional at board level
2021-02-23 21:22:54 +01:00
6b6abed29b
make: namespace bossa optional flags variable 2021-02-23 21:22:53 +01:00
9b0a626f0a
make: namespace cc2538-bsl optional flags variable 2021-02-23 21:22:53 +01:00
7ac924f15c
make: namespace uf2conv specific flags variable 2021-02-23 21:22:53 +01:00
6d5a5b9528
make: namespace dfu-util optional flags var 2021-02-23 21:22:53 +01:00
74274d9e19
boards: remove openocd/pyocd config conditionals 2021-02-23 21:22:52 +01:00
6f47505997
make: namespace pyocd FLASH_TARGET_TYPE variable 2021-02-23 21:22:52 +01:00
603186f913
make: namespace openocd DEBUG_ADAPTER variable 2021-02-23 21:22:52 +01:00
Francisco Molina
582e3a3153
Kconfig: source EXTERNAL_MODULES configurations 2021-02-23 19:16:33 +01:00
Francisco
ddc5dea8ed
Merge pull request #16064 from leandrolanzieri/pr/makefiles/kconfig_include_config_only_when_running
makefiles/kconfig: include out.config only when running Kconfig
2021-02-23 18:58:52 +01:00
554a02ff2a
tools/esptool: cleanup preflash and qemu integration 2021-02-23 11:01:38 +01:00
Leandro Lanzieri
017fc36c7b
makefiles/kconfig: include out.config only when running Kconfig 2021-02-22 16:15:46 +01:00
24185611d1
Merge pull request #16059 from aabadie/pr/make/esptool_qemu_fix
make/esptool: fix FFLAGS inclusion order for qemu
2021-02-22 14:19:42 +01:00
benpicco
bd7782c23f
Merge pull request #16034 from maribu/test-boards-supported
makefiles/tests: add unit test for info-boards-supported
2021-02-22 14:15:50 +01:00
Marian Buschsieweke
47414f8e3b
makefiles/tests: add unit tests for fixed bug
Make sure that optional features that would cause conflicts don't end up being
used again.
2021-02-22 12:06:27 +01:00
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
430770886b
make/esptool: fix FFLAGS inclusion order for qemu 2021-02-22 10:35:38 +01:00
9153e39dab
makefiles/edbg: refactor to use wrapper script 2021-02-21 12:56:43 +01:00
Martine Lenders
b10ce9784a
Merge pull request #15989 from haukepetersen/opt_nrf52_dcdcento1
cpu/nrf5x: enhance enabling of internal DC/DC converter
2021-02-20 02:29:38 +01:00
Hauke Petersen
f69fcc162b make: introduce VDD_LC_FILTER_x feature 2021-02-19 17:19:28 +01:00
Francisco
4c6524d18d
Merge pull request #16047 from aabadie/pr/make/riotboot_programmer
makefiles/boot: use same PROGRAMMER to flash riotboot
2021-02-19 13:20:16 +01:00
15124e4769
Merge pull request #15002 from kaspar030/pr/xfa_v3
core: introduce crossfile arrays (xfa) v3
2021-02-18 14:49:22 +01:00
1a04e3c323
makefiles/boot: use same PROGRAMMER to flash riotboot 2021-02-18 14:34:17 +01:00
6711388afe cpu/mips_pic32_common: fix XFA support 2021-02-18 10:46:08 +01:00
f411fd4814 cpu/msp430_common: add XFA support 2021-02-18 10:46:08 +01:00
Marian Buschsieweke
8183bbb069
makefiles/tests: add unit test for info-boards-supported 2021-02-17 15:40:05 +01:00
Francisco Molina
8d63bc10c9
makefiles/info-global.inc.mk: reset features_required_any 2021-02-16 16:17:46 +01:00
Joakim Nohlgård
6adeec09e9 atmega_common: add arch specific XFA ldscript to properly place .roxfa 2021-02-16 14:55:26 +01:00
09df6a4549
Merge pull request #15971 from aabadie/pr/make/emulate_flash_bug
make/emulate: fix bugs when using flash target
2021-02-16 11:56:04 +01:00
Karl Fessel
f7a8e0840d Improve meassaging suggest workarounds 2021-02-15 14:40:03 +01:00
Karl Fessel
f3c0a4e602 makefile/..picolib: make missing picolib fail louder 2021-02-15 14:07:42 +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
ed8f14e5fb
makefiles/cc2538-bsl: define FFLAGS as overridable + cleanup 2021-02-09 18:53:16 +01:00
dbd8c7975e
makefiles/jlink: define FLASHER var as overridable 2021-02-09 18:48:00 +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