Can confirm that multiple real time systems are used. They are controlled by a non real time Linux system.
https://en.wikipedia.org/wiki/Comparison_of_embedded_compute...
I recall an early bug in the 2004 MERS duo. They were the first to use flash memory and its new drivers. The file freelist busted and the OS kept on rebooting. Fortunately a fix was uploaded from Earth.
https://en.wikipedia.org/wiki/Spirit_(rover)#Sol_17_flash_me...
> On sol 20, the command team sent it the command SHUTDWN_DMT_TIL ("Shutdown Dammit Until") to try to cause it to suspend itself until a given time.
>
> It seemingly ignored the command.
Mo' files, Mo' problems.
https://www.linuxfoundation.org/en/blog/real-time-linux-cont...
You need a specialized fab manufacturing, etching and packaging process for this and it's not like regular fabs are cheap to begin with. Plus you're working from the start with much larger nodes with dedicated cell libraries so everything has to be designed from scratch to fit that node which means you can't reuse consumer off the shelf designs very easily.
Then there's the lack of economies of scale in building such custom parts in small numbers. I imagine if Apple would only order 100 5nm chips per year from TSMC, the unit price would be equally eye watering.
seriously, that's something I haven't thought much about. when designing rovers, do they calculate solely on the weight of what it will be on the destination, or limit it to weight limits of escaping earth's gravity well?
Launch mass is important as a constraint, but the launch environment is the main design driver for mass. The rover must be much stiffer than the rocket to not “couple” it’s response. The first vibration mode (think tuning fork) of a rocket is about 20Hz so the spacecraft inside needs a first vibration mode higher than 40Hz. Something inside the spacecraft similarly needs a first vibration mode higher than 60Hz or 80Hz, although you can make exceptions based on analysis.
But that’s not all, the sustained load on components during launch can easily be 10 to 30 times gravity (30G) and the instantaneous load can be 100G. You can’t just add material for these kinds of loads, it would be an endless feedback loop because adding mass decreases stiffness. Look closely and you’ll see that every deployable or movable part of the rover is locked down by a mechanism until it has landed.
I'm guessing the faster CPU is just not necessary for the core rover, so via KISS, use the proven chips.
The un-informed usually thinks "real-time" means "hard real-time", but that's seldom necessary, so one can save on additional expense and effort by using a regular linux distro and removing most of the daemons and file location indexing.
I've done real-time development (for Space Shuttle, rocket and balloon projects), and largely all I care about is if a circular buffer can be emptied in time before it fills. That's one technique for avoiding latency variation issues.
The versions of linux that you would normally encounter aim for music real-time, which is about 10 ms latency. 30 ms is considered to be bad.
Most of the pro Yamaha synths use linux as the embedded OS, and some of the code is downloadable (they attempt to comply with the letter of the GPL.) So you can go down to Guitar Center and do a real-time test anytime yourself. :)
The iPhone is pretty good for music, because it was designed to have low latency when playing.
https://www.synthtopia.com/content/2018/02/17/10-years-later...
https://superpowered.com/androidaudiopathlatency
Looks like Wind River discontinued RTLinux, which was hard real-time (a real shame actually, as it removes one of the few hard real-time options):
https://niklasnisbeth.gitlab.io/mpc-internals/
However I don’t remember the GPL being mentioned anywhere when I had my MPC X. I sold it recently because of not having any money. But I hope to own one again in the future. If I ever do have one again I will probably have a closer look at what it says about the GPL, and then try and get a copy of all of the open source portions of the firmware directly from Akai.
We went with a 5.33ms quantum on the Xbox 360 (vs. Window's 10ms), and tried to stay out of the way as much as possible to ensure minimal latencies: https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudi...
Xenomai is still under somewhat active development.