linux嵌入式开发流程,听听牛人怎么说

  

很多学习嵌入式的人来说,都会学习嵌入式linux开发,在学习的过程中,总会有很多难题,相对而言,嵌入式linux也算是嵌入式学习中比较难的,那如何可以攻破这个难点,那么我们就需要从根本入手,学习嵌入式linux最重要的一个点就是嵌入式linux开发的流程,看看嵌入式开发大牛是如何认识嵌入式linux开发的,这里有一些总结的具体开发流程,当然除了流程外,肯定也会遇到很多问题,这里也会为你解答。
对于嵌入式开发的流程其实是很简单的,但是里面是有很多小东西需要你注意的,这也是这么多年的经验,让我们先来看具体流程:
一、建立开发环境,首先你必须要会安装配置嵌入式linux开发环境,这个是基本
操作系统当然是linux,或者在赢得系统下安装虚拟机,通过网络下载相应的GCC交叉编译器进行安装,或者安装产品厂家提供的交叉编译器。
这一步,就相当于在赢得系统下,要安装一个IDE开发环境,如MDK, IAR等。在这一点上,我时常会因为这出现一些问题,就因为配置没配好,导致下面的步骤没法进行,报的错,要切记这里需要你仔细点。
二,配置开发主机
主要是配置小型计算机,也就是串口助手,小型计算机软件是作为调试嵌入式开发板信息输出的监视器和键盘输入工具,是一个非常方便的工具,我们开发其他嵌入式程序时,其实很多时候也采用串口调试,所以最终原理都是相通的。
1,嵌入式linux开发流程
配置网络,主要是配置NFS网络文件系统,这个主要是用于下载程序,当然不配置也可以,有很多别的办法。
三,建立引导装在程序的引导装载程序
常用的引导装载程序主要有u-boot,昕薇等,貌似主流的就是u-boot,这个根据自己具体的芯片进行移植修改。有些芯片是没有内置引导加载程序的,这就需要编写开发板上的Flash的少些程序,当然也可以用windows下的通过JTAG并口和仿真器少些Flash芯片程序,也有linux下的公开源代码的J-Flash程序,在自己做的时候,可以预留多重方式,这样是有用的。
简单的讲,其实就是要做好一个属于自己板子的u-boot,完成初始化,内核引导,下载,烧写等。其实在这一点上,也会是个难点,这里需要掌握的东西多,这一流程的烧写,内核引导,网络上有免费下载的windows下通过JTAG并口简易仿真器烧写手臂外围Flash芯片的烧写程序,也有linux下的公开源代码的J-Flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是系统正常运行的第一步。如果购买了厂家的仿真器当然比较容易烧写Flash,这对于需要迅速开发自己产品的人来说可以极大地提高开发速度,但是其中的核心技术是无法了解的。

  

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/摆在rc.S,/etc/profile,/etc/E渲梦募?自动挂载文件系统的配置文件/etc/fstab,其实就是定制自己要开机启动的程序,具体情况会随着系统的不同而不同,根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs, genromfs等工具产生少些映像文件。记得这一步要看好,别为了省时间写错。
弄好上面那么接下来就简单了就是建立应用程序的Flash磁盘分区
一般会使用jffs2或者汪汪文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用Flash,有的系统使用快闪记忆体,也有的系统两种闪光都使用,到时候就看具体情况了。
3,开发应用程序
应用程序可以放到根文件系统中,也可以放到yaffs, jffs2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,就是类似于uCOS-II的方式。

linux嵌入式开发流程,听听牛人怎么说