您的位置 首页 培训

嵌入式系统学习常识系统,初学者必看

嵌入式系统学习知识体系,初学者必看-从这些应用可以看出,要完成一个以MCU为核心的嵌入式系统应用产品设计,需要有硬件、软件及行业领域相关知识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口设计。

1 嵌入式体系的常识体系

嵌入式体系的运用规模能够大略分为两大类:(1)电子体系的智能化(工业操控,现代农业、家用电器、轿车电子、测控体系、数据收集等等);(2)计算机运用的延伸(MP3、手机、通讯、网络、计算机外围设备等)。从这些运用能够看出,要完结一个以MCU为中心的嵌入式体系运用产品规划,需求有硬件、软件及职业范畴相关常识。硬件首要有MCU的硬件最小体系、输入/输出外围电路、人机接口规划。软件规划有固化软件的规划,也或许含PC机软件的规划。职业常识需求经过协作、沟通与总结取得。

嵌入式体系学习常识体系,初学者必看

概括地说,学习以MCU为中心的嵌入式体系,需求以下软件硬件根底常识与实践练习:

1:硬件最小体系(包含电源、晶振、复位、写入调试接口);

2:通用I/O(开关量输入/输出,触及各种二值量检测与操控);

3:模数转化A/D(各种传感器信号的收集与处理,如红外、温度、光敏、超声波、方向等等);

4:数模转化D/A(对模拟量设备利用数字进行操控);

5:通讯(串行通讯接口SCI、串行外设接口SPI、集成电路互联总线I2CCANUSB、嵌入式以太网ZigBee技能等);

6:显现(LED、LCD等等);

7:操控(操控各种设备,包含PWM等操控技能);

8:数据处理(图形、图画、语音、视频等处理或辨认);

9:各种详细运用。

事实上,万变不离其宗,任何运用都能够归入这几类。而运用中的硬件规划、软件规划、测验等都有必要遵从嵌入式软件工程的办法、原理与根本原则。所以,嵌入式软件工程也是嵌入式体系常识体系的有机组成部分,只不过,它融于详细项意图开发进程之中。

以上实践练习触及硬件根底、软件根底及相关范畴常识。计算机言语、操作体系、开发环境等均是完结这些意图的东西。有些初学者,简略把东西的运用与所要到达的真实意图相混杂。例如,有的学习者,学了很长时刻的嵌入式操作体系移植,而不进行实践嵌入式体系产品的开发,到了最终,做欠好一个嵌入式体系小产品,偏离了学习方针,乃至抛弃了嵌入式体系范畴。这便是进入了嵌入式体系学习误区的状况,下面临此做一些剖析。

2 嵌入式体系的学习误区

关于嵌入式体系的学习办法,因学习履历、学习环境、学习意图、已有的常识根底等不同,或许在学习次序、内容挑选、实践办法等方面有所不同。可是,应该清晰哪些是必备的根底常识,哪些应该先学,哪些应该后学,哪些有必要经过实践才干取得的,哪些是与详细芯片无关的通用常识,哪些是与详细芯片或开发环境相关的常识。

由于微处理器与微操控器品种繁复,也或许由于不同公司、不同组织出于本身的利益,给出一些误导性宣扬,特别是我国嵌入式微操控器制作技能的落后及其他相关状况,使得人们对微操控器的开展,在知道与了解上存在差异。导致一些初学者,进入了嵌入式体系的学习误区,浪费了名贵的学习时刻。下面剖析初学者或许存在的几个误区。

