一.嵌入式系统的组成

嵌入式系统的组成主要由:嵌入式硬件系统、嵌入式软件系统。

(1)嵌入式硬件系统主要包括:嵌入式处理器、存储器、模拟电路、电源、接口控制器、接插件等

1)嵌入式处理器:是嵌入式系统的核心。嵌入式处理器与通用处理器最大的区别在于嵌入式CPU大多工作在为特定用户群设计的系统中。

2)存储器:静态易失型存储器(RAM、SRAM)、动态存储器(DRAM、SDRAM)、非易失型存储器(ROM、EPROM、EEPROM、Flash)。

3)嵌入式外围硬件设备:串口、以太网接口、USB、音频接口、液晶显示屏、摄像头等。

(2)嵌入式软件系统主要包括:底层驱动、操作系统、应用程序

1)底层驱动:实现嵌入式系统硬件和软件之间的接口。

2)操作系统:简称OS。实现系统的进程调度、任务处理。操作系统的核心是嵌入式处理器。

流行的操作系统有:Linux、 uC/OS-II、Windows CE、VxWorks等。

3)应用程序:实现系统功能的应用。

二.嵌入式处理器

嵌入式系统的核心部件是嵌入式处理器,截至2000年嵌入式处理器的品种总量超过1000种,流行的体系结构30多个系列。

从应用的角度来划分,嵌入式处理器分为这几个类型:嵌入式微控制器(MCU:又叫单片机)、嵌入式微处理器(MPU)、嵌入式DSP、嵌入式片上系统(SoC)。

1)嵌入式微控制器(MCU):通用系列包括:8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。

2)嵌入式微处理器(MPU):主要有Aml186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。

MPU分为:复杂指令集计算机CISC和精简指令集计算机RISC两类。

CISC结构体系:大多数台式计算机都使用CISC微处理器,比如Intel的X86;

RISC结构体系:有两大类:

Silicon Graphics公司(硅谷图形公司)的MIPS技术

ARM公司的Advanced RISC Machines技术

3)嵌入式DSP:代表性产品有TMS320系列、DSP56000系列。

4)嵌入式片上系统(SoC):分为通用系列和专用系列两类。

通用系列包括:M-Core、某些ARM系列、Neuron芯片等。

专用的SoC一般专用于某类系统中,不为一般用户所知。

三.ARM处理器系列

1.常见的基于ARM核的产品有:
(1)Inter公司的XScale
(2)ST公司的STM32
(3)Freescale公司的龙珠系列iMX处理器
(4)TI公司的DSP+ARM处理器OMAP和Cortex核的LM3S系列
(5)Cirrus Logic公司的ARM系列
(6)SamSung公司的ARM系列
(7)Atmel公司的AT91系列微控制器
(8)NXP公司的微控制器系类

2.ARM公司定义了7种主要的ARM指令集体系结构版本,版本号V1-V7表示。
(1)V1:ARM1
(2)V2:ARM2、ARM3
(3)V3:ARM6
(4)V4:ARM7、ARM8、ARM9、StrongARM
(5)V5:ARM10、XScale
(6)V6:ARM11
(7)V7:Cortex、SecurCore

3.ARM Cortex处理器简介
ARM公司在ARM11系列以后的产品改用Cortex命名,并分为A、R、M三类。
A系列:基于V7A的称为Cortex-A系列。面向尖端的基于虚拟内存的操作系统和用户应用。
R系列:基于V7R的称为Cortex-R系列。针对实时系统。
M系列:基于V7M的称为Cortex-M系列。针对微控制器。常见的Cortex-M处理器有:Cortex-M0、Cortex-M3。

通过图 2.2.1 可以知道,ARM7TDMI、ARM920T 属于 ARMv4 体系,ARM926、ARM946、ARM966 属于 ARM v5 体系,ARM1136、ARM1176、ARM Cortex-M0、ARM Cortex-M1 属于 ARM v6 体系,Cortex-A8、Cortex-R4、Cortex-M3 属于 ARM v7 体系。
按应用特征分类,可以分为三类:
(1)应用处理器(Application Processor) :该处理器具有 MMU、Cache,并且频率最快、性能最高、功耗合理。
(2)实时控制处理器(Real-time Controller):该处理器具有 MPU、Cache,并且能够实时响应、性能合理,功耗较低。
(3)微控制器(Micro Controller):该处理器性能一般,但是成本最低,功耗也极低。

从 ARM v4 架构发展到 ARM v7 架构,每种架构的简要如下:

ARMv4

ARMv4 是目前支持的最老的架构, 是基于 32bit 地址空间的 32bit 指令集。ARMv4 除了支持 ARMv3 的指令外还扩展了:
  ™支持 halfword 的存取
  ™支持 byte 和 halfword 的符号扩展读
  ™进一步的明确了会引起 Undefined 异常的指令
  ™对以前的 26bits 体系结构的 CPU 不再兼容

