选择特殊符号
选择搜索类型
请输入搜索
本书可作为计算机及电子信息类专业嵌入式系统课程的教材,同时也可供从事嵌入式系统产品开发的工程技术人员参考使用。
所有的通讯系统和消费类电子产品用的都是嵌入式系统。所以你就能看见这个行业的需求有多大,前景有多远了。如果你有很好的全局思维观和很强的逻辑思维能力,会将复杂问题进行合理的分类和分层的话,就适合做系统架构...
所有的通讯系统和消费类电子产品用的都是嵌入式系统。所以你就能看见这个行业的需求有多大,前景有多远了。如果你有很好的全局思维观和很强的逻辑思维能力,会将复杂问题进行合理的分类和分层的话,就适合做系统架构...
纵观嵌入式系统的发展历程,大致经历了以下四个阶段: 无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、等武...
嵌入式系统设计与应用研究
嵌入式系统设计与应用研究
摄像头嵌入式系统设计
玩转 STM32 实训报告 玩转 STM32 实训报告1 1 目录 绪论 ...............................................................3 第一章 系统总体设计思路 ............................................4 1.1 系统设计要求 .............................................4 1.2 系统设计方案 .............................................4 1.3 硬件部分方案 .............
图书目录
第1章 嵌入式系统入门导引
1.1 嵌入式系统的含义与发展历史
1.1.1 嵌入式系统与单片机
1.1.2 MCU的发展简史
1.2 嵌入式系统常用术语
1.2.1 与硬件相关的术语
1.2.2 与通信相关的术语
1.2.3 与功能模块相关的术语
1.2.4 与嵌入式软件相关的术语
1.3 嵌入式系统开发方法导引
1.3.1 嵌入式产品的一般构成
1.3.2 嵌入式产品的一般开发方法
1.4 嵌入式系统的特点与学习建议
1.4.1 嵌入式系统的特点
1.4.2 嵌入式系统的学习建议
练习题
第2章 HCS12/HCS12X系列MCU简介与MC9S12DG128的最小系统
2.1 HCS12系列MCU概述
2.1.1 HCS12系列MCU的命名规则
2.1.2 HCS12各子系列MCU简介
2.2 HCS12X系列MCU概述
2.2.1 HCS12X系列MCU与HCS12系列MCU的主要差异
2.2.2 典型HCS12X系列MCU简介
2.2.3 HCS12X系列MCU中的新增模块简介
2.3 MC9S12DG128 MCU及其最小系统
2.3.1 MCU性能概述
2.3.2 运行模式
2.3.3 内部结构简图、引脚图及引脚功能
2.3.4 MC9S12DG128 MCU的最小系统设计
2.4 MC9S12DG128的存储器映像
2.5 MC9S12DG128 MCU的并行I/O接口
2.5.1 I/O接口的基本概念
2.5.2 A口、B口、E口和K口
2.5.3 H口、J口、M口、P口、S口和T口
2.5.4 其他I/O口
练习题
第3章 CPU12核
3.1 CPU12基本构成
3.2 寻址方式
3.3 指令系统
3.3.1 数据传送类指令
3.3.2 算术运算类指令
3.3.3 位操作类指令
3.3.4 移位类指令
3.3.5 程序控制类指令
3.3.6 模糊指令
3.3.7 其他指令
3.4 CPU12与CPU08的比较
3.5 CPU12汇编语言基础
3.5.1 HCS12汇编源代码格式
3.5.2 MT-IDE for HCS12开发环境中的汇编伪指令
3.5.3 Code Warrior for HCS12开发环境中的汇编伪指令
练习题
第4章 HCS12工程组织及第一个样例程序
……
第5章 串行通信接口SCI
第6章 键盘、LED与LCD
第7章 SPI和I2C模块及其应用实例
第8章 A/D转换和D/A转换
第9章 定时器接口模块
第10章 CAN总线及其应用
第11章 Flash存储器的在线编程
第12章 系统时钟与其他功能模块
第13章 μC/OS-Ⅱ在S12上的移植与应用
第14章 基于UF32的USB 2.0应用
附录
参考文献
嵌入式系统的定义:
以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。
嵌入式系统的特点:
系统内核小:嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强:嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简:嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统:这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境。
嵌入式系统的组成:
嵌入式操作系统:
嵌入式系统开发流程:
裸机开发:对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序
带操作系统的开发:当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高 性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势
硬件开发--->启动加载程序--->操作系统内核--->根文件系统--->设备驱动--->应用程序
通常基于linux系统的嵌入式开发步骤:
开发目标硬件系统:如选择微处理器、Flash及其它外设等
建立交叉开发环境:安装交叉编译工具链、安装开发调试工具
开发Bootloader:移植uboot,vivi
移植linux内核:如linux2.6.31内核
开发根文件系统:CRAMFS,YAFFS
开发相关硬件的驱动程序:led,adc等驱动
开发上层的应用程序:如QT GUI开发
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成, 嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
(1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。
嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。
(2)存储器
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器,其存储结构如图1-2所 示。
1>Cache
Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。
2>主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。
常用作主存的存储器有:
ROM类 NOR Flash、EPROM和PROM等。
RAM类 SRAM、DRAM和SDRAM等。
其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。
3>辅助存储器
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。
嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。
(3)通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。
嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。
硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。