第4章处理器人机交互
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4210011 0010 1010 1101 0001 0100 1011
显示器接口技术 4.3键盘接口技术 4.2本章内容
第4章人机交互接口技术嵌入式处理器 4.1触摸屏接口技术4.4
4210011 0010 1010 1101 0001 0100 1011
人机提供了人与智能系统进行信息交互的手段。
通过人机接口,人可以给智能系统发送操作指令,系统运行结果也可以通过显示等方式给人。
按照人机接口发展来看分为三个时期:
第一代人机对话时代,指的是以DOS 和UNIX 为代表的字符命令时代。
人机交流使用的语言是经过定义并有数量限制,在此体系之外的人基本不了解语言含义。
第二代人机对话时代,则采用的是接近人类自然思维的“所见即所得”的图形式交流方式。
其主要是通过键盘、鼠标等实现。
Windos 操作系统就是属于第二代图形操作方式。
第三代人机对话时代,采用人类习惯的自然交流语言,交流方式包括语音和手写等。
新一代的智能人机交互模式正在逐步形成。
该技术融合了人工智能、语言处理、计算机视觉、图形学、自然语音处理、多媒体等众多研究领域,具有很强的交叉性和综合性。
4210011 0010 1010 1101 0001 0100 10114.1 嵌入式系统简介
4.1.1 概述
嵌入式系统是以应用为中心,以计算机技术为基础,并且在软、硬件方面可进行裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。
硬件系统是架构基础,其设计优劣直接影响整个系统的稳定可靠程度、工作性能的实现和成本价格等方面。
软件程序包括操作系统和应用程序。
嵌入式系统方框图
0011 0010 1010 1101 0001 0100 1011
421
4210011 0010 1010 1101 0001 0100 1011应用程序
实时操作系统(RTOS )输入输出接口
处理器/ARM 核MMU/Cache SOC/SOPC
USB
GPIO
IIS
LCD
UART 和IrDA
ADC/DAC FPGA/CPLD DSP/浮点运算协处理器DMA 电源管理
人机交互接口LCD/触摸屏、键盘、鼠标设备驱动程序、HAL 、BSP
文件系统/图形用户应用程序接口
驱动层OS 层应用层软件
以太网看门狗及复
位电路Timer/RTC CAN Flash EEPROM SDRAM SRAM 内存硬件
0011 0010 1010 1101 0001 0100 1011
1. 基本组成结构
硬件
•嵌入式处理器
•各种类型存储器•相关电路及电源•接口控制器及接插件软件
•操作系统(OS)
•板级支持包(BSP)
•设备驱动(Device Driver)•协议栈(Protocol Stack)•应用程序(Application)
421
4210011 0010 1010 1101 0001 0100 10112.嵌入式系统的特点
(1)系统功耗低、体积小、具有专用性
(2)实时性强,系统内核小
(3)创新性和高可靠性
(4)高效率地设计
(5)嵌入式系统开发需要开发工具和环境
4210011 0010 1010 1101 0001 0100 10114.1.2 嵌入式处理器概述
嵌入式处理器对实时多任务具有很强的支持能力,能够完成多任务并且中断响应时间短。
同时,嵌入式处理器还具有存储区保护功能,其功耗可以限制在mW 或μW 数量级。
目前,嵌入式处理器一般包含有嵌入式微处理器(Micro Processor Unit ,简称MPU )、微控制器(Micro Control Unit ,简称MCU )、数字信号处理器(Digital Signal Processor ,简称DSP )和片上系统(System On Chip ,简称SOC )四种类型。
下面将分别予以介绍。
4210011 0010 1010 1101 0001 0100 10111. 嵌入式微控制器MCU
嵌入式MCU 的典型代表是单片机,目前在嵌入式设备中仍然有着极其广泛的应用。
通常单片机芯片内部集成FlashROM 、RAM 、总线、总线逻辑、定时/计数器、看门狗、I/O 、串行口、脉宽调制输出等必要功能和外设。
MCU 的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。
微控制器目前在工业中的应用还是很多,由于适合于控制,因此称为微控制器。
应用普遍的典型系列单片机有8位51系列单片机和16位低功耗MSP430单片机。
4210011 0010 1010 1101 0001 0100 1011(1)51/52系列8位单片机
型号8031、8051、8751、89C51、89C2051、89C55、89C320等。
内部组成:
8位CPU ,128/256B 内部RAM ,4-64KB 内部ROM ,15-32个I/O 口,5/6个中断源,2/3个定时/计数器,UART 串口等。
大部分指令为单周期指令,含有布尔处理器、专用数据指针DPTR 、地址/数据线复用。
0011 0010 1010 1101 0001 0100 1011
MCS51系列内部结构原理图
中断控制
CPU 振荡器
128B
RAM
(SFR)128B
专用寄存器
定时/计数器1
定时/计数器2总线控制器4个8位I/O口串行通信接口
接晶振读 写P0
口P1
口
P2
口
P3
口
TXD RXD
INTO INT1
421
0011 0010 1010 1101 0001 0100 1011
/PSEN
ALE
/EA RST
DPTR
堆栈指针
ALU
TMP1
ACC
TMP2
B 寄存器
PSW
定时和控
制逻辑
指令
寄存
器
SCON TNOD TCON
PCON
T2CON TH0TH0
TL0
SBUF IE IP
RCPL2L
中断,串行口和定时器逻辑
P1口锁存器
PC增量器
程式序计数器
0缓冲器
程序地址
寄存器RAM地址
寄存器RAM
P0口锁存器P2口锁存器EPROM/ROM
P0口驱动器P2口驱动器
P3口锁存器
P1口驱动器
P3口驱动器
OSC
MCS-51单片机架
构结构框图
421
4210011 0010 1010 1101 0001 0100 1011(2)典型16位MSP430系列单片机MSP430系列是由美国TI 公司制造,片内具备在线下载调试(JTAG )功能。
片上外设十分丰富,具有超低功耗特色,因此常用在各种便携式的智能仪器仪表等装置中。
性能和特点如下:•低电压、超低功耗。
工作电压范围在1.8V ~
3.6V ,例如,CPU 工作电压在2.2V,频率为1MHz 的正常工作模式下其工作电流为280μA ;待机工作模式下为1.1μA ;掉电工作模式0.1μA 。
•强大的处理能力。
MSP430系列单片机为16位RISC 结构
4210011 0010 1010 1101 0001 0100 1011
•系统工作稳定。
MSP430系列器件均为工业级的,运行环境温度为-40℃~+85℃。
•方便高效的开发环境。
目前主要应用的MSP430F43X 系列内部采用FLASH 型存储器,具有十分方便的开发调试环境。
MSP430系列单片机的各成员都集成了较丰富的片内外设。
基本结构包括有看门狗(WDT)、2个定时器(TimerA 和TimerB)、比较器、2个串口(UART0和UART 1)、硬件乘法器、液晶驱动器、1O 位/12位ADC 、最多达6×8条I/0口线、基本定时器(Basic Timer)。
以上外围模块再加上多种存储器方式就构成了不同型号的MSP430微控制器器件。
4210011 0010 1010 1101 0001 0100 10112. 32位嵌入式微处理器MPU 嵌入式微处理器是由通用计算机中的CPU 演变而来的。
与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的硬件和软件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。
在工作温度、抗电磁干扰、可靠性等功能方面一般都做了各种增强。
与通用计算机处理器相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
主流芯片ARM 、Am186/88、Power PC 、M68000、MIPS 系列等。
4210011 0010 1010 1101 0001 0100 10111)32位体系结构的性能优势(1)寻址空间大在ARM 的体系结构里,所有的资源,如存储器、控制寄存器、I/O 端口等都是在有效地址空间内采用统一编址的,方便了程序在不同处理器间的移植。
(2)运算和数据处理强采用了先进的CPU 设计理念、多总线接口(哈佛结构)、多级流水线、高速缓存、数据处理增强等技术,这样几乎所有的通信协议栈都能在32位CPU 中轻松实现。
使得C 、C++、Java 等高级语言得到了广泛的应用空间。
另外多数的微处理器都包含有DMA 控制器,这样就进一步提高了整个芯片的数据能力。
4210011 0010 1010 1101 0001 0100 101132位体系结构的性能优势(3)操作系统的支持
如果某个系统需要有多任务的调度、图形化的人机界面、文件管理系统、网络协议等需求,那么就必须使用嵌入式操作系统。
一般复杂的操作系统在多进程管理中还需要有硬件存储器保护单元(MPU )或管理单元(MMU )的支持。
目前ARM9以上的微处理器均有这些支持,可运行Linux 、Win CE 和VxWorks 等众多操作系统。
4210011 0010 1010 1101 0001 0100 10112)ARM 系列产品分类ARM (Advanced RISC Machines Limited )处理器当前有如下产品系列:ARM7、ARM9、ARM10和ARM11。
ARM7、ARM9、ARM10是通用处理器系列。
每个系列提供一套特定的性能来满足设计者对功耗、性能、和体积的需求。
ARM11是专门为安全设备而设计的。
性能高达1.2MIPS ,功耗测量为μW/MHz ,并且所有体系结构兼容。
4210011 0010 1010 1101 0001 0100 10113)基于ARM 技术的嵌入式硬件架构ARM 系统架构的微处理器一般是由32位ALU 、
37个通用寄存器及状态寄存器、32位桶型移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器组成。
如下图所示。
微处理器MPU原理图
0011 0010 1010 1101 0001 0100 1011
421
4
2
1
0011 0010 1010 1101 0001 0100 1011
4)ARM 的工作状态和工作模式
(1)工作状态
从编程的角度看,ARM 微处理器的工作状态有两种,可在两种状态之间切换:•第一种为ARM 状态,此时处理器执行32位的字对齐的ARM 指令;
•第二种为Thumb 状态,此时处理器执行16位的、半字对齐的Thumb 指令。
4
2
1
0011 0010 1010 1101 0001 0100 1011(2)ARM 微处理器工作模式
User 模式程序不能访问有些受保护的资源只能通过异常的形式来改变CPU 的当前运行模式
六种特权模式可以存取系统中的任何资源
System
模式
与User 模式的运行环境一样,
但是它可以不受任何限制的访问任何资源
该模式主要用于运行系统中的一些特权任务。
FIQ 模式IRQ 模式管理模式中止模式未定义模式
五种异常模式:主要是在外部中断或者程序执行非法操作时会触发。
4
2
1
0011 0010 1010 1101 0001 0100 1011
(3)ARM 的寄存器组织
共有37个寄存器被分为若干个组:分别为30个通用寄存器;6个状态寄存器(1个专用于记录当前状态,5个备用于记录状态切换前的状态);1个程序计数器PC 。
ARM 处理器有七种不同的处理器模式,在每一种模式下都有一组相应的寄存器与之对应。
即在每一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0-R14)、1至2个状态寄存器和程序计数器。
在使用的寄存器中,有些是公用的、有些是独立使用的。
4
2
1
0011 0010 1010 1101 0001 0100 1011
ARM 的寄存器组织示意图
用户模式R0R1R2R3R4R5R6R7R8R9R10R11R12R13R14R15CPSR
系统模式R0R1R2R3R4R5R6R7R8R9R10R11R12R13R14R15CPSR
管理模式R0R1R2R3R4R5R6R7R8R9R10R11R12R13_svc R14_svc R15SPSR CPSR_svc 中止模式R0
R1R2R3R4R5R6R7R8R9R10R11R12R13_abt R14_abt R15SPSR CPSR_abt 未定义指令模式R0
R1R2R3R4R5R6R7R8R9R10R11R12R13_und R14_und R15SPSR CPSR_und 外部中断模式R0
R1R2R3R4R5R6R7R8R9R10R11R12
R13_irq R14_irq R15
SPSR CPSR_irq 快速中断模式R0R1R2R3R4R5R6R7
R8_fiq
R9_fiq R10_fiq R11_fiq R12_fiq R13_fiq R14_fiq
R15
SPSR CPSR_fiq CPSR SPSR-SVC
CPSR SPSR-abt
CPSR
SPSR-und
CPSR
SPSR-irq
CPSR
SPSR-fiq
4
2
1
0011 0010 1010 1101 0001 0100 1011
5)ARM 的存储器格式
•ARM 支持大端序(Big-endian )和小端序(Little-endian )的内存数据方式,可以通过硬件的方式设置。
一般默认方式为小端序方式。
•大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。
•小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。
4
2
1
0011 0010 1010 1101 0001 0100 1011
6)S3C2410处理器概述
S3C2410X 是韩国三星公司推出的16/32位RISC 微处理器,其CPU 采用的是ARM920T 内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。
主要特性
•具有16KB 指令Cache 、16KB 数据Cache 和存储器管理单元MMU 。
•外部存储器控制器,可扩展8组,每组128MB ,总容量达1GB ;支持从Nand flash 存储器启动。
•55个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定。
4
2
1
0011 0010 1010 1101 0001 0100 1011
•4通道的DMA ,并且有外部请求引脚。
•3个通道的UART ,支持IrDA1.0功能。
•具有2通道的SPI 、1个通道的IIC 串行总线接口和1个通道的IIS 音频总线接口。
•有2个USB 主机总线的端口,1个USB 设备总线的端口。
•有4个具有PWM 功能的16位定时器和1个16位内部定时器。
•8通道的10位A/D 转换器,最高速率可达500kB/s ;提供有触摸屏接口。
•具有117个通用I/O 口和24通道的外部中断源。
S3C2410X 处理器概述
4
2
1
0011 0010 1010 1101 0001 0100 1011
•兼容MMC 的SD 卡接口。
•具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。
•看门狗定时器。
具有日历功能的RTC 。
•有LCD 控制器,支持4K 色的STN 和256K 色的TFT ,配置有DMA 通道。
•处理器时钟频率高达203MHz 。
•双电源系统:1.8/2.0V 内核供电,3.3V 存储器和I/O 供电。
S3C2410X 处理器概述
0011 0010 1010 1101 0001 0100 1011
DSP(Digital Signal Processor )20世纪60年代发展起来的一门新兴技术,所涉及的领
421域非常广泛。
如在数学领域中,微积分、概率统计、
随机过程、数字分析等都是数字信号处理的基础工具。
它与网络理论、信号与系统、控制理论、通信理论、
故障诊断等密切相关。
近年来,人工智能、模式识别、
神经网络等学科都与数字信号处理密不可分。
4
2
1
0011 0010 1010 1101 0001 0100 1011
(1)DSP 芯片的特点
•采用哈佛结构:采用数据总线与程序总线分离方式。
•采用流水线技术
•配有专用的硬件乘法-累加器:可在一个周期内完成一次乘法和一次累加操作。
•具有特殊的DSP 指令:循环寻址、位码倒置。
•快速的指令周期
•支持多处理器结构。
•省电管理和低功耗
4210011 0010 1010 1101 0001 0100 1011(2)DSP 的应用
•信号处理:数字滤波、傅里叶变换、频谱分析、波形产生等。
•通信:调制解调、数据加密和压缩、移动通信、可视电话、路由器等。
•语音和图象的处理:语音编码与合成、文本-语音转换、图象压缩与传输、鉴别、转换、模式识别、动画、电子地图、机器人视觉。
•军事:保密通信、雷达处理、导航、导弹制导、GPS 、电子对抗、搜索与跟踪等。
•仪器仪表:频谱分析、函数发生、数据采集等。
•在自动控制、医疗工程、家用电器等方面的应用。
4210011 0010 1010 1101 0001 0100 1011(3)DSP 处理器小结
DSP 具有较完善的软、硬件开发工具,如软件仿真器、在线仿真器、C 编译器等。
提供的DSP 开发工具功能强大,集成了代码的编辑、编译、连接和调试等功能,而且支持C/C++和汇编的混合编程。
DSP 具有处理速度快,灵活,精确,抗干扰能力强,体积小等优点。
已经成为一个新的技术领域,形成了有潜力的产业和市场。
国际上DSP 的供货商有以下几大公司:TI(德州公司)、ADI 公司、AT&T 公司等等。
4210011 0010 1010 1101 0001 0100 10114. 嵌入式片上系统SOC
SOC (System On Chip)是一种固件化的系统集成技术。
核心是把整个应用电子系统全部集成在一个芯片中。
如将微处理器核,加上一些通用的接口单元集成在一起。
如信号采集、转换、存储、处理等功能模块,通用串行端口(USB ),TCP/IP 通信单元、GPRS 通信接口、GSM 通信接口、IEEE1394、蓝牙模块接口等等。
这些单元以往都是独立的芯片。
SOC 最大的特点实现了软硬件无缝结合。
4210011 0010 1010 1101 0001 0100 10114. 嵌入式片上系统
SOC 在声音、图像、影视、网络及系统逻辑等应用领域中发挥了重要作用。
SOC 具有如下特点:
利用改变内部工作电压,降低芯片功耗;减少芯片对外管脚数,简化制造过程;减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度;内嵌的线路可以避免外部电路板在信号传递时所造成系统杂乱信号。
4210011 0010 1010 1101 0001 0100 10114. 嵌入式片上系统SOC
SOC 实现了在一个可编程逻辑器件PLD 内部运用编程语言等硬件描述语言,实现一个复杂的系统。
用户只需使用编程语言,综合时序设计,直接在器件内调用各种通用处理器的标准,然后通过仿真之后就可交付芯片厂商进行生产。
故其减小了体积和功耗,而且提高了系统的可靠性和设计生产效率。
4210011 0010 1010 1101 0001 0100 10114.1.3 嵌入式软件系统
嵌入式软件系统是实现嵌入式计算机系统功能的软件,一般是由嵌入式系统软件、支撑软件和应用软件构成。
其中系统软件的作用是控制、管理计算机系统的资源,具体的包含有嵌入式操作系统、嵌入式中间件(CORBA 、OSGI )等等。
支撑软件是辅助软件开发的工具,具体的包括系统分析设计工具、仿真开发工具、交叉开发工具、测试工具、配置管理工具和维护工具等。
应用软件面向应用领域,随着应用目的的不同而不同,例如手机软件、路由器软件、交换机软件、视频图像、语音、网络软件等。
应用程序控制着系统的动作和行为,而操作系统控制着应用程序与嵌入式系统硬件的交互作用。
1. 嵌入式系统软件结构
0011 0010 1010 1101 0001 0100 1011
嵌入式系统软件结构总的来说包含有4个层面,它们分别是设备驱动层、操作系统OS层、中间层、应用程序层。
也有些书籍将应用程序接口API归属于OS层。
由于硬件电路的可裁减
421性和嵌入式系统本身的特点,其软件部分也是可裁减的。
嵌入式软件系统的体系结构如图
4.8所示。
0011 0010 1010 1101 0001 0100 1011
板级初始化
RTC/定时器
驱动
LCD
驱动
以太网
驱动
串口
驱动
FLASH
驱动
键盘
驱动
其它
驱动
驱动层
TCP/IP
网络系统
文件
系统
内核
嵌入式
GUI
电源
管理
操作系统层
嵌入式
CORBA
嵌入式
JAVA
嵌入式
DCOM
面向应用领域
的中间件
中间件层
应用
任务1
应用
任务2
应用
任务n
应用层
……
421
4210011 0010 1010 1101 0001 0100 1011(1)驱动层软件
使用任何外设都需要有驱动程序的支持,驱动程序不仅要实现设备的基本功能函数,如初始化、中断响应、发送、接收等,而且还要提供完备的错误处理函数。
中间层为上层软件提供了设备的操作接口。
上层程序只需调用驱动程序提供的接口,而不用理会设备具体的内部操作。
驱动层软件将系统软件与底层硬件部分进行了隔离,使得系统的底层设备驱动程序与硬件无关。
具体包括硬件抽象层HAL 和板级支持包BSP 。
4210011 0010 1010 1101 0001 0100 1011(2)操作系统(OS )层操作系统层包含嵌入式内核、嵌入式TCP/IP 网络系统、嵌入式文件系统、嵌入式GUI 系统和电源管理等部分。
其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。
作为嵌入式系统软硬件资源的管理者,负责系统软硬件资源的调度与分配,保证系统资源被有效合理使用。
嵌入式操作系统掩盖了底层硬件的复杂性,提高了软件的开发效率和可维护性。
4210011 0010 1010 1101 0001 0100 1011(3)中间件层
目前在一些复杂的嵌入式系统中也开始
采用中间件技术,主要包括嵌入式CORBA 、OSGI 、嵌入式DCOM 和面向应用领域的中间件软件。
如基于嵌入式CORBA 的应用于软件无线电台的应用中间件SCA 等。
4210011 0010 1010 1101 0001 0100 1011(4)应用程序
应用层软件主要是由多个相对独
立的应用任务组成,每个应用任务完成特定的工作,如I/O 任务、计算的任务和通信的任务等,一般由操作系统调度各个任务。
应用程序是针对不同的应用而编写的程序。
4210011 0010 1010 1101 0001 0100 1011操作系统层包含嵌入式内核、嵌入式TCP/IP 网络系统、嵌入式文件系统、嵌入式GUI 系统和电源管理等部分。
其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。
简单的嵌入式系统可以不使用操作系统,被称为裸机设计,如8位单片机。
复杂的系统常常使用嵌入式操作系统,这样的系统一般可以扩展程序存储器,资源相对较多,系统实现的功能比较复杂,软件开发的工作量和开发难度比较大,维护费用较高。
使用嵌入式操作系统可以有效的提高这些系统的开发效率。
2.嵌入式操作系统简介
4210011 0010 1010 1101 0001 0100 1011
常用的嵌入式操作系统概述
(1)µC/OS -II 是一个抢占式实时多任务内核。
它是用ANSI 的C 语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。
公开源代码,全部核心代码只有8.3KB 。
至今,从8位到64位,µC/OS -II 已经在40多种不同架构的微处理器上使用。
使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。
(2)VxWorks :VxWorks 操作系统是美国WindRiver 公司于1983年设计开发的一种嵌入式(无MMU )实时操作系统(RTOS ),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领
4210011 0010 1010 1101 0001 0100 1011(3)Linux 在嵌入式领域异军突起,随着Linux 的迅速发展,嵌入式Linux 现在已经有了许多版本,包括强实时的嵌入式Linux (RT-Linux 和KURT-Linux )和一般的嵌入式Linux (如uClinux 和Porket Linux 等)。
各类嵌入式Linux 操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要,
(4)Windows CE 是Microsoft 公司为开发各类信息设备而开发出来的一个嵌入式软实时操作系统。
Windows CE 是一个非常小巧精致的操作系统。
这个操作系统的核心全部是由C 语言开发的,操作系统本身还包含许多由各个厂家用C 语言和汇编语言开发的驱动程序。
4210011 0010 1010 1101 0001 0100 10113. 嵌入式系统的开发技术简介
普通的PC 机的软件开发过程,从编写程序、编译和运行等过程全都在同一个PC 机平台上完成。
嵌入式系统开发的代码生成是在PC 机上完成,但由于嵌入式目标平台的不同,就要求在开发机上的编译器能支持交叉编译(例如GCC )、链接,然后将程序的代码下载到目标机上指定位置,然后还要交叉调试。
调试器还是运行在宿主机的操作系统上,被调试的程序是放在目标机上,通过串口或网络接口相连接。
主要流程为:编辑-交叉编译、链接-定位和下载-调试。
嵌入式系统采用这种开发模式主要是自身的特点决定的。
4210011 0010 1010 1101 0001 0100 1011需要使用交叉编译器,进行交叉开发。
–交叉编译器(Cross-compiler):是一种运行在通用计算机上的软件,但是能够生成在另一种处理器上运行的目标代码的编译器。
–交叉开发:在一台通用计算机上进行软件的编辑、编译,然后下载到嵌入式系统中运行交叉调试。
(1)嵌入式系统的开发模式
42
10011 0010 1010 1101 0001 0100 1011(2)嵌入式软件开发工具
“工欲善其事,必先利其器”
嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。
ARM 的开发工具包括有语言编译器、汇编器、连接定位器、调试器、操作系统、函数库、JTAG 调试器、在线仿真器等。
目前世界上约有多家公司提供不同类型的产品。
在Windows 环境下,其代表产品是ARM 公司的软件开发工具包ADS 和新推出的RVDS 。
在Linux 环境中,主要使用GNU 开发工具。
4210011 0010 1010 1101 0001 0100 1011(3)嵌入式系统开发环境交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括:文本编辑器;交叉编译器;交叉调试器;仿真器;下载器等。
建立交叉开发环境是进行嵌入式软件开发的第一步,目前常用的交叉开发环境主要有开放和商业两种类型。
开放的交叉开发环境的典型代表是GNU 工具链、目前已经能够支持x86、ARM 、MIPS 、PowerPC 等多种处理器。
商业的交叉开发环境则主要有Metrowerks CodeWarrior 、ARMSoftware Development Toolkit 、Embedded Visual C++等。
交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。
42
10011 0010 1010 1101 0001 0100 1011目标机硬件目标机应用系统
—应用软件—应用中间件—目标机OS
宿主机硬件宿主机OS
调
试
代
理运行库宿主机开发环境—编辑—编译—连接—调试运行平台Target 开发平台Host 交叉开发环境示意图。