It is possible to run NuttX in a simulator called
sim, but some features
currently are supported only on Linux host (i.e.: Bluetooth, I2C, SPI, etc).
sim you can test many of NuttX features without a supported board.
Examples of supported features: Audio, Bluetooth, ELF, I2C, SPI, LVGL, Flash
File System, NX Serves, NX Demos, NX Window Manager, ROMFS, Network: TCP,
UDP, IP,6LoWPAN, and many more.
All you need is your machine
All you need to do is select your desired board profile configuration (see: nuttx/sim/sim/sim/configs for the listing)
$ make distclean $ ./tools/configure.sh sim:nsh $ make
When the compilation finishes it will create a
nuttx binary, then run it:
$ ./nuttx login: admin password: Administrator User Logged-in! NuttShell (NSH) NuttX-10.1.0 MOTD: username=admin password=Administrator nsh> ? help usage: help [-v] [<cmd>] . cd echo hexdump mkfatfs pwd source unset [ cp exec kill mkrd readlink test usleep ? cmp exit losetup mount rm time xd basename dirname false ln mv rmdir true break dd free ls poweroff set uname cat df help mkdir ps sleep umount Builtin Apps: sh hello nsh nsh> uname -a NuttX 10.1.0 508215581f Sep 3 2021 10:47:34 sim sim nsh>
It is possible to run the LVGL Demo directly in the NuttX simulator
$ make distclean $ ./tools/configure.sh sim:lvgl_fb $ make -j $ ./nuttx
You should see a window with the touch calibration and then the LVGL demo:
Running VNC Server
NuttX supports a VNC server, so it means even boards without a LCD display could export a display interface over network. Also you can test it on NuttX simulator before getting it working on your board, just follow these steps
$ make distclean $ ./tools/configure.sh sim:vncserver $ make -j $ ./nuttx
Open a new terminal and execute
$ remmina -c vnc://localhost
You should see some squares in different colors displayed in remmina: