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

991 Commits

Author SHA1 Message Date
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
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