Shared files and configuration for native. More...
Shared files and configuration for native.
The RIOT native boards use system calls and signals to emulate hardware at the API level. That means that you can compile the complete RIOT software stack for your *NIX system and run it as a process. Reasons why you might want to do that are:
Two different boards are currently available, depending on the host platform: Native32 Board and Native64 Board. Using BOARD=native
will automatically select the right variant.
/dev/tty*
are supportedUTC
for consistent behavior with embedded systems. The environment variable TZ
can be used to explicitly set a specific or hosts timezone (see below)./dev/spidev*
are supported (Linux host only)/dev/gpiochip*
are supported (Linux host only)Some aspects of a native RIOT instance can be configured at runtime. To get an overview invoke the program with the -h
option. Example:
As with any platform, you can specify the sizes of your stacks, i.e. the amount of space your application can use. You may wish to use a more realistic stack size than native's THREAD_STACKSIZE_DEFAULT
to increase realism.
RIOT native defaults to UTC
timezone if TZ
is not set in the environment, to keep behavior of time.h
functions like mktime
consistent with embedded setups, which usually do not use timezones. If your application requires the same timezone as host, the TZ
environment variable should be set accordingly. There are several ways to achieve that:
export TZ=":/etc/localtime"
prior make term
in the very shell you intend to run make term
inexport TZ=":/etc/localtime"
to your ~/.profile
TZ=":/etc/localtime" make term
The timezone can also be set at runtime by the application for both native and embedded devices using setenv("TZ", <timezonestring>, 1)
. picolibc
and newlibc
expect <timezonestring>
to have the form NAME+/-hh:mm:ss<DST-handling>
(+
pointing west -> CET-1
adds 1 hour to UTC, see man timezone
) e.g., ACST-9:30ACDT-10:30,M10.1.0,M4.1.0
. If the TZ
-string can not be interpreted by the used libc
(newlib
,picolibc
,glibc
), they default back to UTC
.
mktime
Check the list of open issues labeled native in the github issue tracker
Files | |
file | board.h |
The native boards use call level hardware simulation. | |
file | eui_provider_params.h |
EUI providers found on the board. | |