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
Benjamin Valentin
a250c2b5ad sys/shell: add sha1sum command 2022-05-17 11:30:52 +02:00
Benjamin Valentin
845450c663 sys/shell: add md5sum command 2022-05-17 11:30:52 +02:00
Francisco Molina
8b6ddca6e9 pkg/libcose: bump, set random function on init 2022-05-17 10:51:34 +02:00
benpicco
1e315c7308
Merge pull request #16748 from jia200x/pr/gnrc_netif/remove_netdev_event_isr_msg
gnrc_netif: use event loops by default to process ISR
2022-05-13 18:49:01 +02:00
Marian Buschsieweke
0fd544806a
Merge pull request #18098 from maribu/makefiles/arch/riscv.inc.mk
buildsystem: Improve RISC-V compilation handling with newer toolchain
2022-05-13 18:45:21 +02:00
Marian Buschsieweke
8c369a8d29
buildsystem: Improve RISC-V compilation handling with newer toolchain
Use -misa-spec=2.2 on newer toolchains, which allows passing the same
-march value to both the linker and the compiler even when binutils and
GCC support difference ISA specs.
2022-05-13 10:54:30 +02:00
8fc49b25f7 make: create cargo folders 2022-05-10 21:25:20 +02:00
Jose Alamos
38798cb877 gnrc_netif: use events instead of msg queue for ISR offload 2022-05-10 17:48:42 +02:00
6f52b90e58
cpu/cortexm_common: enable FPU on cortexm33 2022-05-05 21:16:10 +02:00
Karl Fessel
3680198619 ztimer: deprecate ztimer_now64 and ztimer_now_t 2022-05-04 15:57:57 +02:00
benpicco
b1715feb03
Merge pull request #17959 from benpicco/core-dummy
core: provide dummy implementation of thread and mutex for riotboot
2022-05-04 14:46:50 +02:00
fabian18
5db3ddd642
Merge pull request #17951 from maribu/makefiles/arch/riscv.inc.mk
build system: Fix compilation for RISC-V with newer GCC
2022-05-02 19:23:46 +02:00
Benjamin Valentin
8100203e95 core/thread, mutex: provide dummy implementation for riotboot
This is intended for the bootloader module where we don't enter thread
mode, so mutex must never attempt to switch context.

Instead use a simple busy wait that is enough to make the possible mutex
users (e.g. interrupt based SPI) in bootloader mode work.
2022-05-02 13:18:39 +02:00
Martine Lenders
b167d6931c
Merge pull request #17774 from fjmolinas/pr_nimble_auto_adv_extended
pkg/nimble/autoadv: add support for ext_adv
2022-04-27 16:44:46 +02:00
Francisco Molina
d474b8ff8a pkg/nimble/autoadv: add shell 2022-04-27 10:10:32 +02:00
Francisco Molina
1de00ba504 makefiles/pkg/nimble.adv.mk: add utility to assign adv instance 2022-04-27 08:22:58 +02:00
23b393e784
docker: don't export KCONFIG_ADD_CONFIG variable 2022-04-25 11:18:17 +02:00
Marian Buschsieweke
1fd4d41d76
driver/netdev_ieee802154: Make timestamp optional
Also remove duplicate struct member.
2022-04-22 14:33:56 +02:00
Francisco Molina
76ee54e69c makefiles: use memoized for EPOCH, also define for suit
APP_VER must also be defined for suit.inc.mk in case non-fw payloads
are used (e.g. no riotboot)

