arm与嵌入式linux入门的建议.doc

arm与嵌入式linux入门的建议.doc

ID:51190232

大小:66.00 KB

页数:3页

时间:2020-03-20

arm与嵌入式linux入门的建议.doc_第1页
arm与嵌入式linux入门的建议.doc_第2页
arm与嵌入式linux入门的建议.doc_第3页
资源描述:

《arm与嵌入式linux入门的建议.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、山于很多人总问这个问题,所以这里做一个总结文档供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向WinCE。也许你会注意到,现在做嵌入式的人屮,做linux研究的人远比做WinCE的人多,很多产家提供的资料也是以linux为主。我一直很难理解,其实WinCE的界面比linux的界面好看多了,使用起•來也很方便,更为垂要的是,WinCE的开发和Windows下的开发基本一样,学起來简单得多,但是学linux或者使用linux做嵌入式的人就是远比WinCE多。在和很多工作的人交流时我了解到,他们公司从没考虑使用WinCE,因为成本高,都是使用linux进行开发。我读研究生的

2、的实验室中也没有使用WinCE的,大都研究linux,也有少部分项目使用vxwork,但是就没有听说过使用WinCE的,原因就是开源!当然现在WinCE6.0听说也开源,不过在成木和资源上linux已经有了无人能描的优势。与此相对应的是,越來越多的电子厂商已经开始使用linux开发产品。举个例子,Google近期开发的智能手机操作系统Android其实就是使用linux-2.6.23内核进行改进得到的。第一,学习基本的裸机编程。对于学攸件的人而言,必须先对硕件的基本使用方法有感性的认识,更必须深刻认识该换件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在

3、刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制led,学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此対这些硬件的控制有了感性的认识就好很多了学习裸机的编程的同时要好好理解这个换件的构架、控制原理,这些我称他为理解破件。所谓的理解破件就是说,理解这个硬件是怎么组织这么多资源的,这些资源又是怎么山cpu、山编程进行控制的。比如说,S3C2410中有AD转换器,有GPIO(通用I0口),还有nandf

4、lash控制器,这些东西都有一些寄存器來控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还育,norflash内部的毎一个单元在这个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9fi编程时都需:要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里血的代码是什么意思?不要这

5、个可以吗?诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解r>这对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。不过先声明一下,本人并没有使用ADS对ARM9进行编程,我是学完ARM7后直接就使用ARM9学linux系统的,因此涉及使用ADS对ARM9进行编程的问题我很难冋答人_人,自己去研究研究吧。对于这部分不久将提供一份教程,这个教程屮的例程并不是我为我们所代理的板子写的,是我在我们学院实验宗拿的,英培特为他们自己的实验箱写的,不过很有借鉴意义,可以作为一份有价值的参考。第二,使用linux系统进行

6、一些基本的实验。在买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有置义的,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按照手册上的例程做一做里血的实验,虽然有点娃娃学走路,有点弱智,但是我想很多高手都会经历这个过程。在这方面我们深蓝科技H前没有计划提供相应的例程,主要是开发板的提供商会提供很丰富的例程,我们不做匝复工作,只提供他们没有的、最有价值的东西给大家。第三,研究完整的linux系统的的运行过程。所谓完整的linux系统包括哪些部分呢?三部分:bootloader、linuxkerne

7、l(linux内核)、rootfile(根文件系统)。那么这3部分是怎么相互协作來构成这个系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的执行流程又是怎么样的呢?搞淌楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就打下了另一个垂要的根基。介绍这方面的资料网上可以挖掘到几吨,自己好好研究吧。第四,开始做系统移植。匕血说到完整的linux有3部分,而且你也知道了他们之间的关系和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。