This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit d855b5662d40401d242ab6e5c72770c15bc4971d
Author: raiden00pl <[email protected]>
AuthorDate: Thu Aug 20 14:41:16 2026 +0200

    boards/qemu-armv8a: add S2OPC server configuration
    
    add S2OPC server configuration for qemu-armv8a
    
    Assisted-by: Claude Code
    Signed-off-by: raiden00pl <[email protected]>
---
 .../arm64/qemu/boards/qemu-armv8a/index.rst        |  40 ++++++++-
 .../arm64/qemu/qemu-armv8a/configs/s2opc/defconfig | 100 +++++++++++++++++++++
 2 files changed, 139 insertions(+), 1 deletion(-)

diff --git a/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst 
b/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst
index c0dbb8a7fdd..658bf48da81 100644
--- a/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst
+++ b/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst
@@ -78,6 +78,45 @@ Running with QEMU:
     -net none -chardev stdio,id=con,mux=on -serial chardev:con \
     -mon chardev=con,mode=readline -kernel ./nuttx
 
+S2OPC
+-----
+
+The ``qemu-armv8a:s2opc`` configuration provides the S2OPC OPC UA server
+example.  Build it from the NuttX source directory::
+
+  $ ./tools/configure.sh -l qemu-armv8a:s2opc
+  $ make -j
+
+Run QEMU with user networking and forward host TCP port 4841 to NuttX::
+
+  $ qemu-system-aarch64 -cpu cortex-a53 -nographic \
+      -machine virt,virtualization=on,gic-version=3 \
+      -global virtio-mmio.force-legacy=false \
+      -chardev stdio,id=con,mux=on -serial chardev:con \
+      -mon chardev=con,mode=readline \
+      -netdev user,id=u1,hostfwd=tcp:127.0.0.1:4841-:4841 \
+      -device virtio-net-device,netdev=u1,bus=virtio-mmio-bus.0 \
+      -kernel ./nuttx
+
+The configured NuttX address and endpoint are ``10.0.2.15`` and
+``opc.tcp://10.0.2.15:4841``.  At the NSH prompt, start the server::
+
+  nsh> ping 10.0.2.2
+  nsh> s2opc &
+  s2opc [4:100]
+
+From another host terminal, read the standard server time node through the
+forwarded port::
+
+  $ uaread -u opc.tcp://127.0.0.1:4841 -n i=2258
+
+Stop the server with the task ID printed by NSH::
+
+  nsh> kill -2 4
+
+See :doc:`/applications/examples/s2opc/index` for command-line overrides and
+:doc:`/applications/netutils/s2opc/index` for toolkit configuration.
+
 ------------------------------------------------------------------
 Single Core with virtio network, block, rng, serial driver (GICv3)
 ------------------------------------------------------------------
@@ -946,4 +985,3 @@ References
 6. Arm Generic Interrupt Controller v3 and v4 Overview
 7. ArmĀ® Generic Interrupt Controller Architecture Specification GIC 
architecture version 3 and version 4
 8. (DEN0022D.b) Arm Power State Coordination Interface Platform Design Document
