2009年10月07日 下午 11:17
最近在做一个嵌入式Linux项目,用了一个magicARM2410 linux2.4.18内核的试验箱。本来是过来直接做应用程序的,需要用到一个数模转换,准备用试验箱arm芯片s3c2410集成的ADC,在试验箱里的光盘里找了好久,最后才发现这个试验箱不带ADC驱动,于是只有硬着头皮开始学习驱动开发,试着去写ADC驱动,其实网上也有很多驱动,但是都不是我这个s3c2410的ADC驱动。后来自己摸索着开始学习,知道把项目模块做出来,到今天,模块测试成功,想给我自己的嵌入式linux开发入门做一下总结
对于嵌入式linux的开发入门,网上众说纷纭,但是从我开始做单片机开发到今天转做嵌入式开发来看,我想强调很重要的几点。
第一,其实在你想做嵌入式linux的时候,要对自己有信心。很可能自己以前学习的不是这个专业或者以前没有接触过,就像我一样,我以前也没接触过嵌入式,一旦我们确定了自己要做嵌入式,我想摆在我们面前的最大的一个难题就是,嵌入式对我们很模糊,好想心理面有好多好多阴霾,不用怕,请相信自己,新手都是这样,有疑团,才会激发我们探索的动力和激情。相信自己,在不久的将来自己会摸到嵌入式的棱角的,摸清他的面貌的。
第二:永远不要单干。团队的力量,不管是从思维还是资源方面,团队总要比一个人单枪匹马来的快,也许你自己摸索一个月还不如团队的合作一天的收获多,而且团队最好要有一个有激情的队长,在大家都低沉,或者是信心不强烈的时候,队长要带着大家渡过难关
第三:把学习穿插到日常生活中。一旦决定要学,就从现在开始学习,永远不要希望人的一生会腾出一段时间来让你去专门学习嵌入式的,就像当你出生的时候,永远不可能会专门腾出一段时间来让你专门学走路,最终情况是你学走路的同时很可能也在学习说话,学习吃饭。所以,对于学生来说,永远不要试图把学习嵌入式挪到假期,因为你不能预料到假期你会发生什么而耽误你学习的时间。
第四:需要用到什么学什么。不要企图把linux,arm等所谓的什么教程之内的书看完了再去做开发。个人觉得linux,只要知道大概,只要知道简单的命令,会用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式linux和linux开发环境的配置。嵌入式linux是在开发板里面的linux。而单纯的说linux说的是PC上的linux。遇到问题,我们就去解决,要解决,我们就可以翻书,查资料,这样既可以缩短项目开发周期,又可以学习,这样就避免了可能你把一本关于linux的书看完了,你还不知道如何去做嵌入式linux开发。
第五:不管你要做什么开发,装上linux后,请安装英文版的,并且尽量在无图形界面写工作。因为很多公司都明确禁止用linux图形界面和中文版的。
第六:不管做什么开发,应用开发,或者是驱动开发,都要先编译内核,因为有好多文件是只有你编译内核之后才能产生的,而这些文件,很可能就是你要用的。
第七:做应用开发,首先用从读懂驱动入手。不要求你会写驱动,但是起码要读懂驱动,这样才有助于应用开发
第八:除非你的嵌入式开发板是跑裸机,也就是没有linux系统,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情况,一旦你有linux系统,你的程序时不可能直接操作硬件的。明白这一点,你就不会向我一样,开始做嵌入式linux应用的时候以为可以和单片机一样,直接控制引脚来写程序了。有了linux,用主要用的系统提供给用户的接口。
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/feiyinziiuxx/archive/2009/08/15/4448472.aspx