EDA365电子论坛网

标题: 如何学习基于ARM平台的嵌入式系统 [打印本页]

作者: Allevi    时间: 2018-10-30 10:35
标题: 如何学习基于ARM平台的嵌入式系统
如何学习基于ARM平台的嵌入式系统

* x/ F$ b. f7 N9 p* E  x; L* p8 j* T. s7 L, R( B3 f
一、嵌入式系统的分层与专业的分类/ j9 Q# A5 F) C2 S! i; T) r+ M3 Q0 I
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
$ Z8 T) B$ f: K4 X4 x3 G4 q) G2 \
1.硬件层6 e4 z5 d% u1 H% L1 z
它是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
8 ^8 P7 y/ U" k8 a. ^% R硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有:单片机原理及接口技术、微机原理及接口技术、C语言。  w: H3 J* K+ Y8 p

1 Q1 P/ X8 b: s  k. K! D2.驱动层
% {4 F* h/ a, p* Z2 C这部分比较难,驱动工程师不仅要能看懂电路图,还要对操作系统内核十分精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能行动,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同Windows下我们打开一个程序运行后,再打开一个程序,要不就是中断以前的程序,要不就是等上一会儿才能运行后来打开的程序。
3 Y6 v0 Z" j2 {. y" C8 T$ Z想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。$ L( e- {1 e; e% s
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理十分精通了解。! b3 n" u) |( s, \/ X( C

' r. H# V$ L" c7 F8 v1 M3.操作系统层" w8 q: e& q4 I0 o
对于操作系统层目前只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。
2 t7 j8 Y& E6 o9 c3 o0 U' [7 f- N9 ?# j' P! _! P
& H0 ]/ M1 u9 S" [, T2 C0 B

作者: 青山绿水    时间: 2018-11-2 17:08
谢谢分享




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2