Use memoized so the shell call happens only if needed
2022-04-21 11:39:25 +02:00
Francisco Molina
ac5c316361 makefiles/suit.inc.mk: refactor file storage and naming
- move all generated manifests under $(BINDIR)/suit_files (this can be
overwritten.
- rename signed manifests so that they are of the form:
<somename>.<version>.bin, where <somename> is by default riot.suit.

This avoids cluterring BINDIR while as well having a naming scheme that
allows custom names for manifests addresssing different types of
payloads.
2022-04-21 11:39:25 +02:00
Francisco Molina
17c6717093 makefiles/boot/riotboot: refactor file storage and naming
- rename riotboot files so that they are of the form: slot<n>.<version>.bin
- move all generated files under $(BINDIR)/riotboot_files (this can be
  overwritten.
2022-04-21 11:39:25 +02:00
Francisco Molina
ce35647f6a makefiles: allow to override suit manifest payloads
This adds:

* SUIT_MANIFEST_BASENAME: allow for non slotfiles payloads to have
different names that slotfiles payloads.
* SUIT_MANIFEST_PAYLOADS: firmware payloads to be published with the
manifest.
* SUIT_MANIFEST_SLOTFILES: firmware payloads referenced by the manifest
in the form 'filename:[offset]:[comp_name]' as expected by
gen_manifest.py.

With this the same recipes suit/publish suit/notify can be used with
non slotfiles payloads.
2022-04-21 11:39:25 +02:00
Marian Buschsieweke
8eb3692b9d
makefiles/arch/riscv.inc.mk: improve error message
When no toolchain could be detected, provide a friendly message
instead.
2022-04-19 15:51:31 +02:00
Marian Buschsieweke
c89331f93b
build system: Detect more RISC-V target triples
Omitting the middle part of `riscv32-none-elf` is apparently legal and
done by Arch Linux.
2022-04-14 19:25:36 +02:00
Marian Buschsieweke
10f65f1631
build system: Fix compilation for RISC-V with newer GCC
A backward incompatible change in the RISC-V resulting in instructions
previously included by rv32imac to only be available with
rv32imac_zicsr. All RISC-V CPUs supported by RIOT are hence either
considered as rv32imac (from the old ISA spec point of view) or as
rv32imac_zicsr (from the new ISA spec point of view). This adds a
simple test if GCC understands rv32imac_zicsr and uses it then as march,
but uses rv32imac as march if not.
2022-04-14 16:52:48 +02:00
Keith Packard
b21e624280 cpu/arm7, arch/cortexm: Remove -fno-builtin flag
This flag disables all builtin functions provided by the compiler as
well as disabling all optimizations and error checking related to
standard C library functions. If you're using a C library which
conforms to the ANSI C standard, you want to leave these compiler
features enabled.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-04-02 16:58:09 -07:00
Francisco
4f3d7c9e1f
Merge pull request #17853 from fjmolinas/pr_z1_socat
makefiles: socat set tty mode 8N1
2022-03-29 10:29:47 +02:00
Francisco Molina
a3ff566708 makefiles/tools/serial.inc.mk: socat set no parity 2022-03-28 08:53:27 +02:00
Francisco Molina
0819660303 sys/syscalls: add libc_gettimeofday
Conditionally implement gettimeofday() if module is included, this
avoids including ztimer64 even when not needed
2022-03-24 11:36:49 +01:00
Leandro Lanzieri
202fb261fe
Merge pull request #17811 from fjmolinas/pr_xtimer_dep_rework_simple
sys/*timer: rework dependecies to ease backend switch, prefer ztimer_xtimer_compat over xtimer_on_ztimer
2022-03-18 08:17:24 +01:00
Francisco Molina
9260cfb4f0 sys/xtimer: prefer ztimer_xtimer_compat 2022-03-17 14:37:40 +01:00
Francisco Molina
0b1453667e sys/xtimer-ztimer: rework dependecies to ease backend switch
This adds a xtimer_no_ztimer_default that is currently always
selected in Makefile, but that can be switched off in Kconfig.
Removing its inclusion will allow switching the default xtimer
backend to ztimer, while allowing for an easy way back.
2022-03-17 14:37:40 +01:00
Francisco Molina
8b532e8fb6 makefiles/docker.ink.mk: do not always pass CFLAGS to docker 2022-03-17 10:10:45 +01:00
Cenk Gündoğan
fa19b62cdb
gcoap/forward_proxy: add submodule 2022-03-11 14:53:17 +01:00
benpicco
08c2cf6b27
Merge pull request #17769 from gschorcht/cpu/esp32/gcc_8_4_0_espressif_tools
cpu/esp32: update to Espressif's precompiled ESP32 vendor toolchain with gcc 8.4.0
2022-03-11 09:30:23 +01:00
e59a6786a6
Merge pull request #17652 from kaspar030/split_core_lib
core: split out library code
2022-03-10 20:17:07 +01:00
b29a658555
Merge pull request #17719 from fjmolinas/pr_sys_posix_convert
sys/sema: add sema_ztimer64 to implement old api, deprecate sema
2022-03-10 15:36:06 +01:00
Francisco Molina
2e2daae5d0 sys/sema: use sema_ztimer64 to implement old sema api
This PR removes the old xtimer based implementation for sema. Since
this implementation used 64bit timeout, backweard compatibility is
kept by having `sema_wait_timed` be implemented by `ztimer64_usec`
which is enabled by selecting `sema_deprecated`

With this 64bit `sema` api is now deprecated.
2022-03-10 14:19:44 +01:00
chrysn
cd1c64c8ff
Merge pull request #17737 from maribu/dist/tools/usb-serial
dist/tools/usb_serial: Add tool for listing and filtering TTY interfaces
2022-03-10 13:19:58 +01:00
3db7c1150a core: split out library code
This commit splits core into it's scheduler/IPC part and into other code
that is either used or uses the scheduler, through defined APIs.
2022-03-09 21:43:05 +01:00
Marian Buschsieweke
b296ade6b2
dist/tools/usb-serial: Add ttys.py
- Provide a new tool to list and filter TTYs
- Change `Makefile.include` to use `$(RIOTTOOLS)/usb-serial/ttys.py`
  instead of `$(Q)$(RIOTTOOLS)/usb-serial/list-ttys.sh` to implement
  `make list-ttys`
- Extend `makefiles/tools/serial.inc.mk` to allow using the most recent
  port by passing `MOST_RECENT_PORT=1` as environment variable or
  parameter to make

Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
2022-03-09 15:40:36 +01:00
Gunar Schorcht
395ec06c16 dist/tools/esptool: upgrade to v3.2 for ESP32 2022-03-08 09:31:42 +01:00
eec8b7a8d4
tree-wide: emulators: s/RUNTIME_TMP_DIR/EMULATOR_TMP_DIR 2022-03-04 13:44:51 +01:00
d425cbb2bf
makefiles/renode: use RUNTIME_TMP_DIR in EMULATOR_SERIAL_PORT 2022-03-04 13:34:18 +01:00
Leandro Lanzieri
c33cfdfaec
Merge pull request #17742 from gschorcht/cpu/esp/rename_esptool_dir
dist/tools: rename directory esptool to esptools to use it for multiple tools
2022-03-04 11:58:40 +01:00
Gunar Schorcht
cbbd02d520 dist/tools: rename esptool to esptools to use it for several tools
The directory `dist/tools/esptool` already contains a couple of ESP tools and not only esptool.py. As the location for a couple of ESP related tools, it is more clear to call it `esptools` instead of `esptool`.
2022-03-04 08:34:19 +01:00
Karl Fessel
415f9aa0ee make/emulate: use unix sockets with qemu 2022-03-03 17:15:50 +01:00
Dylan Laduranty
bd49ea91db
Merge pull request #17396 from fjmolinas/pr_docker_env_vars_allways
makefiles/docker.inc.mk: add DOCKER_ENV_VARS_ALWAYS
2022-03-02 22:02:02 +01:00
Benjamin Valentin
2e46e4ad7d makefiles: warn if telnet is used in auto-init mode 2022-03-01 23:07:22 +01:00
Benjamin Valentin
2034fa5101 sys/net/application_layer: add telnet server module 2022-03-01 23:07:22 +01:00
df8086091f sys/ztimer: add ztimer64_xtimer_compat
The ztimer64_xtimer_compat modules implements the whole xtimer api
on top of ztimer64_usec
2022-02-24 09:10:58 +01:00
c6151226ad
Merge pull request #17633 from fjmolinas/pr_ztimer_auto_adjust
sys/ztimer: add auto_adjust module
2022-02-23 10:01:05 +01:00
Benjamin Valentin
4d7a3c1dba sys/board_common: add generic board_init() function 2022-02-22 10:04:44 +01:00
Francisco
dd150fe47e
Merge pull request #17584 from benpicco/auto_init_leds
sys/auto_init: add auto_init_leds, drop LED init code from boards
2022-02-18 19:40:50 +01:00
Benjamin Valentin
cd6aea3549 makefiles: make periph_init_leds a default module 2022-02-18 14:35:43 +01:00
d758cb93ef sys/ztimer: add auto_adjust module 2022-02-18 13:07:49 +01:00
benpicco
22a3fc7e8d
Merge pull request #14430 from benpicco/pkg/fatfs_format
pkg/fatfs: fatfs_vfs: wire up format()
2022-02-16 17:22:19 +01:00
chrysn
9ef2abbd53
Merge pull request #17278 from kaspar030/add_ubsan_support
make: Add ubsan support
2022-02-16 16:06:09 +01:00
Benjamin Valentin
5b246d02c0 pkg/fatfs: fatfs_vfs: wire up format() 2022-02-16 14:30:08 +01:00
ba0f8a7429 make: add initial ubsan support 2022-02-16 12:20:45 +01:00
1547d2f075 make: add -ffunction-sections -fdata-sections to LINKFLAGS if LTO=1 2022-02-15 12:28:16 +01:00
Francisco
d197c2518b
Merge pull request #17648 from MrKevinWeiss/pr/kconfig/boardconfig
boards: Use BOARD.config pattern for kconfig
2022-02-14 17:49:31 +01:00
benpicco
78e4f6b557
Merge pull request #17643 from benpicco/vfs_default
sys/vfs: add vfs_default, configure default fs for same54-xpro
2022-02-14 16:33:23 +01:00
MrKevinWeiss
ddfe1f6aff
boards: Use BOARD.config pattern for kconfig
Many simple kconfig configurations are added to boards and brought in with the board name.

This makes a common import of these configs so one only requires adding a BOARD.config without having to alter the makefile.
2022-02-14 13:10:09 +01:00
Benjamin Valentin
92d9d5676a sys/vfs: add vfs_default pseudo-module 2022-02-14 13:04:37 +01:00
Francisco Molina
3de5549899 makefile: move DEFAULT_MODULEs with deps to default_modules.deps.mk 2022-02-14 13:03:32 +01:00
Francisco Molina
25e670e263 makefiles/dependency_resolution: add outer loop for DEFAULT_MODULE deps
Some DEFAULT_MODULEs in tree have dependencies of their own. This is
usually done for aliases of init modules, and do not have dependencies
themselves.

This adds the final stage to dependency resolutions where DEFAULT_MODULEs
dependencies MAY be included. These included modules MUST NOT have
dependencies themselves.

This allows for modules to disable DEFAULT_MODULEs during dependencies
resolution independent of the inclusion order.

auto_init and periph_init modules are moved to this outer-loop, allowing
therefore for modules to disable them during the dependency resolution
2022-02-14 12:59:31 +01:00
krzysztof-cabaj
4bb5487f86 tools/cpy2remed: Addition of cpy2remed programmer to nucleo-L552ZE-Q 2022-02-11 08:27:25 -05:00
Silke Hofstra
9d61bdbb06 sys/senml: add SenML modules
Add a basic SenML module and submodules with support for:

- Encoding SenML values as CBOR using NanoCBOR.
- Converting from Phydat to SenML.
- Reading and encoding SAUL sensors.
2022-02-11 12:38:21 +01:00
Francisco Molina
be7b8179d0 makefiles/docker.inc.mk: add DOCKER_ENV_VARS_ALWAYS
This adds a list of variables that should always be passed to docker
since they are commonly set in Makefile/Makefile.include and therefore
can not be checked for their origin.
2022-02-10 13:27:01 +01:00
benpicco
be45400631
Merge pull request #17341 from benpicco/vfs-mtd_cleanup
sys/vfs: add file-system auto-mount
2022-02-09 21:50:34 +01:00
Benjamin Valentin
2f6aa71946 sys/vfs: add file-system auto-mount 2022-02-09 12:21:53 +01:00
Francisco
0d14b086d3
Merge pull request #17211 from NikLeberg/feature/external_pkg_dirs
buildsystem: add EXTERNAL_PKG_DIRS functionality
2022-02-07 14:46:08 +01:00
Francisco
dbae3ed706
Merge pull request #16860 from haukepetersen/add_nimble_netifextadv
nimble/netif: add support for BT5 PHY modes
2022-02-04 11:16:11 +01:00
Francisco
14f22c17aa
Merge pull request #12012 from HendrikVE/nimble_shell_module
sys/stdio_nimble: add new stdio module using nimble
2022-02-04 11:10:17 +01:00
NikLeberg
a411841322 buildsystem: implement EXTERNAL_PKG_DIRS feature 2022-02-01 18:06:54 +00:00
Francisco Molina
80f63ba1fa makefiles.kconfig.mk: use EXTERNAL_MODULE_DIRS in Kconfig resolution
Using EXTERNAL_MODULE_PATHS works fine when only using Kconfig for
configuratio, but when using it for dependencies this value is not
set since it depends on Kconfig. Instead use EXTERNAL_MODULE_DIRS
and filter matching on Kconfig files.
2022-02-01 10:22:20 +01:00
NikLeberg
140824e69c buildsystem/pkg: expand paths early 2022-01-30 19:58:52 +01:00
benpicco
5a57dec71a
Merge pull request #17093 from maribu/core/change_prio
core/sched: add sched_change_priority()
2022-01-28 20:01:20 +01:00
Hendrik van Essen
f91751ee08 sys/stdio_nimble: implementation of stdio_available 2022-01-28 19:26:38 +01:00
Hendrik van Essen
72a6ca6366 sys/stdio_nimble: add new stdio module using nimble
Implement a new module stdio_nimble, which uses nimble
for stdio. The characteristic for stdin is writable and
the characteristic for stdout uses the indicate mechanism
to publish the system's output to a connected device.
Data will be sent out asynchronously via callout functions.

The module can be enabled with "USEMODULE += stdio_nimble"

Co-authored-by: Francisco Molina <femolina@uc.cl>
2022-01-28 19:26:38 +01:00
6371051bc3
Merge pull request #17545 from fjmolinas/pr_iotlab_node_docker_riotci_build
Makefile.include: pass IOTLAB_NODE to docker
2022-01-27 20:20:03 +01:00
chrysn
f7dfa2f84d
Merge pull request #17133 from chrysn-pull-requests/doc-develhelp-stackoverflow-precision
doc: Start documenting pseudomodules
2022-01-27 15:09:22 +01:00
Francisco Molina
d2b9b4ce8c Makefile.include: pass IOTLAB_NODE to docker
By default if IoT-LAB Cli Tools V3 is used then BINFILE is used to
flash on IoT-LAB. But BINFILE is not built by default when RIOT_CI_BUILD
is set as a ci optimization.

But since before IOTLAB_NODE was not passed to docker when building it
did not know that it should BUILD BINFILE as well, which led to failures
if doing:

$ IOTLAB_NODE=iotlab-m3.grenoble.iot-lab.info BOARD=iotlab-m3 \
  RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 make -C examples/hello-world/ flash

But if IOTLAB_NODE is passed at is checks for IoT-LAB cli Tools also
happen in the docker container which leads to a make error since those
are not present in docker.

Therefore add BINFILE to BUILD_FILES if RIOT_CI_BUILD is set, but unset
IOTLAB_NODE once INSIDE_DOCKER.
2022-01-27 14:56:00 +01:00
chrysn
1e8209f80e pseudomodules: Documentation for board_software_reset 2022-01-27 13:49:25 +01:00
chrysn
15398a53cb doc: Sharpen list of pseudomodules in documentation
Not all pseudomodules should go here; this is mainly for those that
don't belon anywhere else.
2022-01-27 13:49:25 +01:00
chrysn
bb8402fc0b doc: Document the MPU pseudomodules 2022-01-27 13:49:25 +01:00
chrysn
68d0c291a9 doc: Initial documentation of pseudomodules
Co-authored-by: Francisco <femolina@uc.cl>
2022-01-27 13:49:14 +01:00
Hauke Petersen
0a4585d4c8 nimble/rpble: allow to select PHY mode 2022-01-27 10:30:30 +01:00
Hauke Petersen
2634063f5f nimble/statconn: allow to define PHY mode 2022-01-27 10:30:29 +01:00
Hauke Petersen
0ea7bf33d0 nimble/netif: support ext adv and BLE 5 PHY modes 2022-01-27 10:30:29 +01:00
chrysn
99d245f538
Merge pull request #17520 from chrysn-pull-requests/rust-enable-riscv
cpu/riscv_common: Enable Rust applications
2022-01-26 19:14:50 +01:00
Gunar Schorcht
d6f86a9b7a makefiles/libc/newlibc: allow toolchains with nano version only
The check for `newlib-nano` assumes that a toolchain which provides `newlib-nano` provides both the normal version and the nano version of the `newlib`.The nano version of `newlib.h` is therefore stored in its own include directory. This is the case for toolchains which allow to use both the normal and the nano version, e.g. for ARM and RISC-V.
However, if the toolchain provides `newlib_nano` but only allows the use of the nano version, it will only have the nano version of `newlib.h` and no separate directory for it, e.g. for ESP32.
To still be able to use such toolchains with `newlib_nano`, the check is changed so that the setting of the `-isystem` option depends on the existence of the separate directory.
2022-01-23 10:48:26 +01:00
Francisco Molina
8b45ed87be drivers/rtt_rtc: select rtc_utils 2022-01-18 15:32:38 +01:00
Marian Buschsieweke
8549ff2f7d
Merge pull request #17479 from gschorcht/cxxexflags_cpp+14
makefiles: use C++14 standard by default for C++ compilations
2022-01-17 13:42:41 +01:00
chrysn
210ad505aa makefiles: Reuse some of Rust's ~/.cargo in Docker container
Without passing this through, any crate downloads would go to the
container's image's scratch space, to be re-downloaded for each build,
and with new time stamps that cause compilation to start anew as well.
2022-01-14 14:59:04 +01:00
chrysn
d391b1c5f4 cpu/riscv_common: Enable Rust applications
This contains a workaround for
https://github.com/rust-lang/rust-bindgen/issues/1555 (withouot which
bindgen would fail, with little information helping remedy the cause)
2022-01-14 13:42:32 +01:00
9eec6f4eb1
makefiles/openocd: remove DEBUG_ADAPTER and PRE_FLASH_CHECK_SCRIPT vars 2022-01-08 12:05:46 +01:00
135e0a6ca1
makefiles/tools/pyocd: remove deprecated FLASH_TARGET_TYPE var 2022-01-08 12:04:51 +01:00
6e8d3246e6
makefiles/tools: remove deprecated FFLAGS_OPTS variable 2022-01-08 12:04:02 +01:00