标签:文件 linux嵌入式 简单 硬件 yaf 第一步 一起 时间 其他
很多学习嵌入式的人来说,都会学习嵌入式linux开发,在学习的过程中,总会有很多难题,相对而言,嵌入式linux也算是嵌入式学习中比较难的,那如何可以攻破这个难点,那么我们就需要从根本入手,学习嵌入式linux最重要的一个点就是嵌入式linux开发的流程,看看嵌入式开发大牛是如何认识嵌入式linux开发的,这里有一些总结的具体开发流程,当然除了流程外,肯定也会遇到很多问题,这里也会为你解答。linux嵌入式开发流程,听听牛人怎么说
再来就是嵌入式Linux操作系统移植 www.hqyj.com 了,想要嵌入式linux工程师挣得多,月薪达到13000,那么还是需要掌握下面的知识的
1、嵌入式linux开发流程
如果有专门针对你使用的CPU的Linux再好不过,比如uCLinux、ARM-Linux、PPC-Linux等,如果没有,就要尝试移植专属自己的linux了,然后再添加自己特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于uCLinux这样的系统则需要编译进内核,与内核为一体,再进行调试。最好的就是下载别人已经移植好的Linux操作系统来弄,这样会高效
2、接下来就是根文件系统了
前面的文章讲述过,没有根文件系统的Linux是无法正常工作的,还需要根文件系统。所以需要下载使用busybox软件来实现制作根文件系统。
再根据自己的应用需要来添加其他程序,默认的启动脚本一般都不会符合应用的需求(因为所有的嵌入式开发都是自由定制的),所以就要修改根文件系统中的启动脚本,它的存放位置至于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂载文件系统的配置文件/etc/fstab,其实就是定制自己要开机启动的程序,具体情况会随着系统的不同而不同,根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生少些映像文件。记得这一步要看好,别为了省时间写错。
弄好上面那么接下来就简单了就是建立应用程序的Flash磁盘分区
一般会使用jffs2或者YAFF文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用NOR FLASH,有的系统使用NAND FLASH,也有的系统两种flash都使用,到时候就看具体情况了。
3、开发应用程序
应用程序可以放到根文件系统中,也可以放到yaffs、jffs2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,就是类似于uCOS-II的方式。
其实,上面的那些步骤也就是为了这一步,在这里你要注意他有三种呈现方式:
(1)直接讲应用程序和内核设计在一起,类似与uCOS-II的方式
(2)基于qt等GUI开发应用程序
(3)没有屏幕,只有简单的人机接口,比如串口,按键,数码管,这种也能实现复杂功能开发
现在就是对烧写内核、根文件系统、应用程序的加载了(其实差不多也就完了)
无论怎么加载,模块也好,所有的这些开发,过程资料,都是要烧写到flash中的,然后应用程序需要什么,就加载对应的功能程序即可。
4、发布产品
开发一款中高型的控制器设备,功能比较复杂,甚至需要复杂的屏幕交互,比如手机(安卓是linux的亲儿子,OS是linux的亲表弟),取款机,服务器交易系统,那么linux就非常合适了。
开发一款小型控制器设备,如果功能不太复杂,可以使用稍微高级的CPU,裸机或者ucos等来开发,也很方便,也能做很多定制版的工业小型控制器。
根据我多年的经验总结都在这里,而且嵌入式linux的开发流程也就是这些了,跟着上面的这些步骤,掌握嵌入式linux的学习还是很简单的,这些方法你都get到了吗,都是实战经验。
标签:文件 linux嵌入式 简单 硬件 yaf 第一步 一起 时间 其他
原文地址:http://blog.51cto.com/14058014/2313376