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

91 Commits

Author SHA1 Message Date
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
b4f29035ce 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
5a9f01d91a
native: pass eeprom file path via command line 2020-04-29 08:56:33 +02:00
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
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
Hauke Petersen
7701aed546 Merge pull request #3164 from kaspar030/remove_uart0
sys: remove uart0
2015-09-04 18:54:30 +02:00
0e4386a46f native: remove uart0 2015-09-04 17:46:23 +02:00
ef972735dc sys: net: replace dev_eth with netdev2, adapt native tap driver 2015-09-04 15:39:04 +02:00
Martine Lenders
f0cb1429f0 native: rename ng_nativenet to dev_eth_tap 2015-08-09 22:04:26 +02:00
5d8349298f remove bulk of legacy network stack and drivers 2015-08-06 12:12:47 +02:00
Benoît Canet
dfbd4f946e cpu: native: switch to hwtimer_compat
The hwtimer_wait test was tortured with the
following script which ran several hours.

----

make clean all-debug

while :
do

date
./bin/native/hwtimer_wait.elf > log &
pid=$!
sleep 20

success=$(cat log|grep success)

if [ "$success" != "success"  ]
then
date
echo "BUG"
exit
fi

kill $pid

done
----

Closes #715.
2015-07-09 02:43:04 +02:00