假如说,学习嵌入式体系不是为了开发其运用产品,那就没有详细方针了,许多比如学习办法问题也就不用谈了。实践上,这正是许多人想学,又不知从何开端学习的要害问题所在,不知道自己学习的详细方针。所以,看了一些练习广告,看了书店中书架上品种繁复的嵌入式体系的书本,或上网以“嵌入式体系”为要害词进行查询,然后参与练习或看书,开端“学习起来”。关于有计算机履历的人,往往挑选一个嵌入式操作体系就开端学习了。欠好听的比方,有点象“瞎子摸大象”,只了解其一个旁边面。这样怎么能对嵌入式产品的开发进程有个全面了解呢?针对许多初学者挑选“xxx嵌入式操作体系+xxx处理器”的嵌入式体系入门学习形式,我以为是不适宜的。我的主张是:首先把嵌入式体系软件与硬件根底打好了,再依据实践需求,挑选一种实时操作体系(RTOS)进行学习实践。要记住:RTOS是开发某些类嵌入式产品的辅助东西,是手法,不是意图。许多类嵌入式产品,并不需求RTOS。所以,一开端就学习RTOS,并不契合学习“由浅入深、按部就班”的学习规则。

RTOS本身由于品种繁复,实践运用何种RTOS,一般需求作业单位确认。根底阶段首要学习RTOS的根本原理与在RTOS之上的软件开发办法,而不是学习怎么规划RTOS。以开发实践嵌入式产品为方针的学习者,不要把过多的精力花在规划或移植RTOS上面。正如许多人运用Windows操作体系,而规划Windows操作体系只需Microsoft。许多人“研讨”Linux,但不运用它,浪费时刻了,人的精力是有限的,学习有必要有所挑选。

2.2 嵌入式体系学习误区2-硬件与软件的困惑

以MCU为中心的嵌入式技能的常识体系有必要经过详细的MCU来表现、实践与练习。可是,挑选任何类型的MCU,其芯片相关的常识只占常识体系的20%,80%是通用常识。可是80%的通用常识,有必要经过详细实践才干进行,所以学习嵌入式技能要挑选一个系列的MCU。但不论怎么,体系含有硬件与软件两大部分,它们之间的联系怎么?

有些学者,仅从电子视点知道嵌入式体系。以为“嵌入式体系=MCU硬件体系+小程序”。这些学者,大多学习布景是具有杰出的电子技能根底常识。实践状况是,前期MCU内部RAM小、程序存储器外接,需求外扩各种I/O,没有象现在这样USB、嵌入式以太网等较杂乱的接口,因而,程序占总规划量小于50%,使人们以为嵌入式体系(单片机)是“电子体系”,以硬件为主、程序为辅。可是,跟着MCU制作技能的开展,不只MCU内部RAM越来越大,Flash进入MCU内部改变了传统的嵌入式体系开发与调试办法,固件程序能够被更便利地调试与在线晋级,许多状况与开发PC机程序便利程度相差无几,只不过开发环境与运转环境不是同一载体罢了。这些状况使得嵌入式体系的软件硬件规划办法发生了根本变化。

有些学者,仅从软件开发视点知道嵌入式体系,乃至有的仅从嵌入式操作体系知道嵌入式体系。这些学者,大多具有杰出的计算机软件开发根底常识,以为硬件是出产厂商的事,没有知道到,嵌入式体系产品的软件与硬件均是需求开发者规划的。我常常接到一些关于嵌入式产品安稳性的咨询电话,发现大多数是由于软件开发者对底层硬件的根本原理不了解构成的。特别是,有些功用软件开发者,过火依赖于底层硬件的驱动软件规划完美,自己对底层驱动原理知之甚少。实践上,一些功用软件开发者,名义上再做嵌入式软件,实践上,仅仅运用嵌入式修改、编译环境罢了,实质与开发通用PC机软件没有两样。而底层硬件驱动软件的开发,若不全面考虑高层功用软件对底层硬件的或许调用,也会使得封装或参数规划得不合理或不齐备,导致高层功用软件的调用困难。从这段描绘能够看出,若把一个嵌入式体系的开发孤登时分为硬件规划、底层硬件驱动软件规划、高层功用软件规划,一旦呈现了问题,就或许难以定位。实践上,嵌入式体系规划是一个软件、硬件协同规划工程,不能象通用计算机那样,软件、硬件彻底分隔来看,要在一个大的结构内和谐作业。 面临学习嵌入式体系以软件为主仍是以硬件为主,或是怎么挑选切入点,怎么在软件与硬件之间取得一些平衡。关于这个困惑的主张是:要想成为一名真实的嵌入式体系规划师,在初学阶段,有必要重视打好嵌入式体系的硬件与软件根底。以下是从事嵌入式体系规划二十多年的一个美国学者John Catsoulis 在《Designing Embedded Hardware》一书中关于这个问题的总结:嵌入式体系与硬件严密相关,是软件与硬件的综合体,没有对硬件的了解就不或许写好嵌入式软件,相同没有对软件的了解也不或许规划好嵌入式硬件。

