1嵌入式系统的常识系统
嵌入式系统的运用规模能够大概分为两大类:电子系统的智能化(工业操控、现代农业、家用电器、汽车电子、测控系统、数据收集等),计算机运用的延伸(MP3、手机、通讯、网络、计算机外围设备等)。从这些能够看出,要完成一个以MCU为中心的嵌入式系统运用产品规划,需求硬件、软件及职业范畴相关常识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口规划。软件规划有固化软件的规划,也或许含PC机软件的规划。职业常识需求经过协作、沟通与总结获得。
概括地说,学习以MCU为中心的嵌入式系统,需求以下软硬件根底常识与实践训练:
①硬件最小系统(电源、晶振、复位、写入调试接口);
②通用I/O(开关量输入/输出,触及各种二值量检测与操控);
③模/数转换(各种传感器信号的收集与处理,如红外、温度、光敏、超声波、方向等);
④数/模转换(对模拟量设备利用数字进行操控);
⑤通讯(串行通讯接口SCI、串行外设接口SPI、集成电路互联总线I2C、CAN、USB、嵌入式以太网、ZigBee技能等);
⑥显现(LED、LCD等);
⑦操控(操控各种设备,包括PWM等操控技能);
⑧数据处理(图形、图画、语音、视频等的处理或辨认);
⑨各种详细运用。
万变不离其宗,任何运用都能够归入这几类。而运用中的硬件规划、软件规划、测验等都有必要遵从嵌入式软件工程的办法、原理与根本原则。所以,嵌入式软件工程也是嵌入式系统常识系统的有机组成部分,只不过它融于详细项意图开发进程之中。
以上触及硬件根底、软件根底及相关范畴常识。计算机语言、操作系统、开发环境等均是达到这些意图的东西。有些初学者,简单把东西的运用与所要达到的真实意图相混淆。例如,有的学习者学了很长时刻的嵌入式操作系统移植,而不实践开发嵌入式系统产品,到最后连一个嵌入式系统的小产品也做不好,偏离了学习方针,甚至抛弃嵌入式系统范畴。这就是进入了嵌入式系统学习误区,下面对此作一些剖析。
嵌入式系统的学习误区
如果说,学习嵌入式系统不是为了开发其运用产品,那就没有详细方针,那学习办法这样的问题也就不用说了。实践上,这正是许多人想学,又不知从何开端学习的关键问题所在,不知道自己学习的详细方针。于是,看了一些训练广告,看了书店中品种繁复的嵌入式系统书本,或上网以“嵌入式系统”为关键词进行查询,就参加训练或看书,开端“学习起来”。关于有计算机履历的人,往往挑选一个嵌入式操作系统就开端学习了。这有点像“瞎子摸大象”,只了解其一个旁边面。这样怎么能对嵌入式产品的开发进程有全面了解呢?针对许多初学者挑选“XXX嵌入式操作系统+XXX处理器”的嵌入式系统入门学习模式,以为是不合适的。建议是:首先把嵌入式系统软件与硬件根底打好了,再依据实践需求,挑选一种实时操作系统(RTOS)进行学习实践。要记住:RTOS是开发某些类嵌入式产品的辅助东西,是手段,不是意图;许多类嵌入式产品,并不需求RTOS。所以,一开端就学习RTOS,并不契合“由浅入深、循序渐进”的学习规律。
RTOS本身由于品种繁复,实践运用何种RTOS,一般需求由工作单位确认。根底阶段主要学习RTOS的根本原理与RTOS上的软件开发办法,而不是学习怎么规划RTOS。以开发实践嵌入式产品为方针的学习者,不要把过多的精力花在规划或移植RTOS上面。正如很多人运用Windows操作系统,而规划Windows操作系统的只要Microsoft。许多人“研究”Linux,但不运用它,浪费了时刻。人的精力是有限的,学习有必要有所挑选。
以MCU为中心的嵌入式技能的常识系统有必要经过详细的MCU来体现、实践。但是,挑选任何型号的MCU,其芯片相关的常识只占常识系统的20%左右,80%左右是通用的软件硬件及相关常识。80%的通用常识,有必要经过详细实践才干获得,所以学习嵌入式技能一般要挑选一个系列的MCU。
学习嵌入式系统是以软件为主还是以硬件为主,或许怎么挑选切入点,怎么在软件与硬件之间获得平衡?关于这个困惑的建议是:要想成为一名真实的嵌入式系统规划师,在初学阶段,有必要打好嵌入式系统的硬件与软件根底。以下是从事嵌入式系统规划二十多年的美国学者JohnCatsoulis在《DesigningEmbeddedHardware》一书中关于这个问题的总结:嵌入式系统与硬件紧密相关,是软件与硬件的综合体,没有对硬件的了解就不或许写好嵌入式软件;相同,没有对软件的了解也不或许规划好嵌入式硬件。
嵌入式系统产品品种繁复,运用范畴各异。在第1部分中,把嵌入式系统的运用规模粗略分为电子系统的智能化与计算机运用的延伸两大类。从初学者视点,或许存在别离从这两个视点片面认识嵌入式系统的问题。因此,一些从电子系统智能化视点认识嵌入式系统的学习者,或许会忽视编程结构、编程规范、软件工程的要求、操作系统等常识的积累。另一些从计算机运用的延伸视点认识嵌入式系统的学习者,或许会把通用计算机学习进程中的概念与办法生搬硬套到嵌入式系统的实践中,忽视嵌入式系统与通用计算机的差异。
实践上,在嵌入式系统学习与实践的初始阶段,应该充分了解嵌入式系统的特点,依据本身的已有常识结构,制定适合本身情况的学习计划。方针应该是打好嵌入式系统的硬件与软件根底,经过实践,为成为良好的嵌入式系统规划师建立起根本常识结构。学习进程中,详细运用系统可为实践载体,但不能拘泥于详细系统,应该有一定的笼统与概括。例如,初学者开发实践操控系统时没有运用实时操作系统,但不要以为实时操作系统不需求学习。又例如,初学者能够一个带有实时操作系统的样例为蓝本进行学习,但不要以为任何嵌入式系统都需求实时操作系统,甚至为一个十分简明的实践系统加上不用要的实时操作系统。因此,片面认识嵌入式系统,或许导致学习困惑。应该依据实践项目需求,训练自己剖析实践问题、解决问题的能力。这是一个长时间的学习与实践进程,不能期望经过短期训练完成整体常识系统的建立,应该重视本身实践,全面地了解嵌入式系统的常识系统。