(嵌入式系统开发)第一章嵌入式系统开发基础

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 嵌入式系统使用的操作系统一般是实时操作系统 (RTOS),系统有实时约束;
➢ 嵌入式系统需要专用开发工具和方法进行设计;嵌 入式微处理器通常包含专用调试电路;
➢ 嵌入式系统是技术密集、资金密集、高度分散、不 断创新的知识集成系统;
➢ 嵌入式系统比通用PC系统资源少得多;
➢ 嵌入式系统“嵌入”到对象的体系中,对对象、环 境和嵌入式系统自身具有严格的要求,嵌入式系统 具有低功耗、体积小、集成度高、成本低等特点;
一 存储管理
一 周边资源管理 一 中断管理
1.4.3典型嵌入式操作系统介绍
嵌入式操作系统的种类繁多,但大体上 可分为两种——商用型和免费型。
商用型的操作系统主要有VxWorks、Windows CE 、 Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等 免费型的操作系统主要有Linux和µC/OS-II
第一章 嵌入式系统开发基础
1.1 嵌入式系统基本概念
嵌入式系统:
用于控制、监视或辅助操作机器和设备的装置。
以应用为中心,以计算机技术为基础,软硬件可 剪裁,适应应用系统对功能、可靠性、成本、体积、 功耗等严格要求的计算机系统。
嵌入式系统的基本要素和特征: 嵌入、专用、计算机
嵌入式系统的特点
嵌入式系统的目标代码通常是固化在非易失性存储 器 ( ROM , EPROM , EEPROM , FLASH ) 芯 片 中;
源文件编辑阶段:C语言和汇编语言混合编程
编译: 工具如:IDE / GUN环境下的gcc
链接 : 各模块之间的链接
下载 : 将可执行的映像文件转换成二进制格式, 再烧写到Flash里。
调试: 软件/硬件. 硬件调试有:ICE和JTAG
目前大多数的嵌入式操作系统必须提供以下管理功能:
一 多任务管理
▪ 所有的嵌入式操作系统都是多任务的,目 前说的多任务大都是指多线程(Multi-Threads) 方式或多进程(Multi-Procosses)方式。操作系 统主要是提供调度机制来控制这些执行程序的 起始、执行、暂停、结束。
▪ 嵌入式操作系统中的进程状态有如下三种: 运行状态(running) 就绪状态(ready) 等待状态(waitting)
第一章 嵌入式系统开发基础
1.1 嵌入式系统基本概念
按计算机的非嵌入式应用和嵌入式应用将其分为 通用计算机和嵌入式计算机。 通用计算机具有一般计算机的基本标准形态,通 过装配不同的应用软件,以基本雷同的面目出现 并应用在社会的各个方面,其典型产品为PC; 非通用计算机-嵌入式计算机,则是非通用计算 机形态的计算机应用,以嵌入式系统的核心部件 的形式隐藏在各种装置、设备、产品和系统中。
Linux/μcLinux
多任务处理、多用户、内存保护、虚拟内存,支 持大多数32位和64位CPU。
μcLinux针对没有MMU的处理器。
1.5 嵌入式应用软件开发
1.5.1嵌入式软件开发的特点
嵌入式软件开发需要软/硬件开发环境和工具 开发过程完成后,系统应用程序代码需要固 化到系统中进行功能、性能和可靠性测试
有时候用户必须根据自己板子的硬件资源情况做适当 的调整与修改。
1.3 嵌入式系统硬件组成
1). 处理器:
2). 存储器
▪ 存储器类型:
存储器是嵌入式系统中存储数据和 程序的功能部件,目前常见的存储设备 按使用的存储器类型分为:
静态易失型存储器(RAM,SRAM); 动态存储器(DRAM); 非易失性存储器ROM(MASK ROM, EPROM, EEPROM,FLASH); 硬盘、软盘、CD-ROM等。
系统加电复位后,处理器将首先执行 Boot Loader 程序 通过这段程序,为最终调用操作系统内核、运行用户应用 程序准备好正确的环境。如:启动操作系统、启动内存 管理、任务调度、加载驱动程序等,最后执行应用程序 或等待用户命令.
启动程序BootLoader介绍
系统的启动通常有两种方式:一种是可以直接从Flash 启动; 另一种是可以将压缩的内存映像文件从Flash (为节省Flash资源、提高速度)中复制、解压到 RAM,再从RAM启动。 当电源打开时,一般的系统会去执行ROM(应用较多 的是Flash)里面的启动代码。这些代码是用汇编语言 编写的,其主要作用在于初始化CPU和板上的必备硬 件如内存、中断控制器等。
ROM监控器(ROM monitor)
2. 软件模拟环境
软件模拟环境也称为指令集模拟器ISS(Instruction Set Simulator)
软件模拟不可能完全代替真正的硬件环境,这种模 拟调试只能作为一种初步调试,主要是用作用户程序的模 拟运行,用来检查语法、程序的结构等简单错误,用户最 终还必须在真实的硬件环境中实际运行调试,完成整个应 用的开发。
交叉开发环境的宿主机到目标机的调试通道 一般有以下三种:
在线调试(On-Chip Debugging,OCD)
或在线仿真(On-Chip Emulator)
* 基于JTAG的ICD(In-Circuit Debugger) * 背景调试模式(BDM)
在线仿真器ICE(In-Circuit Emulator)
最常用的Linux操作系统:Red Hat 9 Fedora 10
µC/OS-II主要面向中小型嵌入式系统,具有执行 效率高、占用空间小、可移植性强、实时性能优 良和可扩展性强等特点。 µC/OS-II中最多可以支 持64个任务。
Microsoft Windows CE是针对有限资源的平台而 设计的多线程、完整优先权、多任务的操作系统。
看门狗及 复位电路
人机交互接口LCD/触摸屏、键盘、鼠标
典型的嵌入式系统组成
软件
硬件
SOC/
输 SOPC 入 输 出 接 口
1.2.2嵌入式系统软件的层次结构
具有操作系统的嵌入式软件层次
➢驱动层程序 ➢实时操作系统(RTOS)
OS
➢操作系统的应用程序接口(API) ➢应用程序
1.2.3启动程序BootLoader介绍
3).嵌入式外围接口电路和设备接口 :
3)嵌入式外围接口电路和设备接口
根据外围设备的功能可分为以下几类
一 通信接口
▪ 通信接口:
目前存在的所有计算机通信接口在嵌入
式领域中都有其广泛的应用,应用最为广泛 的接口设备包括RS-232接口(串口UART)
USB接口(通用串行总线接口)
IrDA(Infra Red Data Association-红外 线接口)、SPI(串行外围设备接口)、I2C、 CAN总线接口、蓝牙接口(Bluetooth)、 Ethernet(以太网接口)、IEEE1394接口和通 用可编程接口GPIO。
1.5.2嵌入式软件开发环境
1. 交叉开发环境
交叉开发: 在通用计算机(常用PC机,称宿主机)上进行程序编 辑、编译、汇编、链接,然后下载到嵌入式系统(称目标 机)中运行调试的开发方法。 交叉开发软件一般为一个整合编辑、编译、汇编、 链接、调试、工程管理及函数库等功能模块的集成开发环 境 IDE(Intergrated Development Environment)。
一 输入输出设备
CRT、LCD和触摸屏等,构成了嵌入式系 统中重要的信息输入输出设备,应用广泛。 触摸屏可以方便的实现鼠标和键盘功能。
一 设备扩展接口
一 电源及辅助设备
1.4 嵌入式操作系统
操作系统(OS)是配置在计算机硬件上的第一层软件,从 用户的观点看OS是用户与计算机硬件系统之间的接口。
嵌入式操作系统:具有实时性,为实时操作系统(RTOS)
对于PC机,其开机后的初始化处理器配置、硬件初始 化等操作是由BIOS(Basic Input /Output System)完成 的,但对于嵌入式系统来说,出于经济性、价格方面考 虑一般不配置BIOS,因此我们必须自行编写完成这些 工作的程序。这就是所需要的开机程序,在嵌入式中称 为BootLoader程序。
3 . 评估电路板/开发板
作为开发者使用的学习板、开发板 ,可以作为 应用目标板出来之前的软件测试、硬件调试的电路 板. 而开发板也可以作为嵌入式应用系统.
1.5.3嵌入式应用软件开发的基本流程
开发环境建立 :
一套完整的Embest ARM开发环境:包括Embest IDE集成开发 环境、Embest Emulator for ARM JTAG 仿真器、Flash编程器、 Embest S3CEV40评估板、各种连接线、电源适配器。在实际 嵌入式系统开发当中,用户可以根据自己需求灵活选择配置。
应用层 OS层 驱动层
应用程序
文件系统/图形用户应用程序接口
实时操作系统(RTOS)
设备驱动程序、HAL、BSP
电源管理
Flash
E2PROM
源自文库

SSDRRAAMM 存
GPIO
处理器/ARM核 Timer/RTC
IIS
CAN
USB
MMU/Cache
以太网
LCD
DSP/浮点运算协处理器
DMA
ADC/DAC FPGA/CPLD UART和IrDA
嵌入式系统的硬件分类
嵌入式处理器: 嵌入式微控制器、嵌入式DSP 、嵌入式微处理器
典型嵌入式处理器: ARM、Intel Atom、 嵌入式SoC:System on Chip。 IC →IS
基于ARM处理器核的SoC芯片得到广泛的应用。是 嵌入式系统的硬件核心。
可编程片上系统—SOPC:用可编程逻辑技术把整个系统放 到一块硅片上,称作可编程片上系统。
相关文档
最新文档