1. 國產龍芯主板編譯出的首個程序
作為國產晶元的希望,寄託著眾多人的希望,中國從無芯都閑著有芯,而且現在編譯出首個程序。都是值得振奮人心的消息。
作為搭載了與北斗衛星上龍芯1E同源的龍芯1C,其集成了主頻300MHz的LS232雙發射處理器、擁有網口、USB口、SD卡槽等,可以運行嵌入式linux、RT-Thread等操作系統。
據龍芯俱樂部報道,基於龍芯1C的開源「智龍」主板用戶已經自行編譯出了第一個程序,發出了問候「Hello open smart loongson board!」。
使用中的開源龍芯智龍主板
據悉,這位主板用戶一共用了10個步驟,編譯中使用了Linux虛擬機和GCC編譯器(詳細步驟)。
首先要建立交叉編譯環境,linux+GCC。交叉編譯採用的是ubuntu系統,可以在電腦上裝雙系統(windows+ubuntu)或者在虛擬機上安裝ubuntu,此處用戶是採用了虛擬機。編譯器採用的是龍芯優化的GCC編譯器gcc-4.3-ls232-static.tar.gz。編譯環境建立好後,簡單寫一個hello.c的c語言文件,並開始編譯。
搭建交叉編譯系統環境
編寫Hello程序
然後找到龍芯的編譯器命令mipsel-linux-gcc並執行,生成綠色的hello文件,這就是在開源龍芯板子上直接運行的二進製程序了。將hello文件拷到U盤中,插在智龍主板的USB介面上。
程序插入USB介面串口接入主板Linux系統
接著利用串口調試,進入智龍主板的linux系統(debian),在龍芯的debian系統中運行程序。
運行結果是列印了三句話:
Helloopensmartloongsonboard!
ThisisvoicefromNanking!
運行Hello程序
另據了解,已經有創客用戶正將智龍主板與串口屏幕聯接,用於搭建家庭啤酒發酵系統,同時也可以作為溫濕度等環境監測系統使用。
2. 龍芯為什麼採用了mips指令集,而沒有使用arm指令集
不僅僅是MIPS的架構完整性 與授權較寬松問題 還有一個重要因素—程序鏈
雖然如今Arm吵得火,Arm V8(64bit)更火。但是ARM V8還是一個新生的指令集組合(2011年發布,數據來自維基網路)。相對應的系統內核,編譯器,支持庫方面還不太完整(當然,跟進速度很快)還需要一段時間才能完善。
而MIPS不同,正如@破布 所說 。MIPS來自上世紀90年代的微架構大混戰時期。 MIPS是世界上最早商業化的64位架構之一(雖然現在MIPS已經沒落,被收購)。但是作為歷史積累。MIPS64不僅僅有完善的微架構設計,而且還有較為完整的軟體鏈支持。
我記得沒錯的話,龍芯2B開始支持64位(2003年,數據來自維基網路)。而那時,ARM還僅有ARM 11架構,更不用說現在的ARM V8指令集組了。
我的看法:MIPS雖然已經衰弱,但,MIPS現在同樣還可以作為高通用性微架構使用。我感覺,龍芯選擇MIPS,依然是正確的。
(以上僅代表我的個人意見)