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

stdio_native: initial import

This commit is contained in:
Martine S. Lenders 2019-12-18 11:56:23 +01:00
parent 13d5f6e6b4
commit 0957b6301b
No known key found for this signature in database
GPG Key ID: CCD317364F63286F
6 changed files with 51 additions and 1 deletions

View File

@ -423,7 +423,7 @@ ifneq (,$(filter newlib,$(USEMODULE)))
ifeq (,$(filter newlib_syscalls_%,$(USEMODULE)))
USEMODULE += newlib_syscalls_default
endif
ifeq (,$(filter stdio_cdc_acm stdio_null stdio_rtt,$(USEMODULE)))
ifeq (,$(filter stdio_cdc_acm stdio_native stdio_null stdio_rtt,$(USEMODULE)))
USEMODULE += stdio_uart
endif
endif

View File

@ -15,6 +15,10 @@ ifneq (,$(filter socket_zep,$(USEMODULE)))
DIRS += socket_zep
endif
ifneq (,$(filter stdio_native,$(USEMODULE)))
DIRS += stdio_native
endif
ifneq (,$(filter mtd_native,$(USEMODULE)))
DIRS += mtd
endif

View File

@ -1,3 +1,6 @@
ifneq (,$(filter periph_spi,$(USEMODULE)))
USEMODULE += periph_spidev_linux
endif
ifeq (,$(filter stdio_%,$(USEMODULE)))
USEMODULE += stdio_native
endif

View File

@ -41,6 +41,7 @@
#include "board_internal.h"
#include "native_internal.h"
#include "stdio_base.h"
#include "tty_uart.h"
#include "periph/init.h"
@ -399,6 +400,8 @@ static void _reset_handler(void)
__attribute__((constructor)) static void startup(int argc, char **argv, char **envp)
{
_native_init_syscalls();
/* initialize stdio as early as possible */
stdio_init();
_native_argv = argv;
_progname = argv[0];

View File

@ -0,0 +1 @@
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1,39 @@
/*
* Copyright (C) 2019 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @{
*
* @file
* @author Martine S. Lenders <m.lenders@fu-berlin.de>
*/
#include "kernel_defines.h"
#include "native_internal.h"
#include "vfs.h"
#include "stdio_base.h"
void stdio_init(void)
{
if (IS_USED(MODULE_VFS)) {
vfs_bind_stdio();
}
}
ssize_t stdio_read(void* buffer, size_t max_len)
{
return real_read(STDIN_FILENO, buffer, max_len);
}
ssize_t stdio_write(const void* buffer, size_t len)
{
return real_write(STDOUT_FILENO, buffer, len);
}
/** @} */