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

1406 Commits

Author SHA1 Message Date
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
c7a27fb073
make: introduce makefile to optimize driver with disp/touch_dev build 2022-01-06 12:07:07 +01:00
1432d3b5b5
make: introduce makefile to optimize driver with saul build 2022-01-06 12:07:06 +01:00
Gunar Schorcht
181f6423ae makefiles/cflags: enable C++14 by default 2022-01-06 11:15:23 +01:00
8d3d012acd
Merge pull request #17248 from benpicco/riotboot_serial-btn
riotboot_serial: enter bootloader mode by pin
2022-01-05 14:14:00 +01:00
0056648581
Merge pull request #17418 from aabadie/pr/drivers/periph_build_enh
drivers/periph_common: build periph module selectively
2022-01-04 14:59:39 +01:00
Gunar Schorcht
af621ec91b sys/usb/cdc/acm: implementation of stdio_available 2022-01-03 16:14:11 +01:00
Gunar Schorcht
0ffad24112 sys/stdio_uart: implementation of stdio_available 2022-01-03 16:14:11 +01:00
Gunar Schorcht
a71dec81a2 sys/stdio_base: add optional function stdio_available
A couple of `stdio` backend implementations allow to check for the number of available bytes for reading before the blocking `stdio_read` is called. This helps to implement non-blocking functionalities while waiting for `stdin`.
2022-01-03 16:14:11 +01:00
79df157727
sys: move rtc utility functions to their own module 2021-12-20 13:04:20 +01:00
chrysn
4e3e21d3ab build-info: Report Rust target 2021-12-19 10:02:38 +01:00
chrysn
afdabcf9b6
Merge pull request #16274 from chrysn-pull-requests/rust-application
Add some Rust building infrastructure and example
2021-12-16 16:17:28 +01:00
Martine Lenders
e062ad78f3
Merge pull request #17265 from miri64/ethos/fix/threadify-state-machine
ethos: move bulk of state machine out of ISR context
2021-12-16 12:24:14 +01:00
Marian Buschsieweke
882c593575
Merge pull request #17348 from krzysztof-cabaj/add-elf2uf2-tool
tools/elf2uf2: addition of new PROGRAMMER for RPi-pico
2021-12-15 22:08:51 +01:00
krzysztof-cabaj
940f1eea4b tools/elf2uf2: addition of new PROGRAMMER for rpi-pico board 2021-12-15 11:40:10 -05:00
Martine Lenders
568be105f2
stdio_ethos: move to ethos_stdio 2021-12-15 16:15:29 +01:00
Francisco Molina
69d82777e2 makefiles/docker.inc.mk: pass TEST_KCONFIG 2021-12-14 20:23:55 +01:00
chrysn
732c369b7e makefiles: Add mechanism to build modules through Cargo
... and to dissect the static libraries into invidial .o files to link
them the same way we link C.
2021-12-14 13:27:41 +01:00
chrysn
a2e1b92e1d makefiles: Define RUST_TARGET for use with Cargo / Rust
For RISC-V and Cortex-M-not-3, triples are known and have worked in some
configuration, but do not work at the moment and stay disabled until the
reference platforms (native, M3) have been established well.
2021-12-14 12:55:13 +01:00
benpicco
cfaa167469
Merge pull request #16598 from benpicco/sys/shell/udp
examples/gnrc_networking: move udp command to shell commands
2021-12-13 15:03:18 +01:00
Kevin "Tristate Tom" Weiss
ed94dd7085
Merge pull request #17376 from leandrolanzieri/pr/makefiles/add_board_cpu_config_variables
makefiles/kconfig: add board & CPU config variables
2021-12-13 13:26:40 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Leandro Lanzieri
aec9d7a8e5
makefiles/features_modules: do not generate init for ESP RTT
This avoids the generation of the unneeded modules
periph_init_rtt_hw_rtc and periph_init_rtt_hw_sys.
2021-12-10 18:51:24 +01:00