嵌入式系统是学习嵌入式最为重要的一个环节,但是如何学习嵌入式系统也是很多人最头疼的事了,其实嵌入式系统的学习还是比较简单的,只要你掌握好方法,那学习这个基本就不是什么难事,对于嵌入式系统学习来说,你需要好好学习掌握好嵌入式系统的基础知识,这样才能轻松学习嵌入式系统知识。一起来看资深程序员总结嵌入式系统基础知识,让你轻松学。
首先嵌入式系统你就应该根据下面的点来学习
1.嵌入式系统是什么
(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。
(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。
(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。
2.嵌入式系统的组成
包含:硬件层、中间层、系统软件层和应用软件层
(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式核心模块=微处理器+电源电路+时钟电路+存储器
Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。
(2)中间层(也称为硬件抽象层HAL或者板级支持包BSP).
它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。
(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
(4)应用软件:由基于实时系统开发的应用程序组成。
3、嵌入式系统分为硬实时系统(确保在最坏情况下的服务时间,事件都能得到响应)和软实时系统(超过截止时间也不会带来致命的错误)。
4、嵌入式处理器由存储器、I/O设备、通信模块(USB、UART、以太网、Iic、CAN、)和电源等组成。
5、简单指令系统和复杂指令系统。
6、EOS Embeded OperationSysrtem 任务调度、同步机制、中断处理、文件功能。(VxWorks、Windows CE、嵌入式Linux、uC/OSII)可裁剪,强实时性(抢占式任务调度),统一接口,GUI,提供强大网络功能,强稳定性,弱交互性,固定代码,良好的移植性。
7、嵌入式系统开发流程:需求分析->体系结构设计->机械系统设计、硬件设计、软件设计->系统集成->系统测试。
8、ROM NOR flash(读速度更快)、NAND flash(写入快,容量大、成本低)、EEPROM等;RAM SRAM(不需,用作高速Cache、成本高、容量小)、DRAM(需要不断通电刷新保存数据、容量大,便宜)、SDRAM(同步动态RAM)。
9、硬件抽象层,封装底层硬件,向操作系统和应用层序提供编程接口。板级支持包,既有硬件相关又有操作系统相关,负责软硬件的初始化,提供硬件的驱动支持程序,引导加载操作系统。
10、设备驱动程序:设备的初始化,设备的打开和关闭,设备的读取和写入,设备状态的查询和设备控制操作。
11、嵌入式系统软件结构:简单轮询结构(简单循环,数字万用表),带中断的轮询结构(有中断,洗衣机),监控式操作系统+应用软件的结构(内核+多任务,车载设备),通用嵌入式操作系统+应用软件的结构(常用操作系统+中间件+应用软件,手机)。
12、内核结构分为单内核和微内核。单内核将各个模块整合在一起,模块间的相互通信通过直接调用其他模块的函数来实现,分为整体结构和分层结构。微内核仅将必须的基本功能(任务调度、任务间通信、低级存储管理、中断处理等)放入内核,其他功能(文件管理服务、网络通信服务、显示服务等)由在用户运行的服务来实现。
这些都是嵌入式系统最为基础的学习点,上面只是简单的列举出来让你了解,里面的学习点还是很多的,你需要一个一个的深入学习,这样你的嵌入式系统的学习就很容易了,想要了解更多可以咨询哦。
相关推荐:嵌入式系统学习书籍