1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-17 18:43:50 +01:00

97 Commits

Author SHA1 Message Date
Marian Buschsieweke
4ce7ab2133
tree-wide: fix documentation issues
This should fix compilation with -Wdocumentation on LLVM.
2025-04-10 13:37:13 +02:00
Benjamin Valentin
bfe42ad20a cpu/native: use async read for stdio_read()
The real_read() function will block the thread but won't preempt it.
That means all other thereads on the same (or higher) priority level
are blocked as RIOT still consideres the thread that called stdio_read()
as running.

Use async_read/isrpipe to properly block the thread when reading from
stdin.
2025-03-13 00:23:40 +01:00
carl
7d83850395 cpu/native: assembly: gardening 2025-03-11 16:19:39 +01:00
carl
64283b52aa cpu/native: doxygen gardening 2025-03-11 16:19:39 +01:00
carl
90a3f3ffcc cpu/native: docs and descriptive naming 2025-03-11 16:19:39 +01:00
carl
aff3b107c1 cpu/native: log with prefix 2025-03-11 16:19:39 +01:00
Marian Buschsieweke
ff3f055dc7
cpu/native: fix compilation with GCC 14.1
The first argument to `calloc()` is the number of members, the
second the member size. This fixes an instance where the arguments
where switched.
2024-06-04 15:43:53 +02:00
Marian Buschsieweke
f34cd3f7c1
cpu/native: fix build with musl
This changes a bunch of things that allows building with the musl C lib,
provided that `libucontext-dev` and `pkg-config` are installed.

Note that installing libucontext makes absolutely zero sense on C libs
that do natively provide this deprecated System V API, such as glibc.
Hence, it no sane glibc setup is expected to ever have libucontext
installed.

A main pain point was that argv and argc are expected to be passed to
init_fini handlers, but that is actually a glibc extension. This just
parses `/proc/self/cmdline` by hand to populate argv and argc during
startup, unless running on glibc.
2024-05-31 12:18:33 +02:00
Gunar Schorcht
d59d48d58b cpu/native: replace external mtd0 declaration
Since the `extern mtd_dev_t *` declarations were removed from board definitions, `mtd_dev_get` has to be used instead.
2023-12-07 15:32:49 +01:00
Benjamin Valentin
124b849503 cpu: call early_init() 2023-01-08 22:26:12 +01:00
Benjamin Valentin
fad65011b7 netdev_tap: make NETDEV_TAP_MAX an upper bound 2022-05-23 15:27:35 +02:00
Benjamin Valentin
2520aaf1e8 cpu/native: add -w <tap> command line parameter to simulate wireless tap 2022-05-23 15:27:35 +02:00
Benjamin Valentin
f61c12e008 netdev_tap: make 'wired' property configurable
`netdev_tap` is a virtual interface, make it possible to simulate both
a wired and a wireless interface.
2022-05-23 15:27:35 +02:00
Benjamin Valentin
17199dbb1c socket_zep: allow to specify MAC address of ZEP device
Add a command-line parameter for setting the EUI-64 of a ZEP device.
This allows a native node to use a persistent ZEP address across reboots.
2021-02-16 18:57:27 +01:00
Benjamin Valentin
ac9cd80aa7 cpu/native: clean up usage output
Remove newlines between block of arguments.
Add a newline at the end.

Makes usage output look tidier.
2021-01-25 22:58:38 +01:00
Leandro Lanzieri
d4be753df8
cpu/native: remove unused can_linux module
b4f29035ce6ee12949df1227ee463340ea8e8571 adapted the can_linux module to
the periph_can interface. This is a cleanup of some things that stayed
behind. Here the makefile is removed, the references to can_linux in the
dependency resolution and configuration Makefile are changed to the
standard periph_can, and the startup code is adapted.
2020-11-13 09:11:50 +01:00
Benjamin Valentin
3f58672351 cpu/native: make sure help text does not exceed 80 columns 2020-10-29 16:15:42 +01:00
Benjamin Valentin
22ba75e8be socket_zep: don't listen on local address by default
If no local port is specified for socket_zep to listen on, don't listen
on a local port at all instead of listening on a default port.

