嵌入式应用程序设计 第一章 嵌入式系统基础.

Slides:



Advertisements
Similar presentations
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Advertisements

嵌入式系统简介 Introduction to Embedded System
计算机网络教程 任课教师:孙颖楷.
GOOWI 万物“无”连 --低功耗蓝牙在IoT中的应用    魏心伟 高为通信技术有限公司.
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
2017年3月5日 单片机原理与应用 背景知识调查.
第一章 嵌入式系统概况 大连理工大学 马洪连.
华为- B 产品类型:CPE 建议零售价格:799元 上市时间: 2014年2月21日 目标人群:家庭用户,提供LTE上网的业务
实用操作系统概念 张惠娟 副教授 1.
UI(用户界面)集训班 Illustrator 高级班.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
UROVO—i6200 外观设计 建议零售价格:XX元 上市时间:2014年 月 12 日 目标人群:快递、物流、医院、零售、快销
计算机基础知识 丁家营镇九年制学校 徐中先.
北京移动(中国移动的子公司)是中国主要的无线运营商之一。中国移动做为无线市场的开拓者,拥有中国70%的无线通信市场,也是世界上第二大的无线提供商,北京移动拥有上亿的手机用户,支持60多个国家的漫游业务。 为北京移动创造的价值 … 优秀的性能,支持了庞大的用户群 标准化了系统接口 加强了系统的灵活性.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
产品介绍 产品类型:数据终端 建议零售价2800元 上市时间:2017 年 2 月 目标人群:物流、快递及仓储等行业从业人员
瑞斯康达—MSG1500 产品类型:路由器 建议零售价格:198元 上市时间:2017 年 3月
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
第二讲 搭建Java Web开发环境 主讲人:孙娜
R in Enterprise Environment 企业环境中的R
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数 控 技 术 华中科技大学机械科学与工程学院.
第17章 网站发布.
森锐科技-SR235 外观设计 建议零售价格:2300元 上市时间:2016年 05 月 01 日
逆向工程-汇编语言
厂商—型号 海尔-PAD002 外观设计 建议零售价格:2999元 上市时间:2011年3月 目标人群:有移动互联需求的商务人士
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
华为—HUAWEI EC176 外观设计 建议零售价格:339元 上市时间:2012年 6月 10日 目标人群:大众消费群体
厂商—型号 荣耀-HiRouter-H1 外观设计 产品类型:无线路由器 建议零售价格:149元 上市时间:2017 年 5月
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
HUAWEI—S7-301c 外观设计 建议零售价格:2899元 上市时间:2012年5 月15日
VisComposer 2019/4/17.
产品介绍 日修改版本: 去除:C+W统一认证功能:(是否支持) 小米3 外观设计 上市时间: 2014 年 2 月
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Thomson-252G 外观设计 上市时间:2011年1月 目标人群:普通消者,行业用户费 标准配置:一电一充\耳机\数据线\DC充电器
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
华为— S7-201c 外观设计 S7-201c 建议零售价格:2588元 上市时间:2011年 10月 20 日
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
华为—HUAWEI EC19 9 建议零售价格:299元 上市时间:2012年4月18日 目标人群:移动办公用户;其它有移动上网需求的用户
计算机绘图 AutoCAD2016.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
ARM裸机第一部分-ARM那些你得知道的事
Google的云计算 分布式锁服务Chubby.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
华为-HUAWEI—EC156 建议零售价格:329元 上市时间:2012年 1 月 1 日 目标人群:大众消费群体 标准配置:无配件
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
一个实时嵌入式操作系统移植问题研究 报告人:荣峰华.
Presentation transcript:

嵌入式应用程序设计 第一章 嵌入式系统基础

本章课程: 1.1 嵌入式系统概述 1.2 ARM处理器硬件开发平台 1.3 嵌入式软件开发流程 1.4 实验内容—使用JTAG烧写NAND Flash 1.5 小结 1.6 思考与练习

