最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

嵌入式系统开发

运维笔记admin10浏览0评论

嵌入式系统概论

嵌入式系统介绍

  1. 嵌入式系统与通用计算机系统软件的相同之处,指的是嵌入式系统通常也具备引导加载程序外设驱动程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等。
  2. 嵌入式系统由硬件和软件两部分组成。硬件的主体是CPU和存储器,它们通过输入/输出与外部世界联系。嵌入式系统的软件配置有多种情况,有些简单,有些比较复杂。
  3. 按系统的软硬件技术复杂度,嵌入式系统分为低端系统、中端系统和高端系统。其中低端嵌入式系统,其硬件的核心大多是4位/8位单片机;一般不使用操作系统,由监控程序对系统进行控制;在工控领域和白色家电领域占主导地位,如计算器、遥控器、空调等。
  4. 服务器是高性能计算机

嵌入式系统的开发过程,通常分为:需求分析与规格说明、系统设计、构件设计、系统集成与测试等4个阶段。

嵌入式系统的特点:

  1. 专用性:与具体应用紧密结合,具有很强的专用性
  2. 隐蔽性:嵌入式系统是被包装在内部
  3. 资源受限:要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制
  4. 高可靠性:任何误动作都可能会产生致命的后果
  5. 实时性:需要实时数据
  6. 软件固化:软件都固化在只读存储器ROM中,用户不能随意更改其程序功能

嵌入式最小硬件系统一般包括嵌入式处理器、时钟电路、电源电路、复位电路、存储器和调试测试接口。

嵌入式系统的应用

嵌入式处理器的结构类型的4种分类方式
1.按指令集划分
CISC(复杂指令集结构)和RISC(简单指令集结构)
2.按存储机制划分
冯洛伊曼结构(一套总线,3级流水线)和哈佛结构(两套总线,程序与数据分离,13级流水线),哈佛更有执行效率
3.按指字长划分
8位,16位,32位,64位
4.按不同内核划分
51,AVR,PIC,MSP430,PowerPC,MC68K,ColdFire和ARM

嵌入式系统硬件的核心是CPU,其特点是:

  1. 支持实时处理
  2. 低功耗
  3. 字长有4位、8位、16位、32位和64位(通用计算机64位为主)
  4. 结构可扩展
  5. 集成了测试电路。

嵌入式处理芯片4种产品类型:片上系统(SoC)、微控制器(单片机又称MCU)、数字信号处理器(DSP)、微处理器。

**数字信号处理器(DSP)**支持单指令多数据(SIMD)并行处理的指令。

嵌入式操作系统的基本组成
在嵌入式操作系统的核心部分称为内核(kernel), 而对硬件设备进行控制和管理的程序模块称为驱动程序(driver)。

微控制器:一种将整个计算机硬件的大部分甚至全部电路集成在一块芯片中。它们的工作频率不高,存储容量较小,功耗很低。

实时时钟模块RTC

  1. 实时时钟模块RTC具有的主要功能包括BCD数据、闰年产生器、告警功能、独立的电源端口、支持毫秒滴答时钟中断作为RTOS核的滴答时钟、循环复位功能等。
  2. 采用单独的供电引脚和单独的时钟源;
  3. 实时时钟控制寄存器RTCCON共4位,控制时钟计数复位、BCD计数、时钟选择以及确定是否允许RTC读/写等;
  4. RTC内部的数据寄存器都是8位寄存器,存放相应的BCD码值。

片上系统(SoC)

  1. 又称为系统级芯片
  2. 可以分为单核与多核SoC、通用与专用SoC芯片、定制的嵌入式处理芯片与现场可编程嵌入式处理芯片。
  3. 随着电子设计自动化水平的提高和VLSI制造技术的飞速发展,半导体加工已经从微米、亚微米进入到深亚微米的时代,单个芯片上可以集成几亿个甚至几十亿个晶体管,因而能够把计算机或其他一些电子系统的全部电路都集成在单个芯片上,这种芯片就是所谓的片上系统。
  4. SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路。
  5. 由于SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能。
  6. 目前,大多数32位的嵌入式处理芯片均为SoC,SoC逐渐成为集成电路设计的主流发展趋势。
  7. 是电子设计自动化水平提高和大规模集成电路制造技术发展的成果
  8. 片上系统(SoC)的开发大多以IP核为基础,在单个芯片上集成处理器、存储器、各种接口电路等组件,组成一个较为完整的计算机系统。IP核中的IP是中文知识产权的英文缩写;目前SoC芯片中32/64位CPU大多数采用的是 ARM内核。

