Just out of interest , we know there's a lot of programming involved in the making of a satellite . Which languages are they written in ?
For ground operations c, c++, java and python are used. ISRO uses python for their satellite based operations and remote sensing. In addition to this Java C, C++ etc are also widely used among ISRO programmers/engineers.
Almost all of the safety critical software that runs on the US side of the Space Station is written in Ada.
Internal sources within the critical project added that: “Python allows us to tackle the complexity of programs like the WAS without getting bogged down in the language”. Moreover, another indication NASA utilizes Python for their projects can be found from their mega 400 open-source projects that they publicly opened.
The NASA satellite missions I've been involved with all used assembly language for the onboard software. There is a strong preference at NASA to use flight software with heritage -- reusing components (both hardware and software) with a proven successful history on previous missions. So rather than using compiled code on the latest, most powerful processors, we often end up using hand-coded assembly on wimpy, but tried-and-true, processors. For example, the THEMIS project, built in 2003 and launched in 2007, runs on Intel 8085 processors, with hand-coded assembly modules with heritage from previous missions like WIND, CLUSTER, and STEREO.
Since they have a custom architecture connected to miscellaneous I/O peripherals they should be programmed in C/C++ or directly in ASM for better performance and optimizations..
They are fully custom so I don't think there are other approaches to the problem, think also that they have to use really low energy (and must be charged by sun) so they tend to have not so powerful hardware and must be REALLY optimized (that's why ASM is the way). You shouldn't waste any single CPU cycle!
Lastly the kind of devices attached to a satellite are really uncommon so I think it's difficult to use any kind of standard API to interface (like RS232 or so on), I think they're different for every case.
I wouldn't surprise myself to find many old chips like Z80s doing the dirty work on a satellite just because they're powerful enough to do simple tasks although their 8bit bus!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With