1.1嵌入式系统概述 1.1.1 嵌入式系统的基本概念 1.1.2 嵌入式系统的体系结构 1.1.3 几种常用的嵌入式操作系统 1.1.4 嵌入式系统发展趋势

1.1.1 嵌入式系统的基本概念 嵌入式系统的基本概念 嵌入式系统应用随处可见,工业、军事、宇宙、通信、运 输、金融、医疗、气象、农业等领域 嵌入式系统是以应用为中心,以计算机控制系统为基础, 并且软硬件可裁剪,适用于应用系统对功能、可靠性、成 本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统通常由特定功能模块和计算机控制模块组成, 主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统 以及用户应用软件等部分组成。它具有“嵌入性”、“专 用性”与“计算机系统”的三个基本要素。

1.1.1 嵌入式系统的基本概念 嵌入式系统的特点 (1)面向特定应用的特点,与“通用型”系统相比,满 足特定应用的特定需求 (2)嵌入式系统的硬件和软件都必须进行高效地设计, 量体裁衣、去除冗余,力争在同样的硅片面积上实现更 高的性能 (3)嵌入式系统是将先进的计算机技术、半导体技术和 电子技术与各个行业的具体应用相结合后的产物。

(4)为了提高执行速度和系统可靠性,嵌入式系统中的 软件一般都固化在存储器芯片中或单片机本身,而不是 存储于磁盘中。 (5)嵌入式开发的软件代码尤其要求高质量、高可靠性 。 (6)嵌入式系统本身不具备二次开发能力,即设计完成 后用户通常不能在该平台上直接对程序功能进行修改, 必须有一套开发工具和环境才能进行再次开发。厂家对 产品固件(Firmware)进行升级

1.1.2 嵌入式系统的体系结构 嵌入式系统作为一类特殊的计算机系统,一般包 括以下3个方面:硬件设备、嵌入式操作系统和应 用软件。

1.1.2 嵌入式系统的体系结构 硬件设备包括嵌入式处理器和外围设备。 嵌入式处理器(CPU)是嵌入式系统的核心部分,它与 通用处理器最大的区别在于,嵌入式处理器大多工作在 为特定用户群所专门设计的系统中,它将通用处理器中 许多由板卡完成的任务集成到芯片内部,从而有利于嵌 入式系统在设计时趋于小型化,同时还具有很高的效率 和可靠性。 ARM/PowerPC/MC68000/MIPS等 外围设备是指嵌入式系统中用于完成存储、通信、调试 、显示等辅助功能的其他部件。目前常用的嵌入式外围 设备按功能可以分为存储设备(如RAM、SRAM、Flash 等)、通信设备(如RS-232接口、SPI接口、以太网接口 、USB接口、无线通信等)和显示设备(如显示屏等)3 类。

1.1.2 嵌入式系统的体系结构 嵌入式操作系统不仅具有通用操作系统的一般功 能,如向上提供对用户的接口(如图形界面、库 函数API等),向下提供与硬件设备交互的接口( 硬件驱动程序等),管理复杂的系统资源, 在系统实时性、硬件依赖性、软件固化性以及应 用专用性等方面,具有更加鲜明的特点

1.1.2 嵌入式系统的体系结构 应用软件是针对特定应用领域,基于某一固定的 硬件平台,用来达到用户预期目标的计算机软件 。 由于嵌入式系统自身的特点,嵌入式应用软件在准确性 、实时性、安全性和稳定性等方面要求较高 尽可能地进行代码优化,以减少对系统资源的消耗,降 低硬件成本。

