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

646 Commits

Author SHA1 Message Date
Teufelchen1
0e839654e8 cpu/riscv: Add PMP driver 2023-06-28 11:55:34 +02:00
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
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
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
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