ARM处理器

  1. 复位后总处于ARM状态,平复位,不带n的表示高电平复位;ARM复位后PC无条件的指向0x00000000处。
  2. ARM采用RISC精简指令集
  3. 采用冯诺依曼体系或哈佛结构
  4. ARM的总线结构称为AMBA (先进微控器制总线结构),是ARM推出的开放式总线结构, 是目前流行的一种工业标准片上结构
  5. ARM处理器具有耗电省、功能强、成本低等特点。
  6. ARM11以后改为Cortex-系列。
  7. ARM7- ARM11位经典ARM处理器。
  8. 有ARM处理器都可以工作在ARM状态,而Cortex-M3只有Thumb-2状态和调试状态。
  9. 内部的模拟组件包括ADC和DAC,有的还带有比较器等,既能够处理数字信号又能处理模拟信号。
  10. 用户模式是ARM处理器正常的程序执行状态;系统模式是运行具有特权的操作系统任务;快中断模式支持高速数据传输或通道处理;管理模式(SVC)即操作系统保护模式。管理模式是操作系统的保护模式,处理软中断。除此之外还有数据访问终止模式(ABT)、中断模式(IRQ)、未定义指令终止模式(UND)。中止模式处理存储器故障。
  11. 通用寄存器 R0-R15的宽度为32位。
  12. 存储器保护单元(MPU)是对存储器进行保护的可选组件。它允许ARM处理器的4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域。

7种异常及相应优先级

  1. 经典ARM处理器有7种异常:复位RESET、未定义指令UND、 软件中断SWI、指令预取中止PABT、数据访问中止DABT、外部中断请求IRQ以及快速中断FRQ,其中优先级最高的异常是复位。

寄存器与硬件

CPSR程序状态寄存器:

  1. 选择ARM处理器处于外部中断模式、允许外部中断IRQ、进制快速中断FIQ、使用Thumb状态。记录当前运算所产生的标志位。
  2. T为ARM与Thumb指令切换,T=1时执行Thumb指令,否则执行ARM指令。
  3. CPSR中的控制位中,l是外部IRQ中断禁止控制位,l=1禁止外部IRQ中断,I=O允许IRQ中断;F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许FIQ中断。
  4. N为符号标志,N=1表示运算结果为负数,N=0表示运算结果为正数;F为禁止快速中断FIQ的控制位,F=0允许FIQ中断;V为溢出标志,加减法运算结果有溢出时V=1,否则V=0;Z为全0标志,运算结果为0,则Z=1,否则Z=0。
  5. ARM体系结构支持7种工作模式,工作模式之间可以切换,切换条件取决于当前程序状态寄存器CPSR的低5位值。用户模式是程序正常执行工作模式,如果没有异常发生不能改变工作模式;快速中断模式(FIQ)用来处理高速中断;中止模式处理存储器故障;系统模式运行特权级的操作系统任务。

汇编

ARM指令集
条件域:HI为无符号数大于、CC为无符号数小于、GT为带符号数大于、LE为带符号数小于或等于、CS为无符号数大于等于、 LT为带符号数小于、vS为溢出

Thumb指令集

  1. 8位立即数通过循环左移可间接得到32位有效立即数。
  2. 指令代码只有16位,相对于32位的ARM状态,代码密度更大,占用空间更小。

伪指令

  1. DCD用于分配一片连续的字存储单元并用指定的数据初始化,属于数据定义伪指令;
  2. CODE16伪指令通知编译器,其后的指令序列为16位的Thumb指令。

某ARM汇编语言程序要调用子程序,子程序名为MySubrutine,则调用该子程序的指令为BL MySubrutine,子程序返回调用程序的指令为MOV PC,LR。

开关中断指令属于程序状态类指令,用于更改处理器状态。关外部中断使用的指令为: CPSID I,开外部中断的指令为: CPSIE I。

复位

  1. 若嵌入式处理器芯片的系统复位引脚为nRESET,则表示低电平复位。
  2. 嵌入式系统常使用外接复位芯片提供的复位信号来实现系统的可靠复位
  3. 有些微处理器用复位芯片可通过两个不同引脚分别输出高电平或低电平有效的复位信号
  4. ARM复位后PC指针指向某个唯一的地址

中断控制器
支持所有内置硬件各组件的硬件中断,包括24个外部可屏蔽中断EINTO~EINT23以及ADC、RTC、SPI、 I

发布评论

评论列表(0)

  1. 暂无评论