嵌入式体系产品品种繁复,运用范畴各异。在2.1末节中,咱们把嵌入式体系的运用规模大略分为电子体系的智能化与计算机运用的延伸两大类,从初学者视点,或许有别离从这两个视点片面知道嵌入式体系的问题。因而,一些从电子体系智能化视点知道嵌入式体系的学习者,或许会忽视编程结构、编程标准、软件工程的要求、操作体系等常识的堆集。另一些从计算机运用的延伸视点知道嵌入式体系的学习者,或许会把通用计算机学习进程中的概念与办法生搬硬套到嵌入式体系的实践中,忽视嵌入式体系与通用计算机的差异。

实践上,在嵌入式体系学习与实践的初始阶段,应该充沛了解嵌入式体系的特色,依据本身的已有常识结构,拟定适宜本身状况的学习方案。方针应该是打好嵌入式体系的硬件与软件根底,经过实践,为成为杰出的嵌入式体系规划师树立起根本常识结构。学习进程,能够经过详细运用体系为实践载体,但不能拘泥于详细体系,应该有必定的笼统与概括。例如,有的初学者开发一个实践操控体系,没有运用实时操作体系,但不要以为实时操作体系不需求学习。又例如,有的初学者以一个带有实时操作体系的样例为蓝本进行学习,但不要以为,任何嵌入式体系都需求运用实时操作体系,乃至把一个非常简明的实践体系加上一个不用要的实时操作体系。因而,片面知道嵌入式体系,或许导致学习困惑。应该依据实践项目需求,训练自己剖析实践问题、解决问题的才能。这是一个比较长时刻的学习与实践进程,不能希望经过短期练习完结全体常识体系的树立,应该重视本身实践,全面地了解嵌入式体系的常识体系。

嵌入式体系的大部分初学者需求挑选一个微操控器(MCU)进行入门级学习,面临许多厂家出产的微操控器系列,不知怎么是好。

首先是关于位数问题,现在首要有8位、16位、32位,面临嵌入式体系运用的多样性,不同位数的MCU各有运用范畴,这一点与通用微机有很大不同。你做一个遥控器,不需求运用一个32位MCU,或许一个MCU芯片价格现已逾越遥控器价格需求。关于初次触摸嵌入式体系的学习者,能够依据自己的常识根底挑选入门芯片的位数。主张大多数初学者,能够挑选一个8位MCU作为快速入门芯片,了解一些汇编与底层硬件常识,之后再选一个16位或32位芯片进行学习实践。

关于芯片挑选的另一个误区,以为有“干流芯片”存在,嵌入式体系也能够构成芯片独占。这彻底是一种误解,是套用通用计算机体系的思维形式,而忽视了嵌入式体系运用的多样性。

关于学习芯片挑选还有一个误区,是体系的作业频率。误以为挑选作业频率高的芯片进行入门学习,表明更先进。实践上,作业频率高或许给初学者带来学习进程中的不少困难。

实践嵌入式体系规划不是寻求芯片位数、作业频率、操作体系等要素,而是寻求安稳牢靠、保护、晋级、功耗、价格等方针。而初学者挑选入门芯片,是经过某一MCU作为蓝本取得嵌入式体系常识体系的通用根底,其根本原则是:入门时刻较快、硬件本钱较少,常识要素较多,学习难度较低。

3 根底阶段的学习主张

依据以上评论,下面临广阔巴望学习嵌入式体系的学子提出几点根底阶段的学习主张:

