This is an old revision of the document!
Developing NuttX RTOS on FreeBSD
Welcome to the NuttX RTOS development on FreeBSD WIKI page! You will find resources, information, hints and references that should be useful to everyone that develops NuttX RTOS on FreeBSD, mostly current work in progress porting effort so things work out of the box for you
Applications and Extras
MicroPython on NuttX
- [ONGO] Port and run MicroPython interpreter on NuttX:
- There was MicroPython before in NuttX but it was unstable so it was removed.
- [ONGO] Modern stable and portable MicroPython on NuttX:
- [ONGO] Current work-in-progress is here https://github.com/apache/incubator-nuttx-apps/pull/840.
- [TODO] Run and verify on RISC-V based ESP32-C3.
RTOS Core
RISC-V Toolchain
- [ONGO] Auto-detect best available toolchain for RISC-V MCU:
- [DONE] OK: Verify build and run using
riscv32-esp-elftoolchain. - [ONGO] ERR: Verify build and run using
riscv32-unknown-elf(FreeBSD ports). Does not build due-lmerror at link stage. - [ONGO] ERR: Verify build and run using
riscv64-none-elf(FreeBSD ports). Does not build due-lmerror at link stage.
genromfs
- [DONE] Port critical NuttX dependency
genromfsthat allows creating NuttX simulator and run just like any other program on the developer machine:- Port created and provided: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259242.
kconfig-frontends
- [DONE] Port critical NuttX development dependency
kconfig-frontendsthat allowsmenuconfiglike kernel configuration:- This part comes from Linux kernel.
- Upstream seems unmaintained and there are two known forks: Debian (based on 4.11) and Espressif (based on 4.6 version).
- Upstream location, maintenance, and ownership needs to be sorted out.
- Working on local release package provided and referenced by NuttX project.
- Port created and provided: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259256.
esptool
- [DONE] Update
esptoolport utility so it flashes modern RISC-V ESP32-C3 MCU:- Port update 2.5.1 → 3.1 provided: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259235.
tools / initial configuration
- [DONE] Port initial configuration scripts so they work on FreeBSD / *BSD platforms:
- [DONE] Patch upstream so it works out of the box on BSD: https://github.com/apache/incubator-nuttx/pull/4673.
References
- Official NuttX RTOS GitHub repository (please note that project is being currently transferred to Apache organization model thus “incubating” status).
- Official NuttX Applications repository (please note that project is being currently transferred to Apache organization model thus “incubating” status).