嵌入式开发嵌入式软件测试

嵌入式系统导论

2018-01-22  本文已影响84人  DecadeHeart

思维导图https://mubu.com/doc/1y91Dl_sPF

嵌入式系统概述

嵌入式系统(Embedded System):是以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统的组成:4个——嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户的应用程序。

嵌入式系统特点

版本一:

版本二:

版本三:

EOS特征、特点及实时系统

EOS特征

实时系统:采用各种算法和策略,始终保持系统行为的可预测性(不仅逻辑上正确,时间也必须及时)

非实时系统:逻辑正确即可,主要关心系统的平均响应时间(吞吐量)

嵌入式系统组成的特点:

EOS特点:

EOS的发展趋势

软件:

硬件:

存储器、软件及测试工具

嵌入式存储器:嵌入式存储器不同于片外存储器,它是集成在片内的,与系统中各个逻辑、混合信号等共同组成单一芯片的基本组成部分。包括嵌入式静态存储器、动态存储器、各种非易失性存储器

嵌入式系统的软件

嵌入式的系统软件分为两大部分,嵌入式操作系统、应用软件BSP

软件层次结构如图

应用软件
应用编程接口
嵌入式操作系统
BSP
底层硬件

操作系统向上层的应用软件提供API,BSP负责与底层硬件交互,向操作系统屏蔽硬件的差异

软件的测试技术与工具:

1.内存分析工具:用来处理再动态内存分配中存在的缺陷。

2.性能分析工具:EOS程序性能很重要,性能工具不仅能指出哪些例程花费时间,与调试工具联合使用可以引导开发人员查看需要优化的特定函数,还能引导开发人员发现再系统调用中存在的错误和程序结构上的缺陷

3.GUI测试工具:节省功能测试和回归测试的时间

4.覆盖分析工具:用来分析追踪哪些代码被使用过

嵌入式系统的发展阶段:1.SCM阶段;2.MCU阶段;3.SoC阶段;4.以Internet为标志的嵌入式系统。

发展趋势:1.高可靠性、高稳定性;2.运算速度快、开发周期短;3.强大的扩展功能和网络传输功能。

嵌入式系统的设计方法

本章节主要解决嵌入式系统中软硬件设计及工作的问题。

嵌入式开发的一般开发流程:早期由于计算机技术的限制,根据需求分析先设计硬件,硬件设计完成后,再在以构建平台上进行相应的软件开发 ,这种先硬件后软件的设计方法,主要用于单片机系统嵌入式处理器系统的开发。

嵌入式处理器的选型(待补充)

​ 要满足够用、适用、成本、功耗、软件开发工具、是否内置调试工具、是否提供评估板

操作系统的选择:

​ 非实时EOS:Microsoft-WinCE

​ 实时EOS:WindRiverSystem-Vxworks

​ 免费EOS:μC/OS、μClinux

操作系统的选择主要参考以下几个方面:

EOS的软硬件系统设计

​ 目前Soc时当前嵌入式系统的主要实现形式之一,面向SoC的软硬件协同设计是最流行的一种嵌入式系统设计方法。

传统的EOS开发方法 VS 软硬件协同设计

传统嵌入式系统的设计方法及缺点:

1需求分析 总体设计 2软硬分开设计 3集成验证 4结束

缺点:不统一、不协同、不易发现问题、周期长、盲目性、不能综合优化。

软硬件协同设计的基本过程,它们与传统设计方法异同(作业):

流程:1系统描述 2软硬件划分(成本函数) 3协同综合 4协同仿真与验证

比较:

​ 1采用并行设计和协同设计的思想,提高设计效率和缩短了开发周期

​ 2统一的工具描述,可合理划分系统软硬件,分配系统功能,在性能、成本、功耗等方面进行权衡折衷,获得更优化设计

​ 3支持多领域专家协同开发。

SoC设计方法学

器件的选择

MCU/MPU

DSP

FPGA

当前解决方案SOPC

SOPC,System-On-a-Programmable-Chip,可编程逻辑芯片上的片上系统

Altera的NiosII嵌入式处理器

Nios II采用SoPC Builder定制,DSP采用DSP Builder定制

Nios II处理器结构:一种软核(Soft-Core)处理器

软核:未被固化在硅片上,使用时需要借助EDA软件对其进行配置并下载到可编程芯片中的IP核

最大特点:可由用户按需求进行配置。

Nios II处理器系列支持三种内核:f快速、e经济、s标准

实例

硬件裁剪-处理器

• 单参数监护

​ – 血压(NIBP)、体温(TEMP)监控报警

​ • 单片机8051、Z80、PIC等

​ – 全息体温图:ARM7: S3C44B0X,StrongARM

​ – 心电ECG、血氧饱和度(SPO2)监控报警

​ • ARM7: S3C44B0X,StrongARM

​ – 心电图综合分析(图形显示)

​ • ARM9,MIPS

• 综合监护

​ – ARM9 ,MIPS