1.1.3 几种常用的嵌入式操作系统 嵌入式Linux(Embedded Linux)是指对标准Linux 经过小型化裁剪处理之后,能够固化在容量只有 几KB或者几MB字节的存储器芯片或者单片机中 ,适合于特定嵌入式应用场合的专用Linux操作系 统。 嵌入式Linux同Linux一样,具有低成本、多种硬件 平台支持、优异的性能和良好的网络支持等优点 。 嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB字节的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。这与它自身的优良特性是分不开的。 嵌入式Linux同Linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适应嵌入式领域的开发,嵌入式Linux还在Linux基础上做了部分改进,如下所示。  改善的内核结构 Linux内核采用的是整体式结构(Monolithic),整个内核是一个单独的、非常大的程序,这样虽然能够使系统的各个部分直接沟通,提高系统响应速度,但与嵌入式系统存储容量小、资源有限的特点不相符合。因此,在嵌入式系统经常采用的是另一种称为微内核(Microkernel)的体系结构,即内核本身只提供一些最基本的操作系统功能,如任务调度、内存管理、中断处理等,而类似于设备驱动、文件系统和网络协议等附加功能则可以根据实际需要进行取舍。这样就大大减小了内核的体积,便于维护和移植。  提高的系统实时性 由于现有的Linux是一个通用的操作系统,虽然它也采用了许多技术来加快系统的运行和响应速度,但从本质上来说并不是一个嵌入式实时操作系统。因此,利用Linux作为底层操作系统,在其上进行实时化改造,从而构建出一个具有实时处理能力的嵌入式系统,如RT-Linux已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等各种领域。 嵌入式Linux同Linux一样,也有众多的版本,其中不同的版本分别针对不同的需要在内核等方面加入了特定的机制。

另外,为了更好地适应嵌入式领域的开发,嵌入 式Linux还在Linux基础上做了部分改进: 改善的内核结构,内核尽量精简,去除内核中用不到的 功能模块 提高的系统实时性

1.1.3 几种常用的嵌入式操作系统 嵌入式Linux 版 本 简 单 介 绍 CLinux 开放源码的嵌入式Linux的典范之作。 版 本 简 单 介 绍 CLinux 开放源码的嵌入式Linux的典范之作。 RT-Linux 由美国墨西哥理工学院开发的嵌入式Linux硬实时操作系统。 Embedix 根据嵌入式应用系统的特点重新设计的Linux发行版本。 XLinux 号称是世界上最小的嵌入式Linux系统。采用了“超字元集”专利技术,使Linux内核不仅能与标准字符集相容,还涵盖了12个国家和地区的字符集。 PoketLinux PoketLinux由Agenda公司采用、作为其新产品“VR3 PDA”的嵌入式Linux操作系统。 红旗嵌入式Linux 由北京中科院红旗软件公司推出的嵌入式Linux,它是国内做得较好的一款嵌入式操作系统。 Montavista linux MontaVista Linux是MontaVista Software于1999 年开始推出的,专门面向嵌入式系统的商业级操作系统。 风河linux 风河公司(著名的实时操作系统VxWorks的厂商)一直致力于嵌入式linux方面的研究和开发。

1.1.3 几种常用的嵌入式操作系统 μC/OS-II uC/OS-II是一种免费公开源代码、结构小巧、基于优先级的可抢先 的硬实时内核。自从92年发布以来,在世界各地都获得了广泛的应 用,它是一种专门为嵌入式设备设计的内核,目前已经被移植到40 多种不同结构的CPU上,运行在从8位到64位的各种系统之上。 μC/OS-II主要适合小型实时控制系统,具有执行效率高、占用空间 小、实时性能优良和可扩展性强等特点。最小内核可编译至2KB, 如果包含内核的全部功能,编译之后的μC/OS-II内核仅有6-10KB。 μC/OS-II的源代码结构合理清晰易读,不仅成功应用在众多的商业 项目中,而且被很多大学采纳,作为教学的范例,同时也是嵌入式 工程师学习和提高的绝好材料。 单片机上应用较多

