1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-27 15:31:17 +01:00

647 Commits

Author SHA1 Message Date
Mikolai Gütschow
fb3b5af910
makefiles: select default prng _after_ recursive dependency resolution 2024-12-03 10:33:57 +01:00
Teufelchen1
0e839654e8 cpu/riscv: Add PMP driver 2023-06-28 11:55:34 +02:00
Alexandre Abadie
cbca7ca149
Makefile.dep: include each sys included module deps if available 2023-06-15 10:24:45 +02:00
bors[bot]
2c1bd9057f
Merge #17612 #19332
17612: pkg: add FlashDB r=benpicco a=benpicco



19332: sys/tiny_strerror: make use of flash_utils.h r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-02-28 02:46:35 +00:00
Benjamin Valentin
8cc689adf8 pkg: add FlashDB 2023-02-27 18:12:13 +01:00
bors[bot]
d4422a074a
Merge #18682
18682: pkg/lwext4: add lightweight implementation of the ext2/3/4 filesystem r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-02-25 18:59:07 +00:00
Benjamin Valentin
e798d21b3b pkg/lwext4: add lwEXT4 2023-02-25 14:01:20 +01:00
Gunar Schorcht
37b151111f pkg/tinyusb: add DFU and DFU_RT device class implementation 2023-01-15 18:09:55 +01:00
Leandro Lanzieri
83a16fca47
makefiles: avoid extra "/" when including files from external modules
As the `dir` make function considers the last slash as part of the
directory-part of a file name, we don't need to add an extra one.
2022-02-01 11:22:06 +01:00
NikLeberg
140824e69c buildsystem/pkg: expand paths early 2022-01-30 19:58:52 +01:00
benpicco
207964265a
Merge pull request #17188 from benpicco/sys/random-musl_lcg-default
sys/random: default to musl LCG instead of TinyMT
2021-11-30 23:28:48 +01:00
Leandro Lanzieri
c5b29916eb
makefile.dep: require arch_ cpu_core_ features first 2021-11-18 09:00:35 +01:00
Benjamin Valentin
39b8cdf760 sys/random: default to musl LCG
In [0] the paper concludes with

> The Knuth LCG is the most efficient general purpose generator that
> provides decent statistical quality.
> It is simple and lean enough to run on very constrained devices.

So let's select `prng_musl_lcg` to be the default PRNG instead of
`prng_tinymt32`.

This gives a good chunk of memory on e.g. `samr21-xpro`:

prng_tinymt32
-------------

   text	   data	    bss	    dec	    hex	filename
  26452	    136	   2824	  29412	   72e4	tests/rng/bin/samr21-xpro/tests_rng.elf

prng_musl_lcg
-------------

   text	   data	    bss	    dec	    hex	filename
  26208	    136	   2808	  29152	   71e0	tests/rng/bin/samr21-xpro/tests_rng.elf

[0] https://sci-hub.se/10.1145/3453159
2021-11-11 19:59:26 +01:00
MrKevinWeiss
652e4f41c1
cpp: Use modules for cpp and libstdcpp
Also add better error message when kconfig or make includes a .cpp without cpp module.
2021-07-02 15:11:10 +02:00
Marian Buschsieweke
6ac8aba955
build system: rework EXTERNAL_MODULE_DIRS
Previously, external modules had to be individually added to both
EXTERNAL_MODULE_DIRS and USEMODULE. If those where not in sync, this
resulted in build errors.

With this commit, search folders for external modules are added to
EXTERNAL_MODULE_DIRS instead. So lets say the file system structure is
like this

```
└── /path/to/external/modules
    ├── mod_a
    │   ├── Makefile
    │   ├── Makefile.dep
    │   ├── Makefile.include
    │   ├── foo.c
    │   └── include
    │       └── external_module.h
    └── mod_b
        ├── Makefile
        └── bar.c

```

One now adds `/path/to/external/modules` to EXTERNAL_MODULES and only
with `USEMODULE += mod_a` the corresponding module, dependencies and
include settings are actually used. Hence, it is possible to configure
`EXTERNAL_MODULE_DIRS` from `~/.profile` or `~/.bashrc` once and never
needs to worry about them again.
2021-05-07 21:29:05 +02:00
Francisco
3b2a55a923
Merge pull request #15865 from benpicco/pm_layered-default
cpu: make pm_layered a DEFAULT_MODULE
2021-02-03 08:17:29 +01:00
Benjamin Valentin
00289b08a4 riotboot: don't select periph_pm 2021-02-02 23:40:21 +01:00
Francisco Molina
7f06865098
Makefile.dep: add TOOLCHAIN specific dependencies
This commit allows to add a Makefile.dep file in an application
directory to finely tune application dependencies, based on the
used TOOLCHAIN.

