对嵌入式系统未入门者的释疑



NalaGinrut  (纳兰经若)  UID:531875

QUOTE:
原帖由 system_gong 于 2008-3-4 08:06 发表
我对嵌入式系统很感兴趣,可是一直以来都很疑惑:
系统(OS)是跑在硬件系统上,我始终搞不明白软件的代码是怎么控制硬件的行为的,就是说我写的代码如果控制实际的计算机行为,大部分嵌入式系统都是用在工业控 ...
-----------------------------------------------------------------------------------------------------------------------------
其实软件控制硬件行为很简单,简单到说了你也不相信,那就是:
只要它有能力做到的,你叫它做它就做,你没说要它做,它一定不会自己去做

那怎么跟它沟通才能叫它做?其实说白了还是得用机器语言
但是机器语言其实是非常简单的,当然如果你要亲自去设计它的话是非常难的
机器语言其实就是这样一种东西:
规定了某个(或某几个)位的有效值将产生某种行为,那你需要做的就是用软件让芯片从电路的层次让这几个位对应的的引脚产生相应的电平
比如芯片里面规定了某个控制寄存器的第3位置高电平将使得电机启动,那你想让它启动,就的想办法在寄存器第3位写入1,这样芯片在对应引脚就会产生高电平信号

我不知道你听懂没有,如果没有,那我猜测你会有以下疑问:
1、怎么知道控制寄存器的位所对应的功能?
答:去查DataSheet,这是DataSheet最重要的功能,也是一个嵌入式工程师最基本的技能
2、怎么访问寄存器?
答:去看微机原理关于内存编址的问题,不同的CPU访问方法不一样
3、怎么对寄存器写入数据?
答:去看汇编语言如何对位进行操作,以及高级语言(比如C)对位的操作
4、为什么我写入1,芯片就能产生信号?
答:去硬件板块问
5、听起来很简单,嵌入式仅此而已吗?
答:就跟下象棋一样,懂得规则是很简单的,但是要下好就难了。嵌入要学的东西太多,而且要求不仅对计算机知识掌握的面广,还要有相当的深度。现在市面上的很多好书,尤其是外国的书,开篇的学习建议里面都对不同方向的人做了不同的建议,比如搞软件的可以不看XX章节等等,但是如果是嵌入这样软硬结合的,那就得整本书都看。我说这些题外话不外乎是想说明嵌入对知识掌握的要求是很高的。
但是如果你把嵌入式开发就当作控制字的写入这样的机械动作,那就错了。举个简单的例子,最基本的跑马灯实验,你能点亮它,算不得本事,你能叫这几盏灯跑出贝塞尔曲线来,那才够档次!说得夸张了些,不过平心而论,这又有什么不可能?问题是你愿不愿尝试。就这个例子来看,能不能把LED点亮,是你对硬件控制知识的掌握;能不能写出产生贝塞尔曲线的程序,是你programming水平的体现;能不能让LED按照你的想法把贝塞尔曲线显示出来,就是你对软硬件知识结合的产物了。你需要的是第3者,但是这建立在对前两者的扎实根基上。
6、这么难?我应该怎么做?
答:任何事情的难易程度,取决于你的基础和你的毅力,当然还有钱。有人说还有时间,其实没有人缺乏时间,缺乏的是珍惜时间的习惯和利用时间的方法。如果你不能完全具备以上条件,那你做什么效果都一样;如果你完全具备,那你做什么的效果还是完全一样。二者结果不同而已。
7、需要投入多少钱?
答:学习永远是最花钱的。因为你需要为了正常学习创造许多条件,在共产主义实现之前,这需要你自己为这趟自我折磨的差事买单。关于这一点,我没有更多的东西好告诉你,不过可以提醒你,真正学剑的人并不在乎自己手里拿的是倚天还是半截竹竿;真正会踢球的人,当年脚下滚动的可能不是阿迪耐克,而只是一团缠绕的破布条;真正懂得弹琴的人,无弦之琴亦可弹。我曾经跟别人说“真正懂得编程的人,未必是拥有电脑的人”,结果大部分人不信,那你可曾想过,在很久很久以前那些real hacker们,靠纸带打孔编程的原始人,他们是无法拥有一台自己的计算机的。但他们之中的许多人后来成为了Stallman,Linus......甚至有个别脑子灵光的成为了Gates,Allen......
我说这些不是为了告诉你:想想办法,一分钱也别花就精通嵌入。这是不可能的,不过物质条件的限制,不是你成为顶尖高手的必要条件。
8、你说了这么多,我应该如何开始?
答:你确实应该反省自己!!!首先,你应该找一个嵌入的论坛去问这些问题,如果你是因为没找到才来这里,那我觉得你不够努力,因为嵌入的东西现在网上铺天盖地,如何去筛选这些庞杂的信息,正是你入门最好的锻炼机会,让别人直接告诉你,你就丧失了这样一个学习机会了;其次,应该看些什么书,这同样应该自己去找答案,我能告诉你的就是《微机原理》的内容必须了如执掌,如果你觉得那个里面的东西过时了,那我告诉你,里面唯一公认肯定过时的东西是8259,因为片子买不到了,而且也没必要了,其他过没过时我不敢说,但是你另买本最新的嵌入式教材一对比,你会发现最大的不同主要是指令集的部分,其他部分几乎照抄。何去何从,你应该自己选择。
9、我还有问题......
答:请参照第8条......



摘自:http://bbs.chinaunix.net/thread-1060312-1-1.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值