2010-02-22 38 views
6

出於興趣,我們知道有很多編程涉及製作衛星。他們寫了哪些語言?用於編寫衛星任務程序的語言?

+3

用於控制豐田加速器和制動系統的語言如何? – DOK 2010-02-22 19:11:16

+2

@DOK評論我在lwn.net的相關討論主題中寫道:http://lwn.net/Articles/374618/ – 2010-02-22 19:14:48

+0

謝謝大家,那真的很有趣:) – trinity 2010-02-23 17:45:42

回答

0

與其他任何軟件一樣,用於在衛星中執行某些功能的語言將是適用於各種業務和IT驅動程序的最合適的語言。

如果你環顧四周,你會發現航空航天中使用的不同語言的例子。考慮到你的問題,你可能想看看Ada,這通常被稱爲在'實時系統'中使用,這是一篇新聞文章,效果是here,一些非防禦用戶列出了here

3

因爲他們有一個自定義的架構連接到其他I/O外設,他們應該在C/C++或直接在ASM獲得更好的性能和優化編程..

他們完全自定義的,所以我不認爲還有其他方法可以解決這個問題,並認爲它們必須使用非常低的能量(並且必須由太陽來充電),所以它們往往沒有如此強大的硬件,並且必須經過優化(這就是ASM的原因)。你不應該浪費任何一個CPU週期!

最後,連接到衛星的設備種類真的很少見,所以我認爲使用任何標準的API接口很難(如RS232等),我認爲它們對於每種情況都是不同的。

我不會驚訝自己找到很多舊芯片,如Z80s在衛星上做骯髒的工作,只是因爲他們足夠強大,可以完成簡單的任務,儘管他們的8位總線!

2

提到C,C++和Ada here(是的,作者不能將「Ada」大寫)。 C代碼可以手寫或從Scade生成。

2

除了已經提到的可能性之外,至少one spacecraft由Lisp編寫的用於其部分航班的軟件控制。

9

美國國家航空航天局的衛星任務我已經參與了所有使用的板載軟件的彙編語言。美國國家航空航天局強烈希望使用飛行軟件傳承 - 重複使用組件(包括硬件和軟件),並在以前的任務中證明了成功的歷史。因此,我們通常最終在wimpy上使用手工編譯的程序集,但是經過實踐驗證的處理器,而不是在最新,功能最強大的處理器上使用編譯代碼。例如, THEMIS項目建於2003年,並於2007年推出,運行在Intel 8085處理器上,具有手動編碼的彙編模塊,具有以前任務(如WIND,CLUSTER和STEREO)的傳統。

0

美國國家航空航天局和洛克希德中心使用的大多數操作語言都圍繞着統計和微積分。因此意味着MATLAB,haskell,Erlang和scala。 MATLAB和Erlang是需要進行配置的重要組件。

雖然事情的硬件結束將圍繞Assembly,C和Verilog。

1

美國國家航空航天局使用多種語言,它根據其用途和使用位置而變化。爲某些計算和某些腳本編寫的程序主要是使用python編寫的。用於地面儀器和地面控制的程序使用C,C++,Ada等編寫。爲船上儀器和硬件編寫的關鍵程序主要採用彙編語言,因爲它可以最好地控制硬件,一些舊的語言也可以使用衛星上的許多硬件都是舊技術(這並不意味着它們過時了,因爲一些功能在沒有它們的情況下是不可能的),MatLab等其他語言也可用於科學計算。

相關問題