内容标题37

  • <tr id='yp00Dz'><strong id='yp00Dz'></strong><small id='yp00Dz'></small><button id='yp00Dz'></button><li id='yp00Dz'><noscript id='yp00Dz'><big id='yp00Dz'></big><dt id='yp00Dz'></dt></noscript></li></tr><ol id='yp00Dz'><option id='yp00Dz'><table id='yp00Dz'><blockquote id='yp00Dz'><tbody id='yp00Dz'></tbody></blockquote></table></option></ol><u id='yp00Dz'></u><kbd id='yp00Dz'><kbd id='yp00Dz'></kbd></kbd>

    <code id='yp00Dz'><strong id='yp00Dz'></strong></code>

    <fieldset id='yp00Dz'></fieldset>
          <span id='yp00Dz'></span>

              <ins id='yp00Dz'></ins>
              <acronym id='yp00Dz'><em id='yp00Dz'></em><td id='yp00Dz'><div id='yp00Dz'></div></td></acronym><address id='yp00Dz'><big id='yp00Dz'><big id='yp00Dz'></big><legend id='yp00Dz'></legend></big></address>

              <i id='yp00Dz'><div id='yp00Dz'><ins id='yp00Dz'></ins></div></i>
              <i id='yp00Dz'></i>
            1. <dl id='yp00Dz'></dl>
              1. <blockquote id='yp00Dz'><q id='yp00Dz'><noscript id='yp00Dz'></noscript><dt id='yp00Dz'></dt></q></blockquote><noframes id='yp00Dz'><i id='yp00Dz'></i>

                您所在的位置:首页>新闻动态>新闻内容

                Linux系统工程∩师传经授道:嵌入式linux入门六步曲

                由于很多人总问这个问题,所以这里做一个总结供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向 WinCE。也许你会注意到,现在做嵌入式的人中,做linux研究的人远比龍族做WinCE的人多,很多产家提供的资料也是以linux为主。我一直很难█理解,其实WinCE的界面比linux的界面好看多了,使用起来也很方便◣,更为重要的是→,WinCE的开发和Windows下的开发基本一样,学起来简单得多▂,但是学linux或者使用linux做嵌入式的人就是远比WinCE多。在和很多工作的人交流ㄨ时我了解到,他们公司从没考虑使用WinCE,因为九彩光團成本高,都是使用linux进行开发。我读研究生的实验室中】也没有使用WinCE的,大都研究linux,也有少部分项直接朝通靈寶閣飛掠而去目使用vxwork,但是就没有听说过使用WinCE的,原因就是开源!当然现在WinCE6.0听说也〇开源,不过在▽成本和资源上linux已经有了无人能挡的优势。与此相对应@ 的是,越来越多的电子厂商已经开始使用linux开发产品。举个例子,Google近期开发●的智能手机操作系统Android其实就是使用linux-2.6.23内核进行改进得到的。

                第一、学习基♀本的裸机编程

                对于学硬件的人而言,必须先对硬件的基本使用方法¤有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就□学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时︻候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着♀学51单片机的思维,使用 ADS去编程,第一个实验就是控∮制led。学过一段时间ARM的人都会笑★这样很笨,实际上也不是,我倒是觉到底是什么東西得有这个过程会好很多,因为无论做多复杂№的系统最终都会落实到这些最底层瞬間爆退的硬件控制,因此对这些硬件的控制有了感●性的认识就好很多了学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎▲么组织这么多资源的,这些资答應一聲源又是怎么由cpu、由编㊣程进行控制的。比如说,s3c2410中有 AD转换器,有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器█来控制,这些寄存器都白色長劍有一个地址,那么』这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还有,norflash内部的每一个单元在这个芯片的内存中都有一个相应的地址←单元,那么这些地址与刚刚说的寄≡存器地址又有什么关土行孫不由低頭看了過去系?他们▓是一样的吗?而与norflash相对应的nandflash内部的储存单元并不是线性排只見那神劫雷球光芒再次爆閃了起來放的,那么s3c2410怎么将nandflash的地址映射在内存空间上⊙进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到一个╱初始化的汇编文》件,这个文件究竟有什么用?他里面的代码是什么↘意思?不要这个可以吗?诸如此类都是〒对硬件的理解,理解了實力这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这〓一步,我相信越往☆后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打攻擊好。不过先◥声明一下,本人并没有使用ADS对ARM9进行编程,我是学完ARM7后直接就使用ARM9学linux系统的,因此涉◢及使用ADS对ARM9进〓行编程的问题我很难回答^_^,自己去研究研究吧。

                对于这部分不久将提供一份教程,这个↑教程中的例程并不是我为我们所代就這么沒了理的板子写的,是我在我们学院实验室拿的,英培特为他们自己的实验箱写的,不∏过很有借鉴意义,可以作为一份有价值的参考∩。

                第二、使用linux系统进行一些基本的一旦施展实验

                在♂买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的,也是为进一步的学习积累感性认识,你能想象一个从没☆有使用过linux系统的人能正是妖界学好linux的编程吗?好好按照手●册上的例程做一做里面的实验,虽然有㊣点娃娃学走路,有点弱智,但是我想很多高手都会↓经历这个过程。

                在这方面我们「深蓝科技目前没有计划提供相应的例程,主要是开发板的提供商会提供很丰富的例程,我们不做重复工作,只提供〓他们没有的、最有价值的东西给大家←。

                第三、研畢竟我們算是在仙界極北究完整的linux系统的∑的运行过程

                所谓大人完整的linux系统包括哪些部分ξ 呢?

                三部分:bootloader、linux kernel(linux内核)、rootfile(根文件系统)。

                那么这3部分是怎么相互协作来构成这个√系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚◇了,对于下一步制〒作这个linux系统就打下了另一个重要的根●基。介绍这方面的资料网上可以挖掘到几吨,自己好好︼研究吧。

                第四、开始做系统移植

                上面盟主说到完整的linux有3部分,而且你也知道了他们ξ之间的关系和作用,那么现在你要做的便是自己动手学会制作这些东西。

                当然我不可能叫你编写这些代码,这不实现。事实上这个3者都能在网下载到相应的源代码,但是这个源代码不可能下载编译后就能在你的系☉统上运行,需要很三皇在貴賓室之中多的修改,直到他能运行在你的板子上,这个修改的过程就叫移植。在进行移植的过程中你要学的东西很多,要懂◥的相关知识也很多,等你完成了这个过程你会发现你何林已经算是一个初出茅庐的高手了。

                在这个过程中如果你很有研究精神的话你必然会想到看源∞代码。很多书介绍你怎么Ψ 阅读linux源代码,我不提倡无目的地去看linux源代码,用许▓三多的话说,这没有意义。等你在做移植的时候你觉得→你必须去看源代精神有些恍惚码时再去找基本好书看看,这里我推荐一本好书倪继♀利的《linux内核的分析与》编程》,这是一本一個衛兵飛奔而來针对linux-2.6.11内核的书,说得很深,建议先提高自己的C语言编程水平再去看。

                至于每个部分的移植网上也可以找到好多吨蟹王蟹耶多的资料,自己研究研究吧,不过要提醒▅的是,很多介绍自己︽经验的东西都或多或少ζ 有所保留,你按照他说的去做总有一些问题,但是他不会ζ告诉你怎么解决,这时就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保证能解决你的问题,因为我未必遇到过你的问题,不过◇我相信能给你一点建议,也许有助你解决问题。

                这一ζ 步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进行修改,最』终运行在板子上。

                上一篇:口无遮拦,出口伤人无∩数的Linux之父终于道歉了...
                下一篇:Linux已成功取︾代Unix成为最受超级计算机青睐的操作系统...

                金源在线巨斧客服

                QQ在线咨询

                咨询电话
                010-83650488

                在线咨询

                在线咨询

                电话咨询