嵌入式系统定制开发的分层与专业的分类

简介:

嵌入式系统这个名词还是比较难以准确定义的,一般把“用于控制、监视或者辅助操作机器和设备的装置”称为嵌入式系统,系统包括一系列软硬件设施等,比如:手机的系统开发(Android、IOS等),无人机的系统控制软件、驱动开发,路由器的软件系统开发等等。广义上,可以把单片机(STM32)、SOC等等硬件构成的控制系统中软件开发部分都称之为嵌入式软件开发。嵌入式定制

嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。

1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。

硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。

2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。

驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。

4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。

学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。

相关文章
|
2月前
|
网络协议 安全 中间件
系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)
本文全面介绍了计算机系统及其相关技术,涵盖计算机系统概述、硬件、软件等内容。计算机系统由硬件(如处理器、存储器、输入输出设备)和软件(系统软件、应用软件)组成,旨在高效处理和管理数据。硬件核心为处理器,历经从4位到64位的发展,软件则分为系统软件和应用软件,满足不同需求。此外,深入探讨了计算机网络、嵌入式系统、多媒体技术、系统工程及性能评估等多个领域,强调了各组件和技术在现代信息技术中的重要作用与应用。
64 4
|
4月前
|
数据采集 传感器 项目管理
LabVIEW软件开发人员的核心能力是什么
LabVIEW软件开发人员的核心能力是什么
35 3
|
4月前
|
监控 Python
系统工程是一个广泛的领域,它涵盖了多个学科和技术的集成,以实现复杂系统的开发、运行和维护。
系统工程是一个广泛的领域,它涵盖了多个学科和技术的集成,以实现复杂系统的开发、运行和维护。
|
6月前
|
安全 网络协议 测试技术
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
166 0
|
存储 架构师 定位技术
「应用架构」TOGAF建模之应用架构师:应用程序通信图
「应用架构」TOGAF建模之应用架构师:应用程序通信图
|
SQL 安全 Java
软件分层设计 | 学习笔记
简介:快速学习软件分层设计
156 0
软件分层设计 | 学习笔记
|
新零售
用户分层模型,让你的设计看起来更专业
日常工作,除了完成单点需求以外,如果能用上一系列高大上的“模型”,一下子专业度就上来了。所以今天给大家介绍三个最最常见的用户分层模型,希望大家可以尝试使用到工作中,Show 一下你的专业度。
3340 0
|
算法 Windows 调度
嵌入式系统有哪些专业的分类 学习嵌入式有哪几个方向
无论什么基础学习嵌入式,只要学习嵌入式的人都知道,嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。想要学好嵌入式,就必须明确这几个方向,缕清学习思路,才能更好的学习嵌入式。     嵌入式系统有哪些专业的分类 学习嵌入式有哪几个方向   1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。
2552 0