Some personal feelings about “NuttX on RiscV”.
Some high level things in common:
RiscV has 4 priledge levels: Machine, Hyperviosr, Supervisor and User. Chips can choose to support:
NuttX has multiple build modes as well:
More specifically we can use NuttX on RiscV as below1:
Build | M-mode | S-mode | U-mode |
---|---|---|---|
FLAT | Yes | Yes | |
PROTECTED | Kernel | — | Apps |
KERNEL | SBI2 | Yes | Apps |
Though RiscV wants to be as sucessful as Linux, Linux doesn’t run on many low-end RiscV chips yet. On the other side, NuttX runs on almost all types of RiscV chips, from simple MCUs to multi-core SMP chips with MMU.
NuttX is following RiscV closely. For example, it is the first RTOS supportinng the RV64ILP32 ABI to manage 64-bit AIoT chips in an efficient manner.
If your target system requires Fast booting, Tiny footprint, Tealtime scheduing and Standard compliant programming interface, then NuttX is a good choice. The combination of NuttX and RiscV can create a solid base for your AIoT stack.