于嵌入式系统的学习方法,因学习经历、学习环境、学习目的、已有的知识基础等不同,可能在学习顺序、
内容选择、实践方式等方面有所不同。但是,应该明 确哪些是必备的基础知识,哪些应该先学,哪些应该后学;
哪些必须通过实践才能获得;哪些是与具体芯片无关的通用知识,哪些是与具体芯片或开发环境相关的知 识。
以MCU为核心的嵌入式技术的知识体系必须通过具体的MCU来体现、实践。但是,选择任何型号的MCU,
其芯片相关的知识只占知识体系的20%左 右,80%左右是通用的软件硬件及相关知识。80%的通用知识,
必须通过具体实践才能获得,所以学习嵌入式技术一般要选择一个系列的MCU。
[size=4][color=#DC143C] [U] [color=#8B0000] 郭老师 QQ 18066 25391 电话 133 1682 2655[/U[/color]][/color][/size]
系统含有硬件与软件两大部分,它们之间的关系如何有些学者,仅从电子的角度认识嵌入式系统。
认为“嵌入式系统=MCU硬件系统+小程序”。这些学者大 多具有良好的电子技术基础知识。实际情况是,
早期MCU内部RAM小,程序存储器外接,需要外扩各种I/O,没有像USB、嵌入式以太网等这样较复杂的接口。
因此,程序占总设计量比例小于50%,使人们认为嵌入式系统(单片机)是“电子系统”,以硬件为主,程序
为辅。但是,随着MCU制造技术的发展,不 仅.MCU内部RAM越来越大,Flash进入MCU内部改变了传统的嵌入
式系统开发与调试方式,固件程序可以更方便地调试与在线升级,许多情况下与开发 PC机程序的方便程
相差无几,只不过开发环境与运行环境不是同一载体而已。这使得嵌入式系统的软件硬件设计方法发生
根本变化。
有些学者,仅从软件开发角度认识嵌入式系统,甚至仅从嵌入式操作系统认识嵌入式系统。这些学者
大多具有良好的计算机软件开发基础知识,认为硬件是生产厂 商的事。他们没有认识到,嵌入式系统产品
的软件与硬件均是需要开发者设计的。笔者常常接到一些关于嵌入式产品稳定性的咨询,发现大多数是由
于软件开发者对 底层硬件的基本原理不理解。特别是有些功能软件开发者,过分依赖于底层硬件的驱动软件,
自己对底层驱动原理知之甚少。实际上,一些功能软件开发者,名义上 在做嵌入式软件,其实仅仅是使用入
式编辑、编译环境而已,本质与开发通用PC机软件没有两样。而底层硬件驱动软件的开发,若不全面考虑高
功能软件对底 层硬件的可能调用,也会使封装或参数设计得不合理或不完备,导致高层功能软件调用困难。
可以看出,若把嵌入式系统的开发孤立地分为硬件设计、底层硬件驱动 软件设计、高层功能软件设计,那么
一旦出现问题,就可能难以定位。实际上,嵌入式系统设计是一个软件、硬件协同设计工程,不能像通用计算
机那样,软件、硬 件完全分开来看,而要在一个大的框架内协调工作。
学习嵌入式系统是以软件为主还是以硬件为主,或者如何选择切入点,如何在软件与 硬件之间取得平衡
对于这个困惑的建议是:要想成为一名真正的嵌入式系统设计师,在初学阶段,必须打好嵌入式系统的硬件与
软件基础。以下是从事嵌入式系统 设计二十多年的美国学者JohnCatsoulis在《Designing Embedded Hardware》
一书中关于这个问题的总结:嵌入式系统 与硬件紧密相关,是软件与硬件的综合体,没有对硬件的理解就不可
能写好嵌入式软件;同样,没有对软件的理解也不可能设计
深圳信盈达实训学院网址 南山,龙华,龙岗,沙井,布吉,罗湖六大直营中心同步开课中
欢迎你的参观指导,周末有免费的公开课期待你的免费试听。
详询 郭老师QQ 18066 25391 电话 133 1682 2655