1.1.3 几种常用的嵌入式操作系统 VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌 入式实时操作系统(RTOS),它是在当前市场占有率很高的嵌入式 操作系统之一。 VxWorks的实时性做得非常好,其系统本身的开销很小,进程调度 、进程间通信、中断处理等系统公用程序精练而有效,使得它们造 成的延迟很短。 另外VxWorks提供的多任务机制,对任务的控制采用了优先级抢占 (Linux 2.6内核也采用了优先级抢占的机制)和轮转调度机制,这 充分保证了可靠的实时性,并使同样的硬件配置能满足更强的实时 性要求。 另外VxWorks具有高度的可靠性,从而保证了用户工作环境的稳定 。同时,VxWorks还有完备强大的集成开发环境,这也大大方便了 用户的使用。 成本较高

1.1.3 几种常用的嵌入式操作系统 QNX QNX是一个分布式、嵌入式、可扩展的实时操作系统。 它基本兼容POSIX规范,提供UNIX类的编译器、调试器 、X Window和TCP/IP等。 QNX是一个微内核实时操作系统,其核心仅提供进程调 度、进程之间通信、底层网络和中断处理等4种服务,其 进程在独立的地址空间运行。所有其它OS服务,都实现 为协作的用户进程,因此QNX核心非常小巧,而且运行 速度很快。

1.1.3 几种常用的嵌入式操作系统 Windows CE Windows CE具有模块化、结构化和基干Win32应用程序 接口以及与处理器无关等特点。 它不仅继承了传统的Windows图形界面,并且用户在 Windows CE平台上可以使用Windows上的编程工具(如 Visual Studio等)、也可以使用同样的函数、使用同样的 界面风格,使绝大多数Windows上的应用软件只需简单 的修改和移植就可以在Windows CE平台上继续使用。

1.1.3 几种常用的嵌入式操作系统 Palm OS Paml OS在PDA和掌上电脑有着很庞大的用户群。Palm OS是Palm公司开发的专用于PDA上的一种操作系统。 虽然其并不专门针对于手机设计,但是Palm OS的优秀性 和对移动设备的支持同样使其能够成为一个优秀的32位 手机操作系统 。Palm OS最明显的特点在精简,它的内核只有几千个字 节,同时用户也可以方便地开发定制,具有较强的可操 作性。

Android 本课程对学习Android开发有较大帮助 Windows Phone IOS 值得关注

1.1.4 嵌入式系统发展趋势 提供强大的网络服务 小型化、低成本、低功耗 人性化的人机界面 完善的开发平台 配有标准网络通信接口,支持TCP/IP协议簇,应用软件 小型化、低成本、低功耗 人性化的人机界面 更方便的人机交互,多点触摸、语音控制 完善的开发平台 1.提供强大的网络服务 为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必须配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息等)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML浏览器、WML浏览器等。 2.小型化、低成本、低功耗 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术要求,如选用最佳的编程模型和不断改进算法,采用Java编程模式,优化编译器性能等。因此,既需要软件人员具有丰富的开发经验,更需要发展先进的嵌入式软件技术,如Java、Web和WAP等。 3.人性化的人机界面 亿万用户之所以乐于接受嵌入式设备,其重要因素之一是它们与使用者之间的亲和力。它具有自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。手写文字输入、语音拨号上网、收发电子邮件及彩色图形、图像已取得初步成效。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但离掌式语言同声翻译还有很大距离。 4.完善的开发平台 随着Internet技术的成熟、带宽的提高,ICP(Internet Content Provider,互联网内容提供商)和ASP(Application Service Provider,应用服务提供商)在网上提供的信息内容日趋丰富、应用项目多种多样,像移动电话、固定电话及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计者一方面采用更强大的嵌入式处理器,如32位、64位RISC芯片或数字信号处理器(DSP)增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。

1.2 ARM处理器硬件开发平台 1.2.1 嵌入式处理器简介 1.2.2 ARM处理器简介 1.2.3 S3C2410处理器介绍

