你应该能注意到现在做嵌入式的人里,做Linux的人远远要比做wince的人多,其实wince的界面没有Linux好看,而且Linux也比较难一些,但还是选择Linux的人比wince多,下面一起来看看ARM与嵌入式Linux的入门建议吧。
在和很多工作的人交流时我了解到,他们公司从没考虑使用WinCE,因为成本高,都是使用linux进行开发。原因就是开源!当然现在WinCE6.0听说也开源,不过在成本和资源上linux已经有了无人能挡的优势。与此相对应的是,越来越多的电子厂商已经开始使用linux开发产品。
ARM与嵌入式Linux的入门建议
第一、学习基本的裸机编程
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。
第二、使用linux系统进行一些基本的实验
买一套板子的话,一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按照手册上的例程做一做里面的实验。
第三、研究完整的linux系统的的运行过程
三部分:bootloader、linux kernel(linux内核)、rootfile(根文件系统)。
第四、开始做系统移植
上面说到完整的linux有3部分,而且你也知道了他们之间的关系和作用,那么现在你要做的便是自己动手学会制作这些东西。当然不可能叫你直接编写这些代码,这也不实现。事实上这3者都能在网上下载到相应的源代码,但是这个源代码不可能下载编译后就能在你的系统上运行,需要很多的修改,直到他能运行在你的板子上,这个修改的过程就叫移植。在进行移植的过程中你要学的东西很多,要懂的相关知识也很多,等你完成了这个过程你会发现你已经算是一个初出茅庐的高手了。
第五、研究linux驱动程序的编写
移植系统并不是最终的目的,最终的目的是开发产品,做项目,这些都要进行驱动程序的开发。
Linux的驱动程序可以说是五花八门,linux2.4和linux2.6的编写有相当大的区别,就是同为linux2.6但是不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植一个不算很新的版本内核,这样到时学驱动的编程就有足够的资料了。
第六、研究应用程序的编写
做作品做项目除了编写驱动程序,最后还要编写应用程序。现在的趋势是图形应用程序的开发,而图形应用程序中用得最多的还是qt/e函数库。不过我希望你能使用国产的MiniGUI函数库。支持MiniGUI”。MiniGUI的编程比较相似Windows下的VC编程,比较容易上手,效果应该说是相当不错的。
以上介绍的就是ARM与嵌入式Linux的入门建议了,其实你要是按照上面的步骤来学习嵌入式Linux的话,那么现在基本也就学完了,在学习过程中是肯定会遇到这样那样的问题的,这时候你也不能一味等着别人来给你解决ARM或者嵌入式相关的问题,如果比较简单的问题,也可以在网上找找答案。