This does not work with multiple instances of socket_zep anyway.
2020-10-29 12:46:10 +01:00
Bas Stottelaar
22243aec7a cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
Vincent Dupont
b4f29035ce native/can: fix CAN init
Native CAN device was not properly ported to periph_can interface.
This commit fixes this by renaming all needed structures and files so
auto_init_can can initialize the native device. FEATURES_PROVIDED is
also updated for native.
2020-09-30 12:59:03 +02:00
Martine Lenders
3d457b76cc
Merge pull request #14757 from benpicco/socket_zep_reboot
socket_zep: fix reboot
2020-08-26 19:41:16 +02:00
Benjamin Valentin
a41817bebd socket_zep: fix reboot
The `_zep_params_setup()` function will modify the `argv` string passed to it.
This is a problem because that string is re-used on reboot.

The modified string is then later processed in `socket_zep_setup()`, so we have to keep
the memory around.

The `strdup()` fulfills all this and the memory is freed by `execve()` on reboot.
A proper solution would be to parse the strings in `_zep_params_setup()`.
2020-08-26 15:38:03 +02:00
Benjamin Valentin
ea25e8580c cpu/native: add Linux GPIO implementation 2020-08-25 13:53:14 +02:00
Alexandre Abadie
5a9f01d91a
native: pass eeprom file path via command line 2020-04-29 08:56:33 +02:00
Alexandre Abadie
cbdda3c990
cpu/native: read/persist EEPROM data at startup/reboot/exit 2020-04-29 08:55:10 +02:00
Martine S. Lenders
0957b6301b
stdio_native: initial import 2019-12-18 14:15:40 +01:00
Martine Lenders
2f74d9d644
Merge pull request #12517 from miri64/native/enh/reset-command
native: allow for native to be resetable via SIGUSR1
2019-12-03 10:56:11 +01:00
Martine Lenders
fa317910d0
native: allow for native to be resetable via SIGUSR1 2019-12-03 09:51:52 +01:00
31b027124b cpu/native: fix typos 2019-11-23 22:39:36 +01:00
Frank Hessel
51194b9c0d
cpu/native: Implement hardware SPI access (Linux) 2019-10-16 14:32:53 +02:00
Alexandre Abadie
4133908fe0 cpu/native: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Bas Stottelaar
a05d1b1004 cpu/board: native: use common peripheral initialization 2018-03-15 23:26:01 +01:00
Martine Lenders
81ef15287a native: provide socket-based ZEP device 2018-01-18 09:15:37 +01:00
Martine Lenders
2097f6810f Merge pull request #7647 from LudwigKnuepfer/pr/native-startup-switchcase
cpu/native: add missing breaks in option parser
2017-09-26 10:27:51 +02:00
Ludwig Knüpfer
9f3abcd372 cpu/native: add missing breaks in option parser 2017-09-26 09:41:21 +02:00
Vincent Dupont
68f1ea8fd0 native: add a CAN device using socketCAN 2017-06-19 15:36:20 +02:00
Cenk Gündoğan
044fac8d17 native: add break to satisfy compiler gcc-7.1.1
Building any application with gcc 7.1.1 fails with the following error:

```
~/RIOT % make -C examples/hello-world
make: Entering directory 'RIOT/examples/hello-world'
Building application "hello-world" for "native" with MCU "native".

"make" -C RIOT/boards/native
"make" -C RIOT/boards/native/drivers
"make" -C RIOT/core
"make" -C RIOT/cpu/native
RIOT/cpu/native/startup.c: In function ‘startup’:
RIOT/cpu/native/startup.c:292:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
       usage_exit(EXIT_SUCCESS);
       ^~~~~~~~~~~~~~~~~~~~~~~~
RIOT/cpu/native/startup.c:293:13: note: here
   case 'i':
   ^~~~
cc1: all warnings being treated as errors
make[2]: *** [RIOT/Makefile.base:81: RIOT/examples/hello-world/bin/native/cpu/startup.o] Error 1
make[1]: *** [RIOT/Makefile.base:20: ALL--RIOT/cpu/native] Error 2
make: *** [RIOT/examples/hello-world/../../Makefile.include:297: all] Error 2
make: Leaving directory 'RIOT/examples/hello-world'
```