Using this mechanism, if an application has dependencies pulled-in based
on the TOOLCHAIN, info-boards-supported, will take this into account to
determine the boards supported by an application
2021-01-27 11:13:03 +01:00
Karl Fessel
9a89b84c2c Makefile.dep: sort dependencies
move most dependencies from <RIOTBASE>/Makefile.dep to the Makefile.dep where
dependant module resides
2020-10-05 18:27:58 +02:00
Leandro Lanzieri
e1418e0972
Merge pull request #14065 from jia200x/pr/improve_gnrc_lorawan
gnrc_lorawan: refactor
2020-10-05 15:56:00 +02:00
benpicco
2cab6b9f18
Merge pull request #14500 from brummer-simon/gnrc_tcp-replace_xtimer_with_evtimer
gnrc_tcp: Replace xtimer with evtimer
2020-10-05 13:58:39 +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
Simon Brummer
132882df73 gnrc_tcp: Replace xtimer with evtimer 2020-10-01 11:30:00 +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
Jose Alamos
8289612529 Makefile.dep: fix netdev_register resolution 2020-09-30 16:33:39 +02:00
Jose Alamos
71bda3bcd8 gnrc_lorawan: remove GNRC specific dependencies 2020-09-30 14:18:54 +02:00
Koen Zandberg
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
Juergen Fitschen
c3a20f8fb8 sys/evtimer: introduce ZTIMER_MSEC as timer backend 2020-09-24 11:30:26 +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
benpicco
df913bf9bf
Merge pull request #14906 from miri64/sock/cleanup/deps
sock: cleanup dependencies
2020-09-09 12:01:28 +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
Martine S. Lenders
8f7dbc6cde
gnrc_sixlowpan_router_default: don't pull in
For an app, a user usually uses `gnrc_ipv6_router_default` to activate
routing behavior. `gnrc_sixlowpan_router_default` is used by that to
pull in further dependencies for 6LoWPAN routers. It shouldn't pull in
`gnrc_ipv6_router_default` again, as this introduces a cyclic
dependency.
2020-09-08 12:53:28 +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
Martine S. Lenders
adb6a6720f
gnrc_ipv6_nib: fix broken gnrc_netif dependency
gnrc_ipv6_nib accesses the IPv6 members of `gnrc_netif`, so a dependency
to the pseudo-module enabling those members is required.
2020-09-08 12:53:11 +02:00
Martine S. Lenders
c58cb6ddfb
gnrc: use gnrc_nettype_* as dependency wherever possible. 2020-09-08 12:53:04 +02:00
Martine S. Lenders
3081ae9c38
sock: remove dependency of implementation on API
Removing a cyclic dependencies.
2020-09-07 08:45:25 +02:00
Martine S. Lenders
29d60c8c2f
sock_util: remove sock_udp dependency
`sock_util` only uses the `sock_udp_ep_t` type which does not require
`sock_udp` to be pulled in.
2020-09-07 08:45:25 +02:00
Martine S. Lenders
4696a773de
examples / tests: pull in sock API not implementation 2020-09-07 08:45:25 +02:00
Leandro Lanzieri
16b5fd303b
drivers: add usbdev_mock 2020-09-04 15:01:16 +02:00
Martine Lenders
7c7f667108
gnrc_netif: add a send queue 2020-09-02 12:30:22 +02:00
Francisco
6f84870c26
Merge pull request #14634 from benpicco/eui_provider
net/link_layer: implement EUI provider
2020-09-01 16:26:08 +02:00
Martine S. Lenders
8386ec9fac
sock: make sock implementation dependency of sock API + stack
This is the logical continuation of [#12931] for _all_ `sock`
implementations.

[#12931]: https://github.com/RIOT-OS/RIOT/pull/12931
2020-08-31 15:17:22 +02:00
Benjamin Valentin
bca68ff484 net/link_layer: implement EUI provider
This adds the possibility to define EUI sources and assign them to
a network device.
2020-08-30 23:43:57 +02:00
Martine S. Lenders
6f6598586d
gnrc_ipv6_nib: don't pull in RDNSS support with sock_dns
Just because a user pulls in the DNS client (`sock_dns`) doesn't mean
they want to pull in RDNSS option support as well. Besides, since
`gnrc_ipv6_nib_dns` depends on `gnrc_ipv6_nib`, this forms a circular
dependency that really isn't necessary.
2020-08-28 20:03:03 +02:00
Leandro Lanzieri
ff8079b109
fuzzing: select gnrc_pktbuf_malloc implementation 2020-08-25 09:24:50 +02:00
Koen Zandberg
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
Marian Buschsieweke
67a024ee3b
Makefile.dep: include ztimer Makefile.dep for %ztimer modules as well
The module `xtimer_on_ztimer` should also pull in ztimer deps.
2020-08-19 09:47:16 +02:00