A PX4 noob here. For a noob, I managed to fly my drone, crash it, and do it all over again!
My questions here are:
I read the documentation a little bit and know that PX4 runs on NuttX. Where is the OS installed, if at all? Is it supposed to be embedded in the corresponding hardware (e.g., PixHawk)? Are manufactures of hardware responsible to take care of the OS installation? Is this also part of the PixHawk Standards?
Nuttx is compiled together with the firmware, that means when you update the firmware, you are also deploying the OS together to the avionics. If you check the source code of the PX4 https://github.com/PX4/PX4-Autopilot, you can find that the Nuttx is a submodule. This is a quite common approach when using Embeded RTOS.
Whoa! That is amazing! In a sense that in whole of 2 MB there is the firmware and the OS both! Does this mean that when I compile the code from the source, the compiler compiles both the OS and the firmware?
Can you please point me to the code where this NuttX is as a submodule? Is that the one in the ‘platforms’ folder?
Sorry for the late reply and maybe you already figured it out. Yes the nuttx presents in the platforms folder. The “submodule” I said is by means of git because the nuttx is not directly contains in the source code of the PX4, but a link to another git repo which contains the code for the nuttx. That just by means of VCS, in the end you can access all the code inside the PX4 source folder.