1.2.1 嵌入式处理器简介 嵌入式系统的核心部件是各种类型的嵌入式处理 器 . 按功能和内部结构等因素,嵌入式系统硬件平台 可以分成下面几类。 嵌入式RISC微处理器 嵌入式CISC微处理器 指 标 RISC CISC 指令集 一个周期执行一条指令,通过简单指令的组合实现复杂操作;指令长度固定 指令长度不固定,执行需要多个周期 流水线 流水线每周期前进一步 指令的执行需要调用微代码的一个微程序 寄存器 更多通用寄存器 用于特定目的的专用寄存器 Load/Store结构 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输 处理器能够直接处理存储器中的数据 嵌入式系统的核心部件是各种类型的嵌入式处理器,据不完全统计,全世界嵌入式处理器的品种总量已经超过1 000种,流行的体系结构有30多个系列,数据总线宽度从8位到32位,处理速度从0.1到2 000MIPS(MIPS指每秒执行的百万条指令数)。按功能和内部结构等因素,嵌入式系统硬件平台可以分成下面几类。 1. 嵌入式RISC微处理器 RISC(Reduced Instruction Set Computer)是精简指令集计算机,RISC把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式,不用或少用微码控制。这些特点使得RISC非常适合嵌入式处理器。嵌入式微控制器将整个计算机系统或者一部分集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,比如以MIPS或ARM核为核心,在芯片内部集成ROM、RAM、内部总线、定时/计数器、看门狗、I/O端口、串行端口等各种必要的功能和外设。与嵌入式微处理器相比,嵌入式微控制器的最大特点是单片化,实现同样功能时系统的体积大大减小。嵌入式微控制器的品种和数量较多,比较有代表性的通用系列包括Atmel公司的AT91系列、三星公司的S3C系列、Marvell公司的PXA系列等。 2. 嵌入式CISC微处理器 嵌入式微处理器的基础是通用计算机中的CPU在不同应用中将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的功能,这样可以大幅度减小系统体积和功耗。嵌入式微处理器目前主要有Intel公司的x86系列、Motorola公司的68k系列等。表1-2所示描述了RISC和CISC之间的主要区别。

嵌入式微控制器将整个计算机系统或者一部分集 成到一块芯片中。 嵌入式微控制器一般以某一种微处理器内核为核 心,比如以MIPS或ARM核为核心,在芯片内部集 成ROM、RAM、内部总线、定时/计数器、看门狗 、I/O端口、串行端口等各种必要的功能和外设。 与嵌入式微处理器相比,嵌入式微控制器的最大 特点是单片化,实现同样功能时系统的体积大大 减小。 嵌入式微控制器的品种和数量较多,比较有代表 性的通用系列包括Atmel公司的AT91系列、三星公 司的S3C系列、Marvell公司的PXA系列等。

1.2.2 ARM处理器简介 ARM(Advanced RISC Machines)有3种含义,它是一个公司的名称, 是一类微处理器的通称,还是一种技术的名称。 ARM公司是微处理器行业的一家知名企业,其设计了大量高性能、廉 价、低耗能的RISC芯片,并开发了相关技术和软件。ARM处理器具有 高性能、低成本和低功耗的特点,适用于嵌入式控制、消费/教育类多 媒体、DSP和移动式应用等领域。 ARM公司本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产 各具特色的芯片。ARM这种商业模式的强大之处在于其价格合理,它 在全世界范围的合作伙伴超过100个,其中包括许多著名的半导体公司 。ARM公司专注于设计,设计的芯片内核耗电少,成本低,功能强, 特有16/32位双指令集。ARM已成为移动通信、手持计算和多媒体数字 消费等嵌入式解决方案的RISC实际标准。 ARM处理器的产品系列非常广,包括ARM7、ARM9、ARM9E、 ARM10E、ARM11和SecurCore、Cortex等。每个系列提供一套特定的 性能来满足设计者对功耗、性能、体积的需求。SecurCore是单独一个 产品系列,是专门为安全设备而设计的。