-
diff --git a/boards/arm64/qemu/qemu-armv8a/configs/s2opc/defconfig 
b/boards/arm64/qemu/qemu-armv8a/configs/s2opc/defconfig
new file mode 100644
index 00000000000..ec67e3576b1
--- /dev/null
+++ b/boards/arm64/qemu/qemu-armv8a/configs/s2opc/defconfig
@@ -0,0 +1,100 @@
+#
+# 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_ARCH="arm64"
+CONFIG_ARCH_ARM64=y
+CONFIG_ARCH_BOARD="qemu-armv8a"
+CONFIG_ARCH_BOARD_QEMU_ARMV8A=y
+CONFIG_ARCH_CHIP="qemu"
+CONFIG_ARCH_CHIP_QEMU=y
+CONFIG_ARCH_CHIP_QEMU_A53=y
+CONFIG_ARCH_EARLY_PRINT=y
+CONFIG_ARCH_INTERRUPTSTACK=4096
+CONFIG_ARM64_SEMIHOSTING_HOSTFS=y
+CONFIG_ARM64_SEMIHOSTING_HOSTFS_CACHE_COHERENCE=y
+CONFIG_ARM64_STRING_FUNCTION=y
+CONFIG_BUILTIN=y
+CONFIG_CRYPTO_MBEDTLS=y
+CONFIG_DEBUG_ASSERTIONS=y
+CONFIG_DEBUG_FEATURES=y
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_SCHED=y
+CONFIG_DEBUG_SCHED_ERROR=y
+CONFIG_DEBUG_SCHED_WARN=y
+CONFIG_DEBUG_SYMBOLS=y
+CONFIG_DEFAULT_TASK_STACKSIZE=8192
+CONFIG_DEVICE_TREE=y
+CONFIG_DEV_SIMPLE_ADDRENV=y
+CONFIG_DEV_URANDOM=y
+CONFIG_DRIVERS_VIRTIO_MMIO=y
+CONFIG_DRIVERS_VIRTIO_NET=y
+CONFIG_EXAMPLES_HELLO=y
+CONFIG_EXAMPLES_S2OPC=y
+CONFIG_EXAMPLES_S2OPC_ENDPOINT_URL="opc.tcp://10.0.2.15:4841"
+CONFIG_EXPERIMENTAL=y
+CONFIG_FRAME_POINTER=y
+CONFIG_FS_HOSTFS=y
+CONFIG_FS_PROCFS=y
+CONFIG_FS_PROCFS_REGISTER=y
+CONFIG_FS_ROMFS=y
+CONFIG_FS_TMPFS=y
+CONFIG_HAVE_CXX=y
+CONFIG_HAVE_CXXINITIALIZE=y
+CONFIG_IDLETHREAD_STACKSIZE=8192
+CONFIG_INIT_ENTRYPOINT="nsh_main"
+CONFIG_INTELHEX_BINARY=y
+CONFIG_IOB_ALIGNMENT=16
+CONFIG_IOB_BUFSIZE=1534
+CONFIG_LIBC_EXECFUNCS=y
+CONFIG_LIBC_MEMFD_ERROR=y
+CONFIG_LIBC_NETDB=y
+CONFIG_NET=y
+CONFIG_NETINIT_DRIPADDR=0x0a000202
+CONFIG_NETINIT_IPADDR=0x0a00020f
+CONFIG_NETINIT_NOMAC=y
+CONFIG_NETUTILS_S2OPC=y
+CONFIG_NET_BINDTODEVICE=y
+CONFIG_NET_ETH_PKTSIZE=1514
+CONFIG_NET_ICMP_SOCKET=y
+CONFIG_NET_LL_GUARDSIZE=32
+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_FILEIOSIZE=512
+CONFIG_NSH_READLINE=y
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_PROFILE_ALL=y
+CONFIG_PROFILE_MINI=y
+CONFIG_PTHREAD_MUTEX_TYPES=y
+CONFIG_PTHREAD_STACK_MIN=8192
+CONFIG_RAMLOG=y
+CONFIG_RAM_SIZE=134217728
+CONFIG_RAM_START=0x40000000
+CONFIG_RAW_BINARY=y
+CONFIG_READLINE_CMD_HISTORY=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKPRIORITY=192
+CONFIG_SPINLOCK=y
+CONFIG_STACK_COLORATION=y
+CONFIG_START_YEAR=2026
+CONFIG_SYMTAB_ORDEREDBYNAME=y
+CONFIG_SYSTEM_GPROF=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_SYSTEM_PING=y
+CONFIG_SYSTEM_SYSTEM=y
+CONFIG_TESTING_GETPRIME=y
+CONFIG_TESTING_OSTEST=y
+CONFIG_UART1_BASE=0x9000000
+CONFIG_UART1_IRQ=33
+CONFIG_UART1_PL011=y
+CONFIG_UART1_SERIAL_CONSOLE=y
+CONFIG_UART_PL011=y
+CONFIG_USEC_PER_TICK=1000

Reply via email to