ssekar15 opened a new pull request, #21456: URL: https://github.com/apache/nuttx/pull/21456
## Summary RH850 is Renesas' 32-bit automotive MCU family. This PR adds the RH850 architecture with the G4KH core, the RH850/U2C chip and a board for the QEMU rh850-u2c machine, so the port can be built and tested in CI before real boards follow. The chip covers what is needed to run NuttX: the interrupt controllers, the OSTM system timer (ticked or tickless), the RLIN3 UART console and software reset. The board has nsh and citest configurations; CI builds both and runs ostest under QEMU through citest. v850 GCC prefixes C symbols with "_", so compiler.h now uses the compiler's user label prefix in the asm names of the builtin and fortify wrappers. Targets without a prefix are unaffected. RH850 does not link without this change, so it is part of this PR. Toolchain: https://github.com/linumiz/rh850-gcc-toolchain/releases/tag/v1.0.0 QEMU: https://github.com/linumiz/qemu-rh850/releases/tag/v1.0.0 ## Impact - New architecture, chip and board; no change to existing boards. - compiler.h: same symbols and code on targets without a user label prefix (checked on sim and ARM, see Testing). - CI: the Linux image gets the RH850 toolchain and QEMU. - Tested on QEMU only as first level; RH850 hardware supports will come as follow up PR. ## Testing Host: Debian 13, x86_64 Toolchain: v850-elf GCC 14.3.0 (release above) QEMU: qemu-system-rh850 11.1.1 (release above) nuttx-apps: f04aee6015 - qemu-rh850-u2c:nsh and :citest, Make and CMake: build OK, 0 warnings, savedefconfig matches defconfig. - citest (ostest) under QEMU, run.sh rc 0: ostest_main: Exiting with status 0 - nsh under QEMU: uname -a, ps, free all OK. - tools/testbuild.sh -A -N -R on the rh850 testlist: nsh (CMake) and citest (Make + run) pass. - tools/checkpatch.sh -g and -m: all checks pass. - Documentation build (make html): 0 warnings. ## Run Test and Boot log ```bash $ export PATH=<v850-elf-toolchain>/bin:<qemu-rh850>/bin:$PATH $ cd nuttx $ ./tools/configure.sh -l qemu-rh850-u2c:nsh $ make -j$(nproc) $ qemu-system-rh850 -M rh850-u2c,test-exit=on -icount shift=4,sleep=on -nographic -kernel nuttx # console input (scripted): uname -a, ps, free, help; then Ctrl-A x # the nuttx image is the one built in build-nsh-make.log NuttShell (NSH) NuttX-13.1.0 nsh> uname -a NuttX 13.1.0 c1a6b803db Nov 4 2026 21:33:12 rh850 qemu-rh850-u2c nsh> ps TID PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND 0 0 0 0 FIFO Kthread - Ready 0000000000000000 0002024 0000304 15.0% Idle_Task 2 2 0 100 FIFO Task - Running 0000000000000000 0003028 0001496 49.4% nsh_main nsh> free total used free maxused maxfree nused nfree name 116496 8048 108448 8416 108216 22 2 Umem nsh> help help usage: help [-v] [<cmd>] . cp expr mkrd rmdir true [ cmp false mount set truncate ? dirname fdinfo mv kill uname alias df free pidof pkill umount unalias dmesg help printf sleep unset basename echo hexdump ps usleep uptime break env ls pwd source watch cat exec du reboot test xd cd exit mkdir rm time wait Builtin Apps: dd nsh sh nsh> QEMU: Terminated ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
