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,依然是正确的。
(以上仅代表我的个人意见)