• 重症监护

​ – 集成方案: ARM7, ARM9, MIPS

​ – 综合方案: ARM9~ARM10, MIPS: XScale, 386EX

需求分析-OS

• 单参数监护系统

​ – 血压(NIBP)、体温(TEMP)监控报警

​ • 硬件提供参数通道,软件采样、计算、存储、数字显示;无OS

​ – 全息体温图(TEMP): 需uCLinux, Win CE

​ – 心电ECG、血氧饱和度(SPO2)监控报警

​ • 硬件提供参数通道,软件采样、计算、存储、数字显示;uC/OS

​ – 心电图综合分析(图形显示)

​ • 硬件提供参数通道,软件采样、计算、存储、数字显示; uCLinux, Win CE

• 综合监护系统

​ – 硬件提供参数通道,软件采样、计算、存储、数字显示;Linux, Win CE

• 重症监护系统

​ – 集成方案:硬件提供数据接口,软件扫描采样、转发、报警; uCLinux, uC/OS

​ – 综合方案:硬件提供数据接口,软件扫描采样、转发、报警、综 合显示; uCLinux, Win CE

硬件裁剪-I/O接口

• 单参数监护

​ – 血压(NIBP)、体温(TEMP)监控报警

​ • 计数器/定时器(PWM,ADC),PVC按键,LED(数字LCD),数字蜂鸣器

​ – 全息体温图(TEMP):加显示接口,点阵LCD(小型CRT)

​ – 心电ECG、血氧饱和度(SPO2)监控报警

​ • ADC接口(I2C), UART,Watchdog,PVC按键,GPS,LED(数字LCD),GPRS

​ – 心电图综合分析(图形显示)

​ • ADC接口(I2C), UART,Watchdog,PVC按键,点阵LCD(小型CRT)

• 综合监护

​ – ADC接口(I2C), UART,Watchdog,PVC按键,点阵LCD(小型CRT)

• 重症监护

​ – 集成方案: 100M Ethernet(或USB,CAN),各种监护仪器接口, PVC按键 ,LED(数字LCD),数字蜂鸣器

​ – 综合方案:ADC接口(I2C), UART,Watchdog,PVC按键,点阵LCD(小型 CRT)

硬件结构架构

• 需求分析

​ – 心电生命监护报警,GPS定位,GPRS报警

• 软硬件特性

​ – 硬件提供参数采样,软件计算、存储、数字显示;uCOS(Linux)

• 处理器:ARM7,S3C44BOX

• I/O接口与输入输出设备

​ –ADC接口,Watch Dog, PVC按键,GPS,GPRS,LCD

​ – 线性Flash(NOR),SDRAM,非线性Flash(NAND)

嵌入式硬件系统

最小硬件系统:嵌入式控制器、时钟系统、供电系统(电源)、复位及配置系统,

​ 可选:调试测试接口、存储器系统

嵌入式微处理器的特点:

体系结构:

单板计算机:电路板上包括ROM、RAM、总线、各种外设,可靠性差,保密性差

MPU:单片化,功耗和成本降低、可靠性提高。

嵌入式处理器

EOS:以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统,用于实现对其他设备的控制、监视和管理等功能。一般由微处理器、外围硬件设备、嵌入式操作系统以及应用程序等部分组成

嵌入式硬件可以分为:处理器核、外围电路和外设与扩展。

MPC采用Von Neumann架构或Harvard架构。MPC由CPU演化而来,主流包括ARM、MIPS、PowerPC、X86、68K

MCU:主流MCS51、P51XA、MCS-251

嵌入式处理器技术指标

1.功能:集成的存储器数量和I/O设备种类

2.字长:字长越长计算精度越高

3.处理速度

4.工作温度:民用0-70、工业用-40-85、军用-55-125、航天用(更宽)

5.功耗:工作功耗和待机功耗

6.寻址能力

7.平均故障时间,MTBF

8.性价比

9.工艺

10.电磁兼容性指标

嵌入式处理器选择原则P35

选择哪一类处理单元:根据具体的设计应用选择:通过用CPU、MPU。MCU、DSP、PLC

选择哪家的产品

1.低成本

2.低功耗

3.恰当的处理能力

4.技术指标

5.调查市场上已有的CPU供应商

6.合适的EOS支持:

7.与原有产品兼容

8.编程语言的限制

9.上市时间

10.处理器供应商是否提供开发板

典型的嵌入式处理器

ARM

ARM内核的命名规则,如ARM7TDMI

T:支持16位压缩指令集Thumb

D:在片调试,处理器可响应调试暂停请求

M:内嵌硬件乘法器

I:嵌入ICE仿真器,支持上断点和调试点

到ARM 926EJ-S时期,上述后缀作为默认不再列出,有新后缀:

E:DSP指令支持

J:Java指令支持

S:可逻辑综合软内核

F:带向量浮点协运算器

ARM处理器结构

1.RISC体系结构,指令小于100条,基本寻址方式2-3种。