1.2.2 ARM处理器简介 表1-3 ARM系列处理器属性比较 项 目 ARM7 ARM9 ARM10 ARM11 流水线深度 3级 5级 项 目 ARM7 ARM9 ARM10 ARM11 流水线深度 3级 5级 6级 8级 典型频率(MHz) 80 150 260 335 功耗(mw/ MHz) 0.06 0.19(+Cache) 0.5(+Cache) 0.4(+Cache) MIPS/ MHz 0.97 1.1 1.3 1.2 架构 冯·诺伊曼 哈佛 乘法器 8×32 16×32

1. 3嵌入式软件开发流程 1.3.1 嵌入式系统开发概述 1.3.2 嵌入式软件开发概述

1.3.1 嵌入式系统开发概述 嵌入式系统的开 发主要分为系统 总体开发、嵌入 式硬件开发和嵌 入式软件开发3大 部分。

系统总体开发中,从功能与成本考虑进行处理器 选型 开发环境的选择

1.3.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图1.15中“软件设计实 现”部分所示,它同通用计算机软件开发一样, 分为需求分析、软件概要设计、软件详细设计、 软件实现和软件测试。其中嵌入式软件需求分析 与硬件的需求分析合二为一,故没有分开画出。 嵌入式系统的软件开发与通常软件开发的区别主 要在于软件实现部分,其中又可以分为编译和调 试两部分,

1.3.2 嵌入式软件开发概述——交叉编译 宿主机 目标机 交叉编译 普通的计算机,搭建开发环境(交叉编译),进行交叉 编译 通常称目标板,程序实际的运行环境 交叉编译 宿主机与目标机硬件平台差异,CPU/指令体系不同 在宿主机上基于源代码生成可以在目标机上执行的程序 交叉编译器本身也是程序,是可以在宿主机上执行的程 序,其输出是可以在目标机上执行的代码(对应指令体 系结构)

嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图1.6所示。图1.6 交叉编译环境 这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。 由于编译的过程包括编译、链接等几个阶段,因此,嵌入式的交叉编译也包括交叉编译、交叉链接等过程,通常ARM的交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器为arm-elf-ld、arm-linux-ld等,交叉编译过程如图1.7所示。

1.3.2 嵌入式软件开发概述——交叉调试 嵌入式系统的交叉调试有多种方法,主要可分为软件方式 和硬件方式两种。  调试器和被调试进程运行在不同的机器上,调试器运行在PC机( 宿主机),而被调试的进程则运行在各种专业调试板上(目标板) 。  调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被 调试进程。  在目标机上一般会具备某种形式的调试代理,它负责与调试器共 同配合完成对目标机上运行着的进程的调试。这种调试代理可能是 某些支持调试功能的硬件设备,也可能是某些专门的调试软件(如 gdbserver)。  目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标 机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理 上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区 别。

软件方式 Gdb server作为调试桩运行在目标机上,Gdb client运行 在宿主机上,二者通过串口,网卡(tcp/ip)通信,通信 协议为标准的gdb远程串行协议RSP 只能用于调试运行于目标操作系统之上的应用程序,不 宜用来调试内核代码及启动代码

本章小结 本章讲解了嵌入式系统的基本概念,包括嵌入式 系统的概念、特点以及其体系结构。在这里,重 点要掌握嵌入式系统和通用计算机的区别,加深 对嵌入式系统的理解。 概括性地讲解嵌入式处理器的分类和各个ARM系 列处理器,结合实际开发板进行学习。另外,不 同的硬件平台都会有一定的区别,对于某些细节 的不同处理需参阅对应厂商的用户手册。 讲解了嵌入式软件开发的流程,其中重点讲解了 交叉编译和交叉调试

思考与练习 1.什么是嵌入式系统,它具有哪些特点?从各方 面比较嵌入式系统与通用计算机的区别。 2.嵌入式系统由哪些部分组成,常用的嵌入式操 作系统有哪些,分别有什么特点? 3. CISC处理器和RISC处理器分别有哪些优点和缺 点? 4. 简述ARM处理器和各个系列的特点。 5.什么是交叉编译?为什么要进行交叉编译? 6.嵌入式开发的常用调试手段有哪几种?说出它 们各自的优缺点。