boards/sim: add S2OPC server configuration

add S2OPC server configuration for sim

Assisted-by: Claude Code
Signed-off-by: raiden00pl <raiden00@railab.me>
This commit is contained in:
raiden00pl 2026-08-20 14:41:10 +02:00 • committed by Alin Jerpelea
parent 144d9dff02
commit 87abfcf36f
2 changed files with 138 additions and 0 deletions

View file

@ -110,6 +110,45 @@ graphical front-end to GDB:
need to start the Cygwin-X server before running ``ddd``. On macOS, it's
probably easier to use ``lldb`` instead of ``gdb``.
S2OPC
=====
The ``sim:s2opc`` configuration provides the S2OPC OPC UA server example.
Build it from the NuttX source directory::
$ ./tools/configure.sh -l sim:s2opc
$ make -j
An out-of-tree CMake build is also supported::
$ cmake -B build -DBOARD_CONFIG=sim:s2opc -GNinja
$ cmake --build build
The simulator attaches its TAP device to a host bridge named ``s2opc0``.
Create the bridge and assign the host address::
$ sudo ip link add s2opc0 type bridge
$ sudo ip address add 10.0.0.1/24 dev s2opc0
$ sudo ip link set s2opc0 up
Start NuttX with permission to create the TAP device, then start the server::
$ ./nuttx
nsh> ping 10.0.0.1
nsh> s2opc
From another host terminal, read the standard server time node::
$ uaread -u opc.tcp://10.0.0.2:4841 -n i=2258
Press Ctrl-C at the NSH terminal to stop the server. After testing, stop
NuttX and remove the bridge::
$ sudo ip link delete s2opc0
See :doc:`/applications/examples/s2opc/index` for command-line overrides and
:doc:`/applications/netutils/s2opc/index` for toolkit configuration.
Issues
======

View file

@ -0,0 +1,99 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
CONFIG_ARCH="sim"
CONFIG_ARCH_BOARD="sim"
CONFIG_ARCH_BOARD_SIM=y
CONFIG_ARCH_CHIP="sim"
CONFIG_ARCH_SIM=y
CONFIG_BOARDCTL_APP_SYMTAB=y
CONFIG_BOARDCTL_POWEROFF=y
CONFIG_BOARD_LOOPSPERMSEC=0
CONFIG_BOOT_RUNFROMEXTSRAM=y
CONFIG_BUILTIN=y
CONFIG_COVERAGE_ALL=y
CONFIG_COVERAGE_TOOLCHAIN=y
CONFIG_CRYPTO_MBEDTLS=y
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEV_GPIO=y
CONFIG_DEV_LOOP=y
CONFIG_DEV_URANDOM=y
CONFIG_ETC_FATDEVNO=2
CONFIG_ETC_ROMFS=y
CONFIG_ETC_ROMFSDEVNO=1
CONFIG_EXAMPLES_GPIO=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_EXAMPLES_S2OPC=y
CONFIG_EXAMPLES_S2OPC_ENDPOINT_URL="opc.tcp://10.0.0.2:4841"
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FS_BINFS=y
CONFIG_FS_FAT=y
CONFIG_FS_HOSTFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_RAMMAP=y
CONFIG_FS_ROMFS=y
CONFIG_GPIO_LOWER_HALF=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_IDLETHREAD_STACKSIZE=4096
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_IOEXPANDER=y
CONFIG_IOEXPANDER_DUMMY=y
CONFIG_LIBC_ENVPATH=y
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_LOCALE=y
CONFIG_LIBC_LOCALE_CATALOG=y
CONFIG_LIBC_LOCALE_GETTEXT=y
CONFIG_LIBC_MAX_EXITFUNS=1
CONFIG_LIBC_NETDB=y
CONFIG_LIBC_NUMBERED_ARGS=y
CONFIG_NDEBUG=y
CONFIG_NET=y
CONFIG_NETUTILS_S2OPC=y
CONFIG_NET_BINDTODEVICE=y
CONFIG_NET_ETH_PKTSIZE=1514
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_LOOPBACK=y
CONFIG_NET_SOCKOPTS=y
CONFIG_NET_TCP=y
CONFIG_NET_TCP_KEEPALIVE=y
CONFIG_NET_UDP=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILE_APPS=y
CONFIG_NSH_READLINE=y
CONFIG_PATH_INITIAL="/bin"
CONFIG_PIPES=y
CONFIG_PSEUDOFS_ATTRIBUTES=y
CONFIG_PSEUDOFS_FILE=y
CONFIG_PTHREAD_MUTEX_TYPES=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_READLINE_EDIT_EMACS=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_RR_INTERVAL=10
CONFIG_RTC=y
CONFIG_RTC_ARCH=y
CONFIG_RTC_DRIVER=y
CONFIG_SCHED_BACKTRACE=y
CONFIG_SCHED_EVENTS=y
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_WAITPID=y
CONFIG_SIM_HOSTFS=y
CONFIG_SIM_NETDEV=y
CONFIG_SIM_NET_BRIDGE=y
CONFIG_SIM_NET_BRIDGE_DEVICE="s2opc0"
CONFIG_SIM_WALLTIME_SIGNAL=y
CONFIG_START_MONTH=6
CONFIG_START_YEAR=2008
CONFIG_SYSTEM_DUMPSTACK=y
CONFIG_SYSTEM_GCOV=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_PING=y
CONFIG_TESTING_OSTEST=y