2.ARM和Thumb状态。Thumb在性能和代码大小之间提供了出色的折中。

​ ARM支持7中处理器模式:

除用户模式均为特权模式,除系统模式另外5种都是异常模式Exception。

3.寄存器。ARM有37个寄存器。P40

4.指令集

5.存储器格式

多核处理器

对称(同构)多核,SMP,Symmetric Multiprocessing:各CPU共享内存子系统及总线系统,简单说就是多个CPU同时工作,交替运行,从而提高工作效率。

非对称(异构)多核,AMP,Asymmetric Multiprocessing:由主从处理器组成,主处理器是系统的核心,能运行操作系统,从处理器用来处理用户定义的制定功能。(比较少,比较有前景)

嵌入式存储系统

层次结构:EMPU(cache(片内ROM和RAM))\片外(主存、辅存)

存储器的选择

存储方案原则:

嵌入式外围设备和I/O

嵌入式软件系统

抢占式(Preemptive)多任务调度策略

EOS分类

VxWorks特点

QNX嵌入式操作系统

Nucleus Plus

μC/OS-II

嵌入式Linux

嵌入式软件开发和运行的几个技术

任务划分的一些原则

嵌入式操作系统的发展历史

1无操作系统的嵌入算法阶段 2简单监控的实时操作系统阶段 3通用的嵌入式实时操作系统阶段

嵌入式操作系统的特点

1小巧 2实时性 3可装卸 4固化代码 5弱交互性 6强稳定性 7统一的接口

嵌入式实时操作系统的发展趋势是什么?

1正向实时超微内核开放发展 2开放环境正向开放的、集成化的方向发展。

在进行嵌入式操作系统选择时,主要考虑哪些因素?

1市场进入时间 2可移植性 3可利用资源 4系统定制能力 5成本 6中文内核支持。

uCLinux系统采用哪种小型化方法?

1内核加载方式方面 2文件系统方面 3应用程序方面

常用名词

缩写 英文 中文 备注
ES Embedded System 嵌入式系统
MPU Micro Processing Unit 微处理器
MCU Micro Controller Unit 微处理器
EOS Embedded Operation System 嵌入式操作系统
RTOS Real Time Operation System 实时操作系统
WDT Watch Dog Timer 看门狗定时器
DSP Digital Signal Professor 数字信号处理器
Soc System on Chip 片上系统
ROM Read Only Memory 只读存储器
EPROM Eraserble Programmable ROM 可擦写可编程
SRAM Static Random Access Memory 静态随机存取存储器
DRAM Dynamic Random Access Memory 动态随机存取存储器
BSP Board Surport Package 板载支持包
API Application Programming Interface 应用编程接口
IDE Integrated Development Environment 集成开发环境
ICE In-Circuit Emulator 在线仿真器
ICD In-Circuit Debugger 在线调试器
OCD On-Chip Debugger 片上调试器
CSC Contactless Smartcard 公共交通无接触智能卡
IoT Internet of Things 物联网
CISC Complex Instruction Set Computer 复杂指令集系统
RISC Reduced Instruction Set computer 精简指令集系统
SCM Single Chip Microcomputer 单片微型计算机
JTAG Joint Test Action Group 联合测试工作组
USB Universal Serial Bus 通用串行总线
UART Universal Asynchronous Receiver/Transmitter 通用异步收发传输器
SDK Software Development Kit 软件开发工具包
DMA Direct Memory Access 直接内存存取
UML Unified Modeling Language 统一建模语言
CPI Cycles Per Instruction 指令平均周期数
MTBF Mean Time Between Failures 平均故障间隔时间
FPGA Field Programmable Gate Array 现场可编程门阵列
CPLD Complex PLD 复杂PLD
ASIC Application Specific Integrated Circuit 专用集成电路
LED Light-Emitting-Diode 发光二极管
LCD Liquid Crystal Display 液晶显示屏
PCMCIA Personal Computer Memory Card International Association 组织
CF Compact Flash Card CF扩充设备
SD Secure Digital Card SD扩充设备
MS Memory Stick MS扩充卡
IC Integrated Circuit 集成电路
PLD Programmable Logic Device 可编程逻辑器件
I²C Inter-Integrated Circuit 内置集成电路 100-400kbit/s
I²S Intel-IC Sound 一种串行总线接口标准
CAN Controller Area Network 控制区域网 1Mbit/s串行
GPRS General Packet Radio Service 通用分组无线业务
CDMA Code Division Multiple Access 码分多址
IP Intellectual Property 知识产权
ARM Advanced RISC Machines RISC微处理器
FIQ Fast Interrupt Request 快速中断响应
LAB Logic Array Block 逻辑阵列块
CMP Chi Multi-Processor 多核处理器
SMP Symmetric Multiprocessing 对称多处理器
AMP Asymmetric Multiprocessing 非对称多处理器
上一篇 下一篇

猜你喜欢

热点阅读