Anyone has a clue or educated guess?
edit thanks to all answers provided, exactly the info I was looking for! And very interesting as well.
Anyone has a clue or educated guess?
edit thanks to all answers provided, exactly the info I was looking for! And very interesting as well.
I'm using the Mars Science Laboratory as an example here:
The MSL uses twin PowerPC RAD750 boards. If one of them fails, the rover could use the other as a backup. After all, you can't go out to Mars to fix a firmware update gone wrong. :) The RAD750's are hardened against radiation in space, and can withstand extreme temperatures. They run at about 200Mhz, and cost around $200.000 a piece. [1] [2]
It runs the realtime operating system VxWorks, which also happens to be what Apple uses for their Airport routers. :) [3]
NASA uses C as their main language, with specific coding standards. [4]
[1] http://en.wikipedia.org/wiki/Mars_Science_Laboratory#Rover [2] http://en.wikipedia.org/wiki/RAD750 [3] http://www.extremetech.com/extreme/134041-inside-nasas-curio... [4] http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
Any idea how that works practically? I mean, there are two boards and one set of peripherals. Is there like an external controller which constantly checks if board A is doing fine, and if not, somehow reroutes all peripheral communication to board B?
Presumably there's some basic functions in the radio stack they use where they can trigger operations like shutdown, startup, reboot, switch boards etc.
http://space.stackexchange.com/questions/593/on-board-comput...
Note that the RTX2010 uses Forth:
Alongside real time OS like VxWorks, QNX, Aonix, ....
There was a presentation at CppCon about Mars Rover.
"Why was RTG (Radioisotope thermoelectric generator) not used in Rosetta mission?"
https://news.ycombinator.com/item?id=8610585
Only US and Russia have the technology.