XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


嵌入式系统基础

目录

嵌入式系统基础

概述

专用性强, 实时性好, 可裁剪性, 可靠性高, 功耗低, 系统内核小, 有专门的开发工具, 开发环境, 多技术的融合

嵌入式操作系统

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件, 能够有效管理复杂的系统资源,并且把硬件虚拟化

有两种类型

  • 商用型实时操作系统, 稳定可靠, 有完善的技术支持, 售后服务
  • 免费嵌入式实时操作系统, 价格方面优势, 但是稳定性服务型存在挑战

Linux操作系统

linux分为两个版本, 内核版本和发行版本

内核版本是指Linus领导的开发小组所开发的操作系统内核的版本号, 有时会附加第几次修改, 由3个部分组成,即主版本号、次版本号和次次版本号, 次版本号为奇数,表示该版本为测试版;次版本号为偶数,表示是个稳定版本,可以放心使用, 内核只是操作系统的核心, 负责控制硬件, 管理文件系统, 程序进程等, 不负责提供应用程序

以Linux Kernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统。经过如此组合的Linux套件称为Linux发行版。

特点

开源, 多用户多任务, 良好的用户界面, 独立的设备, 丰富的网络, 出色的速度, 良好的移植姓, 只有%10以下的使用汇编

ARM微处理器平台

处理器的体系结构

工作状态

有两种

  • ARM状态, 处理32位字节对齐ARM指令
  • Thumb状态, 处理16位半字节对齐Thumb指令

可以随时在两种工作状态之间切换,并且,微处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容, 使用BX指令, 操作数寄存器bit0为1的时候ARM

存储格式

  • 大端模式, 数据的高字节存储在低字节
  • 小端模式, 和大端模式相反

处理器的模式

  • 用户模式(usr):ARM处理器正常的程序执行状态。
  • 快速中断模式(fiq):用于高速数据传输或通道处理。
  • 外部中断模式(irq):用于通用的中断处理。
  • 管理模式(svc):操作系统使用的保护模式。
  • 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
  • 系统模式(sys):运行具有特权的操作系统任务。
  • 定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真.

通过软件改变,也可以通过外部中断或异常处理改变

指令集

ARM指令集是以32位二进制编码的方式给出的, ARM指令根据CPSR中的条件位自动判断是否执行指令

可以分为6大类,分别为数据处理指令、Load/Store指令、跳转指令、程序状态寄存器处理指令、协处理器指令和异常产生指令。

opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}
  • opcode:指令助记符,如LDR、STR等。
  • cond:可选的条件码,如EQ、NE等。
  • S:可选后缀,若指定“S”,则根据指令执行结果更新CPSR中的条件码。
  • Rd:目标寄存器。
  • Rn:存放第1操作数的寄存器。
  • operand2:第2个操作数。

处理器的系列

ARM7

低功耗, 对于价格功耗要求较高,

ARM7TDMI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。ARM7系列处理器没有内存管理单元(MMU)

ARM9

高性能, 低功耗

ARM9E

使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案, 增强的DSP(数字信号处理)处理能力,很适合于那些需要同时使用DSP和微控制器

ARM10E

在同样的时钟频率下,性能提高了近50%

ARM 11

ARM11的媒体处理能力和低功耗特点特别适用于无线和消费类电子产品

SecurCore微处理器系列

专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案

XScale处理器

基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器

StrongARM微处理器系列

它融合了Intel公司的设计和处理技术以及ARM体系结构的电源效率, 便携式通信产品和消费类电子产品的理想选择

Cortex微处理器

特点

低功耗, 低成本, 高性能, 双指令集可优化程序, 大量寄存器加快运行速度, 寻址灵活, 指令固定长度

结构

传统的计算机对于不通指令均匀分配, 不合理, ARM采用RISC

RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用 频率最高的简单指令,避免复杂指令,将指令长度固定,指令格式和寻址方式种类减少, 以控制逻辑为主,不用或少用微码控制等措施来达到上述

ARM还采用了一系列的优化处理

不能认为RISC架构就可以取代CISC架构。 事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性

寄存器结构

共有37个寄存器

  • 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
  • 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分

在每一种处理器模式下均有一组相应的寄存器与之对应,即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、1~2个状态寄存器和程序计数器

指令结构

ARM指令的长度为32位,Thumb指令的长度为16位。Thumb指令集为ARM指令集的功能子集