ARMv4T

ARMv4T 增加了 16bit Thumb 指令集,这样使得编译器能产生紧凑代码(相对于 32bit 代码,内存能节省到 35%以上)并保持
32bit 系统的好处。

ARMv5TE

1999 年推出 ARMv5TE, 增强了 Thumb 体系, 改进了 Thumb/ARM 相互作用、编译能力和混合及匹配 ARM 与 Thumb 例程,以
更好地平衡代码空间和性能并 在 ARM ISA 上扩展了增强的DSP指令集,增强的DSP指令包括支持饱和算术
(saturatedarithmetic)应用,提高了数字信号处理 70%性能。‘E’扩展表示在通用的 CPU 上提供 DSP 能力。2000 年推出
ARMv5TEJ,增加了支持 Java 加速技术。

ARMv6

2001 年推出 ARMv6,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。SIMD 指令的扩展使得广大的软件
应用如 Video 和 Audio codec 的性能提高了 4 倍。Thumb-2 和 TrustZone 技术也用于 ARMv6 中。

ARMv7

ARMv7 定义了 3 种不同的处 器配置理器配置(processor profiles):
  Profile A 是面向复杂、 基于虚拟内存的 OS 和应用的。
  Profile R 是针对实时系统的。
  Profile M 是针对低成本应用的优化的微控制器的。
  所有 ARMv7 处理器配置都能够实现 Thumb-2 技术

结语:在 新架构的出现,意味着老的架构被取代,就像现在 Intel CPU  演变出更高性能而功耗更低的 Core i3/5/7  系列 CPU ,同样ARM  架构的演变代表着高性能和低功耗,市场主以 流以 ARM v6 和 和 ARM v7  架构为主导,所以,我们要深入了解 ARM ,必须对这两种架构有一定的认识。

四.ARM Cortex-M3体系结构

1.Cortex-M3处理器整合了一下组件

(1)ARMv7-M处理器内核
(2)嵌套向量中断控制器(NVIC)
(3)存储器保护单元(MPU)
(4)总线接口
(5)低成本调试解决方案

注意:NVIC支持1-240个外部中断输入(通常外部中断写做:IRQ),还支持 一个不可屏蔽中断NMI。


2.Cortex-M3处理器的2种工作状态

(1)Thumb状态
(2)调试状态
注意:与ARM7处理器不同,Cortex-M3处理器不支持ARM指令的执行,即也没有ARM状态。

3.Cortex-M3处理器的2种工作模式

(1)线程模式(thread mode):复位和异常返回进入此模式。
(2)处理模式(handler mode):出现异常进入此模式。
注意:引入线程模式和处理模式是为了让处理器区分普通应用程序代码和异常服务(包括中断服务)例程代码,从而进行不同的处理。

4.Cortex-M3代码的特权分级

(1)特权执行:可以访问所有资源。提供了一种防止普通用户代码出现意外对存储器关键区域误操作的保护方式。处理模式始终是特权模式。
系统复位后,处理器进线程模式,特权级别为特权模式。
(2)非特权执行:对有些资源的访问受到限制或不允许访问。线程模式可以是特权模式也可以是非特权模式。
注意:通过引入特权访问和非特权访问,能够在硬件水平上限制某些不受信任的程序执行,使系统的可靠性的到提高。

5.Cortex-M3的双堆栈机制

Cortex-M3的程序存储使用堆栈来实现。
(1)MSP(main stack pointer):整个系统提供一个主堆栈供用户程序和异常处理程序使用。
(2)PSP(process stack pointer):每一个处于线程模式的程序也有一个自己的进程堆栈。

6.ARM Cortex-M3寄存器组织

(1)通用寄存器
1)r0-r7:低组寄存器
2)r8-r12:高组寄存器
3)r13:堆栈指针寄存器
4)r14:子程序链接寄存器(LR)
5)r15:程序计数器

(2)程序状态寄存器

1)应用PSR

2)中断PSR

3)执行PSR

(3)控制寄存器

控制寄存器有两个用途:第一:用于定义特权级别;第二:用于选择当前使用哪个堆栈指针。应用时可由两个位来行使这两个职能。CONTROL[1]位:堆栈指针选择位;CONTROL[0]位:特权级别选择位。

(4)中断屏蔽寄存器

中断屏蔽寄存器包括:PRIMASK、FAULTMASK、BASEPRI三个寄存器,这三个寄存器用于控制异常的使能和清除。

1)PRIMASK

2)FAULTMASK

3)BASEPRI

7.ARM Cortex-M3存储器映射

8.ARM Cortex-M3异常处理与中断处理

中断与异常的区别:中断请求信号来自ARM Cortex-M3内核外面,来自各种片上外设和外扩的外设,对ARM Cortex-M3来说是异步的;异常则是在ARM Cortex-M3内核执行指令或访问存储器时产生,对ARM Cortex-M3来说是同步的。

嵌入式系统的组成、嵌入式处理器分类总结、ARM处理器系列总结、ARM Cortex-M3体系结构总结!相关推荐

  1. 广工android嵌入式系统试卷_嵌入式系统考试试题A及答案

    一.填空题(每空 2 分,共 18 分) 1 . PC 机开机的初始化工作一般由 BIOS 完成,而嵌入式系统的初始化工作一般由 ______________ 完成. 2 . ARM 内核三级流水线机 ...

  2. 嵌入式系统硬件构成-嵌入式系统硬件体系结构

    嵌入式系统核心板组成 嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为嵌入式最小系统,包括ARM CPU.flash存储器.SDRAM.串口.键盘等最基本部分,如上所示.另一部分为系统扩展 ...

  3. 嵌入式系统开发设计---嵌入式系统开发设计

    嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...

  4. 嵌入式系统概念以及嵌入式基础知识

    嵌入式系统概念以及嵌入式基础知识 \\\插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的(禾厶-亻言-手戈).最近比较闲,带做毕设,带学生参加省级以上比赛/ ...

  5. 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统

    基本结构 1.概述 嵌入式系统一般由嵌入式微处理器.外围硬件设备.嵌入式操作系统(可选),以及用户的应用软件系统等四个部分组成 2.嵌入式微处理器 (1)1000多种硬件处理器,分为MCU(Micro ...

  6. 广工android嵌入式系统试卷_嵌入式系统试卷

    嵌入式系统试卷 一(选择题 1.下面那个系统属于嵌入式系统(,) a."天河一号"计算机系统b.联想t400笔记本计算机 c.联想s10上网本d.联想ophone手机 2(软硬件协 ...

  7. 嵌入式系统开发16——嵌入式实时操作系统uC/OS的简介及简单应用

    本文主要介绍嵌入式实时操作系统(RTOS),并且以uc/OS为例,将其移植到stm32F103C8T6上,构建3个任务:其中两个task分别以1s和3s周期对LED灯进行点亮-熄灭的控制:另外一个ta ...

  8. 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...

    <嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...

  9. 嵌入式系统需求分析_嵌入式开发流程是什么?

    嵌入式开发流程 当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点.主要包括系统需求分析(要求有严格规范的技术要求).体系结构设计.软硬件及机械系统设计.系统 ...

  10. 【嵌入式系统复习】嵌入式网络与协议栈

    目录 开放式系统互连模型 总线通信的报文组形式以及传递方式 报文组形式 报文传递方式 网络分配与调度 嵌入式TCP/IP 蓝牙技术 蓝牙的节能状态 纠错方案 蓝牙协议栈 开放式系统互连模型 ISO/O ...

最新文章

  1. 干货丨一文介绍机器学习中基本的数学符号
  2. SaltStack实战之数据系统-Grains
  3. 关于浮点数在计算机内存中的存储
  4. 需要自己调研的框架,以及需要学习的内容
  5. Service Unavailable解决方法
  6. Bootstrap3 栅格系统之列排序
  7. 关于登录chkdsk的方法
  8. (转)EPWING格式的日语词典
  9. 基于React+antd的后台管理模板(可预览)
  10. 从头到尾彻底解析Hash 表算法
  11. 手机市场变天:荣耀鸣枪,重回舞台中央?
  12. 移动App该怎样保存用户password
  13. Vue.js实战——内置指令(二)
  14. 【服务器数据恢复】多块磁盘离线导致RAIDZ崩溃的数据恢复案例
  15. 平稳与非平稳随机信号的理解
  16. 多线程并发在电商系统下的追本溯源-电商实战
  17. 招标采购腐败与欺诈行为有哪些?该如何预防?
  18. 案例-站狼云品智美站助力必信空调中国制造领先品牌...
  19. 基于51单片机的停车场车位管理系统(程序+仿真+原理图+软件)
  20. mysql数据库特殊字符_mysql数据库存入特殊字符

热门文章

  1. 【Java 网络编程】TCP 传输机制 ( 数据拆分 | 排序 | 顺序发送 | 顺序组装 | 超时重发 )
  2. 【C++ 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 )
  3. IDEA----破解
  4. 网络流24题-魔术球问题
  5. 可扩展Web架构与分布式系统
  6. PHP array_intersect_uassoc
  7. winform(MDI窗体容器、权限设置)
  8. 前端基本功—javascript 第三天
  9. 查看Eclipse32位还是64位以及Eclipse的编译版本号,查看JDK是32位还是64位
  10. fix issues