没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Figolqt 原创
由于很多人总问这个问题,所以这里做一个总结文档供大家参考。
这里必须先说明,以下的步骤都是针对 LinuxWinCE。也许你会注意到,现
在做嵌入式的人中,做 linux 研究的人远比做 WinCE 的人多,很多产家提供的资
料也是以 linux 为主。我一直很难理解,其实 WinCE 的界面比 linux 的界面好看
多了,使用起来也很方便,更为重要的是,WinCE 的开发和 Windows 下的开发
基本一样,学起来简单得多,但是学 linux 或者使用 linux 做嵌入式的人就是远
比 WinCE 多。在和很多工作的人交流时我了解到,他们公司从没考虑使用 Win
CE,因为成本高,都是使用 linux 进行开发。我读研究生的的实验室中也没有使
用 WinCE 的,大都研究 linux,也有少部分项目使用 vxwork,但是就没有听说
过使用 WinCE 的,原因就是开源!当然现在 WinCE6.0 听说也开源,不过在成
本和资源上 linux 已经有了无人能挡的优势。与此相对应的是,越来越多的电子
厂商已经开始使用 linux 开发产品。举个例子,Google 近期开发的智能手机操作系统 Andr
oid 其实就是使用 linux-2.6.23 内核进行改进得到的。
第一,学习基本的裸机编程。
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须
深刻认识该硬件的控制方式,如果一开始就学 linux 系统、学移植那么只会马上
就陷入一个很深的漩涡。我在刚刚开始学 ARM 的时候是选择 ARM7(主意是当
时 ARM9 还很贵),学 ARM7 的时候还是保持着学 51 单片机的思维,使用 AD
S 去编程,第一个实验就是控制 LED。学过一段时间 ARM 的人都会笑这样很笨,
实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终
都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好
很多了
学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他
为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎么组织这么多资源的,
这些资源又是怎么由 cpu、由编程进行控制的。比如说,s3c2410 中有 AD 转换
器,有 GPIO(通用 IO 口),还有 nandflash 控制器,这些东西都有一些寄存器
来控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存
器来控制这些外围设备的运转?还有,noRFlash 内部的每一个单元在这个芯片的
内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么
关系?他们是一样的吗?而与 norflash 相对应的 nandflash 内部的储存单元并不
是线性排放的,那么 s3c2410 怎么将 nandflash 的地址映射在内存空间上进行使
用?或者简单地说应该怎么用 nandflash?再有,使用 ADS 进对 ARM9 行编程时
都需要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是
什么意思?不要这个可以吗?
诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解了,这
对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会
觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。
资源评论
- 抱着嫦娥逗玉兔2013-05-23我個人覺得不錯 適合初學者對linux瞭解 不錯
- firerun2013-05-28对我不太实用。
- dreamband2013-02-26不错,嵌入式前途一片大好
- a3318623262012-12-23作者很用心,以后有问题得好好请教!!
airman33
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功