```
% gcc --version
gcc (GCC) 7.1.1 20170528
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```

fixed by adding a `break` statement after `usage_exit()`
2017-05-30 13:56:17 +02:00
cfd10c394a adapt to changed byteorder.h 2017-04-13 11:35:35 +02:00
Joakim Nohlgård
ad01950b97 native: Finish iterating constructor calls before moving on to native_cpu_init 2017-04-09 17:22:17 +02:00
Joakim Nohlgård
d1ea50a600 mtd: Redefine MTD_0 as a mtd_dev_t * 2017-03-28 17:00:39 +02:00
Vincent Dupont
1b2b5d9df9 Merge pull request #5624 from OTAkeys/pr/mtdi_flash
mtd: add a generic low level flash interface
2017-03-17 17:18:13 +01:00
Vincent Dupont
9e8cb3d135 native: add mtd-compliant flash emulation 2017-03-16 11:24:22 +01:00
Martine Lenders
29842bb5e4 netdev2: rename to netdev and remove gnrc_netdev
With some minor hand-edits I used the following chain of commands:

```sh
git rm sys/include/net/gnrc/netdev.h
git grep --name-only -i netdev2 | \
        xargs sed -i -e 's/^\(NETDEV\)2\(.*\)\( [("]\)/\1\2 \3/g' \
                     -e 's/\(netdev\)2\(.*\)\( \/\*\*<\)/\1\2 \3/I' \
                     -e 's/\(netdev\)2/\1/gI'
git add -p
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | xargs -I'{}' dirname '{}' | uniq | \
        grep "netdev2" | while read dir; do
                new_dir="$(echo "$dir" | sed "s/netdev2/netdev/g")"
                git mv -f "$dir" "$new_dir"
        done
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | while read file; do
                new_file="$(echo "$file" | sed "s/netdev2/netdev/g")"
                git mv -f "$file" "$new_file"
        done
git commit --amend
git grep --name-only "\<drivers_netdev_netdev\>" | \
        xargs sed -i "s/\<drivers_netdev_netdev\>/drivers_netdev_api/g"
git add -p
git commit --amend
```
2017-03-15 09:31:20 +01:00
Martine Lenders
1f6f02e196 cpu/native: adapt start-up and auto-init for multiple netdev2_tap 2017-01-19 12:07:10 +01:00
Martine Lenders
e9d13d73bc native: prettify argument parsing 2017-01-12 23:40:17 +01:00
Ludwig Ortmann
83886d61c7 native: start with interrupts disabled 2016-10-15 07:50:44 +02:00
Yonezawa-T2
79d33897cb native: add UART driver based on /dev/tty
uart0 functionality is removed by #3164. This patch implements periph/uart,
rather than deprecated uart0, using /dev/tty.
To use with netdev2_tap simultaneously, this patch adds asynchronus read system
and modifies netdev2_tap to use it.

A TTY device is specified on command line with -c (COM) option, since -t was
used by the old implementation.

This patch also implements empty GPIO driver needed by the xbee driver.
2016-03-31 16:59:12 +09:00
Oleg Hahm
59674a679b netdev2: use params parameter for setup 2016-03-28 20:22:20 +02:00
9082273746 core: header cleanup 2016-02-28 22:46:28 +01:00
Ludwig Knüpfer
eda6328e21 documentation: update my name (Ortmann -> Knüpfer) 2015-09-27 18:58:30 +02:00