嵌入式系统基础及知识及接口技术总结
嵌入式系统基础
1、嵌入式系统的定义
(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。
(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。
(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。
2、嵌入式系统的组成
包含:硬件层、中间层、系统软件层和应用软件层。
(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式核心模块=微处理器+电源电路+时钟电路+存储器
Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。
(2)中间层(也称为硬件抽象层HAL或者板级支持包BSP)。
它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。
BSP有两个特点:硬件相关性和操作系统相关性。
设计一个完整的BSP需要完成两部分工作:
A、 嵌入式系统的硬件初始化和BSP功能。
片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。
板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。
系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。
B、 设计硬件相关的设备驱动。
(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
(4)应用软件:由基于实时系统开发的应用程序组成。
3、实时系统
(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。
(2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。
(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。
(4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。
(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。
(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。
4、实时系统的调度
(1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。
(2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。
(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好嵌入式信盈达企鹅要妖气呜呜吧久零就要。
(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。
(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序
(6)实时任务分类:周期任务、偶发任务、非周期任务。
(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。
5、嵌入式微处理器体系结构
(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…
(2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…
(3)CISC与RISC的特点比较。
计算机执行程序所需要的时间P可以用下面公式计算:
P=I×CPI×T
I:高级语言程序编译后在机器上运行的指令数。
CPI:为执行每条指令所需要的平均周期数。
T:每个机器周期的时间。
(4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。
(5)流水线的指标:
吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。
建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间T=mt。
(6)信息存储的字节顺序
A、存储器单位:字节(8位)
B、字长决定了微处理器的寻址能力,即虚拟地址空间的大小。
C、32位微处理器的虚拟地址空间位232,即4GB。
D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。
E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。
F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。
嵌入式系统基础及知识及接口技术总结相关推荐
- 嵌入式系统基础及知识
2019独角兽企业重金招聘Python工程师标准>>> 6.D/A接口基本 (1)D/A转换器使将数字量转换为模拟量. (2)在集成电路中,通常采用T型网络实现将数字量转换为模拟电流 ...
- 嵌入式系统设计师考试笔记之嵌入式系统基础知识
以下是转帖一位网友的嵌考笔记 嵌入式系统设计师考试笔记之嵌入式系统基础知识 欧浩源(ohy3686@qq.com) 20080818 一.引言 自<嵌入式系统设计师考试复习笔记之存储管理篇> ...
- 嵌入式系统基础知识总结
一.嵌入式系统基础 1.嵌入式系统的定义 1.1 定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 1.2 嵌入式系统发 ...
- 系统接口规范以及常见的接口技术概述和比较
系统接口规范以及常见的接口技术概述和比较 一.基本要求: 为了保证系统的完整性和健壮性,系统接口应满足下列基本要求: 1.接口应实现对外部系统的接入提供企业级的支持,在系统的高并发和大容量的基础上提供 ...
- 【嵌入式系统基础实验一】-----led流水灯及串口通信的HAL库方式和寄存器编程方式实现,输出波形检测
文章目录 1.实验知识点简要解析 1.1串口通信协议 1.2 RS232.485电平与TTL电平的区别 1.3 USB/TTL转232"模块 2.LED流水灯的寄存器地址 和HAL库这两种方 ...
- 硬件开发:嵌入式系统知识和接口技术(值得收藏)
1.什么是嵌入式 IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:"用于控制.监视 ...
- 史上最详细!嵌入式系统知识和接口技术总结
1 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:"用于控制.监视 ...
- 嵌入式系统知识和接口技术总结
什么是嵌入式 IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:"用于控制.监视或者 ...
- 嵌入式系统基础知识该如何学习
嵌入式的学习不是那么容易的,学习嵌入式会有一定的技术门槛.但很多学者连一点计算机的基础都没有,就来学习嵌入式,真所谓是明知山有虎,偏往山中行.是什么原因让他们改行来学习嵌入式呢?其实原因很简单也很现实 ...
最新文章
- select每门可说大于90分_小女子风雨黑暗无惧 90分全自动反向折叠照明伞
- visual studio code 修改工具栏风格
- 拖链电缆 机器人电缆_洞头高柔性拖链网线标柔电缆
- python中的loop_django学习笔记之forloop
- 手机端页面要加...
- 阶段3 2.Spring_10.Spring中事务控制_1 基于XML的AOP实现事务控制
- CSE-CIC-IDS 2018数据集下载
- 数据通信的基础知识(计算机网络 谢希仁)
- 决策树从理论到 Python 实现再到实战,万字长文 + 思维导图.整理
- IP 协议报文格式 【IPv4】
- 信息学奥赛一本通pdf_信息学奥赛冠军的竞赛“秘籍”
- HTML期末大作业 学生DW静态网页设计 动画漫展学习资料电影模板(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源
- 植物大战僵尸自动拾取阳光
- “理财管家”正式发布了!
- 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍
- linux系统不能用投影仪,Linux连接投影仪(ubuntu)失败或显示不正常
- 学生管理系统-C++版
- error: Cannot delete branch 'xxx' checked out at 'xxxx'
- JS高级程序设计读书笔记 (第九章 客户端检测)
- VR全景电子商务方案/APP/小程序/公众号/网站
热门文章
- 做完基线后centos /linux 系统修改密码报passwd: Module is unknown 未知模块 解决思路
- 大数据平台技术——Scala+Hbase学习
- linux使分区生效,Linux 硬盘分区生效命令partprobe
- 圣天诺 加密java_圣天诺Sentinel LDK 7.8壳加密的编译环境是什么?
- 解决linux系统网络时常断开的问题
- ros --- 录制imu bag包 和 imu标定
- 长安大学计算机学硕毕业要求,长安大学研究生学习期间发表学术论文规定.doc...
- 视图的作用是什么?有哪些好处?(面试题)
- python 命名空间和作用域
- android 开发论坛资源URL