(1)嵌入式体系软件硬件密切相关,必定要打好软件硬件根底。其实,只需找到正确的办法,加上尽力,任何理工科学生,乃至非理工科学生,都能学好嵌入式体系。

(2)挑选一个芯片及硬件评价板(入门芯片最好是简略一点,例如8位MCU)、挑选一本好书(最好有标准的比如)、找一位好教师(最好是有阅历且热心的)。硬件评价板的价格必定要在1000元以下,不要太贵,最好能有自己着手的空间。不花一分硬件钱,要想学好嵌入式体系不实践。由于,这是实践性很强的学科。好书,能够使你少走弯路,不会被误导,要知道有的书是会使人进入学习误区的。好教师也能够是做过一些实践项意图学长(必定要找做过几个成功项意图学长或教师做辅导,不然,阅历不足也或许误导),有教师辅导,学习进程会加速(人工智能学科里有个术语叫无教师辅导学习形式与有教师辅导学习形式,无教师辅导学习形式比有教师辅导学习形式杂乱许多)。

(3)许多人怕硬件,其实嵌入式体系硬件比电子线路好学多了。只需深化了解MCU的硬件最小体系,对I/O口、串行通讯、键盘、LED、LCD、SPI、I2C、PWM、A/D(包含一些传感器)、D/A等逐一试验了解,逐渐实践。再经过自己做一个实践的小体系,底层硬件根底就有了。各个硬件模块驱动程序的编写是嵌入式体系的必备根底。学习嵌入式体系的初期,这个进程是有必要的。

(4)至于嵌入式实时操作体系RTOS,必定不要一开端就学,这样会走许多弯路,也会使你对嵌入式体系感到害怕。等你软件硬件根底打好了,再学习就感到简略了解。实践上,许多嵌入式运用,并不必定需求操作体系。也能够依据实践项目需求再学习特定的RTOS。必定不要被一些嵌入式实时操作体系练习班宣扬所误导,而忽视实践嵌入式体系软件硬件根底常识的学习。

(5)要防止片面地单纯从“电子”或“计算机软件”视点知道嵌入式体系。前面说过,嵌入式体系是软件与硬件的综合体。因而,要逐渐从MCU的最小体系开端,一点一点了解硬件原理及底层硬件驱动编程办法。要经过标准的比如,了解软件工程封装、可复用等思维。经过标准编程,堆集底层构件(Component),也便是一个一个模块,可是要封装得比较好,可复用。

(6)重视试验与实践。这儿说的试验首要指经过重复或验证别人的作业,意图是学习根底常识,这个进程必定要履历。实践是自己规划,有详细的“产品”方针。假如你能花500元左右自己做一个具有必定功用的小产品,且能安稳运转1年以上,就能够说挨近入门了。

(7)关于入门芯片的挑选。不要选太杂乱的微操控器作为入门芯片,不能逾越学习进程。不要一会儿学习几种芯片,能够经过一个芯片入门并具有一个实践阅历后,依据实践需求挑选芯片开发实践产品。留意,不要把微处理器(MPU)与微操控器(MCU)概念相混杂,微处理器仅仅微操控器的内核。

(8)关于操作体系的挑选。能够比及你具有必定实践后,挑选一个简略简略了解原理的进行学习,不要一开端就学习几种操作体系,了解了根本原理,实践中确有实践需求再学习也不迟。人总是要不断学习的。

(9)关于汇编与C言语的取舍。跟着MCU对C编译的优化支撑,关于汇编能够只了解几个有必要的句子,直接运用C言语编程。但有必要经过第一个程序了解芯片初始化进程、中止机制、程序存储状况等差异于PC机程序的内容。别的,为了测验的需求,最好把握一门PC机编程言语。

(10)要清晰自己的学习意图,并留意学习办法。关于学习意图要清晰是打根底,仍是为了习惯某些作业而进行的短训;而学习办法方面,要依据学习意图挑选适宜的学习途径,留意理论学习与实践、通用常识与芯片相关常识、硬件常识与软件常识的平衡,要在了解软件工程根本原理根底上了解硬件构件与软件构件等根本概念。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/100399.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部