欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ARM与嵌入式linux入门建议.docx

    • 资源ID:17795422       资源大小:19.88KB        全文页数:8页
    • 资源格式: DOCX        下载积分:15.18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15.18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ARM与嵌入式linux入门建议.docx

    ARM与嵌入式linux入门建议网络转载导语:由于很多人总问这个问题,所以这里做一个总结文档供大众参考。这里必须先讲明,以下的步骤都是针对Linux系统的,并不面向WinCE。由于很多人总问这个问题,所以这里做一个总结文档供大众参考。这里必须先讲明,以下的步骤都是针对的,并不面向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、linuxkernel(linux内核)、rootfile(根文件系统)。那么这3局部是怎么互相协作来构成这个系统的呢?各自有什么用呢?三者有什么联络?怎么联络?系统的执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就打下了另一个重要的根基。介绍这方面的资料网上可以挖掘到几吨,自己好好研究吧。第四,开场做系统移植。上面讲到完好的linux有3局部,而且你也知道了他们之间的关系和作用,那么如今你要做的便是自己动手学会制作这些东西。当然我不可能叫你编写这些代码,这不实现。事实上这个3者都能在网下载到相应的源代码,但是这个源代码不可能下载编译后就能在你的系统上运行,需要很多的修改,直到他能运行在你的板子上,这个修改的经过就叫移植。在进展移植的经过中你要学的东西很多,要懂的相关知识也很多,等你完成了这个经过你会发现你已经算是一个初出茅庐的高手了。在这个经过中假如你很有研究精神的话你必然会想到看源代码。很多书介绍你怎么浏览linux源代码,我不提倡无目的地去看linux源代码,用许三多的话讲,这没有意义。等你在做移植的时候你觉得你必须去看源代码时再去找根本好书看看,这里我推荐一本好书倪继利的()linux内核的分析与编程),这是一本针对linux-2.6.11内核的书,讲得很深,建议先进步自己的C语言编程程度再去看。至于每个局部的移植网上可以以找到好多吨的资料,自己研究研究吧,不过要提醒的是,很多介绍自己经历的东西都或者多或者少有所保存,你按照他讲的去做总有一些问题,但是他不会告诉你怎么解决,这时就要靠自己,假如自己都靠不住就找我一起研究研究吧,我也不能保证能解决你的问题,因为我未必遇到过你的问题,不过我相信能给你一点建议,也许有助你解决问题。这一步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进展修改,最终运行在板子上。盗用阿基米德的一句话:给我一根网线,我能将linux搞定。第五,研究linux驱动程序的编写。移植系统并不是最终的目的,最终的目的是开发产品,做工程,这些都要进展驱动程序的开发。Linux的驱动程序可以讲是五花八门,linux2.4和linux2.6的编写有相当大的区别,就是同为linux2.6但是不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植一个不算很新的版本内核,这样到时学驱动的编程就有足够的资料了。这局部的推荐书籍可以参考另一篇文章()推荐几本学习嵌入式linux的书籍)。第六,研究应用程序的编写。做作品做工程除了编写驱动程序,最后还要编写应用程序。如今的趋势是图形应用程序的开发,而图形应用程序中用得最多的还是qt/e函数库。我一直就使用这个函数库来开发自己的应用程序,不过我祈望你能使用国产的MiniGUI函数库。盗用周杰伦的广告词就是支持国产,支持MiniGUI。MiniGUI的编程比拟相似Windows下的VC编程,比拟容易上手,效果应该讲是相当不错的,我曾使用过来开发ARM7的程序。不过MiniGUI最大的不好就是没有像qtopia这样的图形操作平台,这大大限制了他的推广,我曾经梦想过与北京飞漫公司(就是MiniGUI的版权拥有者)合作使用MiniGUI函数库开发像qtopia这样的图形操作平台,不过由于程度有限这只能是梦想了,呵呵。完成这一步你根本就学完了嵌入式linux的全部内容了。还有一个小小的经历想和大众共享。我在学习嵌入式linux的经过中很少问人,客观原因是身边的教师、同学师兄都没有这方面的高手,主观原因是我不喜欢问人,喜欢自己研究解决问题。这样做有个好处,就是可以进步自己解决问题的才能,因为做这些东西总有很多问题你难以理解,别人也没有这方面的经历,也不是所有问题都有人给你答案,这时必需要自己解决问题,这样,个人的解决问题才能就显得非常关键了。因此我的建议就是一般的问题到网上搜索一下,确实找不到答案了就问问高手,还是不行了就自己去研究,不要一味去等别人帮你解决问题。记住,问题是学习的最好时机。

    注意事项

    本文(ARM与嵌入式linux入门建议.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开