mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-17 11:12:46 +01:00
examples/lwip_networking: add lwIP example
This commit is contained in:
parent
66d6aece65
commit
7961547050
76
examples/lwip_networking/Makefile
Normal file
76
examples/lwip_networking/Makefile
Normal file
@ -0,0 +1,76 @@
|
||||
# name of your application
|
||||
APPLICATION = lwip_networking
|
||||
|
||||
# If no BOARD is found in the environment, use this default:
|
||||
BOARD ?= native
|
||||
|
||||
# This has to be the absolute path to the RIOT base directory:
|
||||
RIOTBASE ?= $(CURDIR)/../..
|
||||
|
||||
# Include packages that pull up and auto-init the link layer.
|
||||
# NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present
|
||||
USEMODULE += netdev_default
|
||||
|
||||
# use lwIP by default
|
||||
LWIP_IPV4 ?= 1
|
||||
LWIP_IPV6 ?= 1
|
||||
|
||||
ifeq (,$(filter 1, $(LWIP_IPV4) $(LWIP_IPV6)))
|
||||
USEMODULE += auto_init_gnrc_netif
|
||||
# Specify the mandatory networking modules
|
||||
USEMODULE += gnrc_ipv6_default
|
||||
# Additional networking modules that can be dropped if not needed
|
||||
USEMODULE += gnrc_icmpv6_echo
|
||||
else
|
||||
ifeq (1,$(LWIP_IPV4))
|
||||
USEMODULE += ipv4_addr
|
||||
|
||||
USEMODULE += lwip_arp
|
||||
USEMODULE += lwip_ipv4
|
||||
USEMODULE += lwip_dhcp_auto
|
||||
endif
|
||||
|
||||
ifeq (1,$(LWIP_IPV6))
|
||||
USEMODULE += ipv6_addr
|
||||
|
||||
USEMODULE += lwip_ipv6
|
||||
USEMODULE += lwip_ipv6_autoconfig
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add also the shell, some shell commands
|
||||
USEMODULE += shell
|
||||
USEMODULE += shell_cmds_default
|
||||
USEMODULE += ps
|
||||
|
||||
# enable the nanoCoAP CLI client
|
||||
USEMODULE += nanocoap_vfs
|
||||
|
||||
# Optionally include DNS support.
|
||||
USEMODULE += sock_dns # include DNS client
|
||||
USEMODULE += auto_init_sock_dns # with static configuration
|
||||
|
||||
# Comment this out to disable code in RIOT that does safety checking
|
||||
# which is not needed in a production environment but helps in the
|
||||
# development process:
|
||||
DEVELHELP ?= 1
|
||||
|
||||
# Instead of simulating an Ethernet connection, we can also simulate
|
||||
# an IEEE 802.15.4 radio using ZEP
|
||||
USE_ZEP ?= 0
|
||||
|
||||
# set the ZEP port for native
|
||||
ZEP_PORT_BASE ?= 17754
|
||||
ifeq (1,$(USE_ZEP))
|
||||
USEMODULE += socket_zep
|
||||
endif
|
||||
|
||||
# Change this to 0 show compiler invocation lines by default:
|
||||
QUIET ?= 1
|
||||
|
||||
EXTERNAL_BOARD_DIRS += $(RIOTBASE)/tests/build_system/external_board_dirs/esp-ci-boards
|
||||
|
||||
include $(RIOTBASE)/Makefile.include
|
||||
|
||||
# Set a custom channel if needed
|
||||
include $(RIOTMAKE)/default-radio-settings.inc.mk
|
36
examples/lwip_networking/main.c
Normal file
36
examples/lwip_networking/main.c
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (C) 2015 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ingroup examples
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Example application for demonstrating the RIOT network stack
|
||||
*
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "shell.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
puts("RIOT network stack example application");
|
||||
|
||||
/* start shell */
|
||||
puts("All up, running the shell now");
|
||||
char line_buf[SHELL_DEFAULT_BUFSIZE];
|
||||
shell_run(NULL, line_buf, SHELL_DEFAULT_BUFSIZE);
|
||||
|
||||
/* should be never reached */
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user