小菲愿与嵌入式初学者朋友共同学习,一起进步O(∩_∩)O

aridfish 2010-04-28 04:03:09


下面的文章是从上次发的连接中整理出来的,写的挺好。拿出来和初学者朋友们一起学习,希望大家可以早日学好嵌入式技术。

嵌入式资深工程师白话说“嵌入式”

本文转引自 飞凌嵌入式 技术文章专区 www.witech.com.cn

从事嵌入式开发有些年头,将自己理解的一些嵌入式,把自己的感受写出来,另外谢谢自己的感受,给后来者一点经验了!

1、什么是嵌入式
嵌入式根据字面的意思就会知道个大概,嵌入式就是将一个东西,嵌入到另一个中间,这就会有两层意思,
一个是硬件的嵌入式:将一个硬件嵌入到另一个中间,使得原本没有智能的产品变得智能;
一个是软件的嵌入式:将一个软件嵌入带另外一个软件里面,一般这个软件是一个应用软件,而对象是操作系统。
因此,很多东西都回被称为嵌入式,而不仅仅是ARM等32位平台,还包括DSP,FPGA,51,甚至4位机都是可以的。

2、操作系统
操作系统有很多,大家天天用的windows,认为很高深的linux,微小的uCos,可裁减的eCos,……世界是多彩的,操作系统也一样。
有人就会说了,……好用,……不好,……对……好不好!这个问题对于真正的行家来说,你就像一个孩童问大人电视剧里面的这个人是好人还是坏人。只有合适的没有什么是最好的!曾经看过ubuntu的wiki里面说过一句话:不要因为它和你的习惯不一样就说它不好。

3、硬件平台
目前世界上的芯片公司有很多,因此硬件平台可以选择的有很多,但是近些年来,国人将嵌入式=ARM,这是狭隘的,不利于学生的发展,应该告诉学生,除了ARM还有很多很多。不然会发现,学生的眼光会被限制。通过对比学习,他们将会有更多的是以一种批判的精神,吸收各家所长! 平台现在来说比较有前途的是作消费电子类的,因为国家强调扩大内需,内需如何扩大,现在大家基本都是衣食无忧了,剩下的那就是娱乐了。

4、学习芯片的选择
很多人问我,我们现在学习的是ARM11,你们的是多少,我会告诉他我们是ARM9,还有一些ARM7。其实这已经是足够的了,无论我们学习的哪个平台,学习的关键不是学会这个芯片怎么用,而是学习他的精髓:这类芯片的设计构架,开发流程,然后就是查字典一样的学习它数据手册了。无论在哪里,学习不一定要学习最先进的,因为你没有把握住它的发展历史,和内部原理,一个先进的庞杂的系统对于你来说是很难理解的。

如果想成为一个全面的嵌入式开发人员,我的建议是可以遵循这个步骤:
基础:嵌入式C
这里的C不是大家学习的那个谭浩强的C,而是嵌入式C,谭的C只是一些肤浅的应用,没有讲到根本,C的根本就是要把握住指针和一些将来编译的过程!作为一个嵌入式比较底层的工程师,需要了解更多的关于你的程序是如何运行的,你的程序是如何加载的,以及各种资源的调度和使用,而这一切很多时候都要拜托你的C完成,因为毕竟汇编的难度还是比较大,而且完成的功能有限。

第一步:熟悉硬件
首先学习单片机,关键是学习总线结构,扩展的一些问题,还有建立起来一些汇编的知识
第二步:熟悉高级芯片架构
8086(很古老的芯片)但是很有必要了解,可以说他是一切X86(电脑)和ARM体系的根本,当将这个根本拿捏住了,你就像武侠小说里面讲的,你掌握了一门功夫的总纲,万变不离其宗!
第三步:
如果时间容许,可以使用(上面是学习)一个16位单片机凌阳的SPCE061A,这是一个很有意思的芯片,他既有一些单片机的东西在里面,还有一些嵌入式32位的东西在里面,真正的使用它不是很难,因为资料还是比较多的,但是从中可以学习到一些基本的嵌入式理念。

第四步:嵌入式平台选择
开始使用嵌入式平台,目前平台很多,有的还很便宜,作为学生,也许会选择一些价格便宜的,不过建议大家要更注意一个问题:支持的问题。
目前基本来说平台的已经都是很多了,有些抄来的板子目前也是满天飞,由于没有研发成本和后期支持,造成成本比较低,同样的原因,让我们遇到问题,只能四处的提问,而往往得不到系统的答案。
所以选择平台很重要,有人说,网上全是资料了,但是说句实话,由于嵌入式是一个结合多学科的庞大系统,因此从网上找到很多资料,你会发现我们找到的是一张张拼图的小块,在拼这个大图的时候,很多人在这个过程中失去了信心,离开了嵌入式开发者的行列,那是很可惜的。最好找一个比较资料全面系统的开发平台。

第五步:
看完基础,然后实实在在的开发一个或大或小的项目,在这个项目中不仅仅是写出程序,要学会项目的规划,还有程序编写的重构性等软件编写的问题。

总之:无论学习什么,都要比较系统的慢慢的做,相信大家坚持了总是会成功的。

...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingmax54212008 2010-05-03
  • 打赏
  • 举报
回复
共同学习了。
spfbc 2010-04-29
  • 打赏
  • 举报
回复
顶一个。。。
GARY 2010-04-29
  • 打赏
  • 举报
回复
写的还不错。
支持一下。
Heaven_Redsky 2010-04-28
  • 打赏
  • 举报
回复
看来是个从草根干起的老鸟写的。
domworldjohn 2010-04-28
  • 打赏
  • 举报
回复
嗯,写得还可以,经验之谈
jbb0523 2010-04-28
  • 打赏
  • 举报
回复
写的很概括……

679

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