嵌入式系统实训报告

来源:m.fanwen118.com时间:2021.10.14

重庆航天职业技术学院

课程作业

课程名称:

班 级:

学 号:

姓 名:

成绩:

前言

嵌入式系统是基于单片机的一种升级版,它是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

我们可从几方面来理解嵌入式系统:

1.嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。

2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。

3.嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。

目录

第一章 嵌入式系统的定义组成和体系结构

1.1 嵌入式系统的定义 ??????1

1.2 嵌入式系统的体系结构 ????2

1.3 嵌入式系统的组成 ??????4

第二章 嵌入式操作系统和嵌入式软件的编写

2.1 嵌入式操作系统 ??????5

2.2 嵌入式Linux的开发流程的步骤??6

2.3 嵌入式系统的调试 ?????7

第三章 总结 ???????????9

参考文献 ?????????????10

第一章 嵌入式系统的定义组成和硬件设计

1.1 嵌入式系统的定义

按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。

嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。不同的嵌入式系统其特点会有所差异。 与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。 与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。 与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。 另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。嵌入式设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器仪表、工控单元、机器人、手机、PDA等。

按照上述嵌入式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。 有些人把嵌入式处理器当作嵌入式系统,但由于嵌入式系统是一个嵌入式计算机系统,因此,只有将嵌入式处理器构成一个计算机系统,并作为嵌入式应用时,这样的计算机系统才可称作嵌入式系统。 嵌入式系统与对象系统密切相关,其主要技术发展方向是满足嵌入式应用要求,不断扩展对象系统要求的外围电路(如ADC、DAC、PWM、日历时钟、电源监测、程序运行监测电路等),形成满足对象

- 1 -

系统要求的应用系统。因此,嵌入式系统作为一个专用计算机系统,要不断向计算机应用系统发展。因此,可以把定义中的专用计算机系统引伸成,满足对象系统要求的计算机应用系统。

嵌入式系统的实时性

响应时间:是实时系统从识别出一个外部事件到做出响应的时间; 生存时间:是数据的有效等待时间,数据只有在这段时间内才是有效的; 吞吐量:是在给定的时间内系统能够处理的事件总数,吞吐量通常比平均响应时间的倒数要小一点。 实时系统根据响应时间可以分为弱实时系统、一般实时系统和强实时系统三种。弱实时系统在设计时的宗旨是使各个任务运行得越快越好,但没有严格限定某一任务必须在多长时间内完成,弱实时系统更多关注的是程序运行结果的正确与否,以及系统安全性能等其他方面,对任务执行时间的要求相对来讲较为宽松,一般响应时间可以是数十秒或者更长。一般实时系统是弱实时系统和强实时系统的一种折衷,它的响应时间可以在秒的数量级上,广泛应用于消费电子设备中。强实时系统则要求各个任务不仅要保证执行过程和结果的正确性,同时还要保证在限定的时间内完成任务,响应时间通常要求在毫秒甚至微秒的数量级上,这对涉及到医疗、安全、军事的软硬件系统来说是至关重要的。

1.2 嵌入式系统的体系结构

嵌入式系统作为一类特殊的计算机系统,主要包括硬件设备

嵌入式操作系统和应用软件。

- 2 -

应用软件

嵌入式操作系统

硬件设备

嵌入式处理器 外围设备

嵌入式体系结构图

硬件设备包括嵌入式处理器和外围设备。其中的嵌入式处理。

(CPU)是嵌入式系统的核心部分,它与通用处理器最大的区别在于,嵌入式处理器大多工作在为特定用户群所专门设计的系统中,它将通用处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

外围设备是指嵌入式系统中用于完成存储、通信、调试、显示等辅助功能的其他部件。目前常用的嵌入式外围设备按功能可以分为存储设备(如RAM、SRAM、Flash等)、通信设备(如RS-232接口、SPI接口、以太网接口、USB接口、无线通信等)和显示设备(如显示屏等)。

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

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

- 3 -

1.3 嵌入式系统的组成

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微上控制电机和多种传感器,从而可以执行各种复杂的动作和感受种状态信息。

下面对嵌入式计算机系统的组成进行介绍。

1、 硬件层 硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

2、 中间层 硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或者板级支持包(Board Support Package,BSP),它半系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。 实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入工系统的硬件初始化的BSP功能,设计硬件相关的设备驱动。

3、 系统软件层 系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

- 4 -

第二章 嵌入式操作系统和嵌入式软件的编写

2.1 嵌入式操作系统

嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。

目前嵌入式操作系统呈现多元话趋势主要有:

Windows CE 虽然微软 Windows 系统已经称霸了 PC Desktop 环境。但是对于嵌入式系统这块大饼,微软也是垂涎已久,桌上型的 Windows 桌业系统对于嵌入式系统来说自然是太过于肥大的产物,于是微软推出精简版的 Windows CE 作为进攻嵌入式系统的主力。目前主要应用于 PDA 上头,但是跟微软一系列 Windows 系统一般,Windows CE也承袭了原有的缺点:耗系统资源、不稳定、效率不佳..等等。毛病实在太多,后来将整个架构重新改写后推出 Windows CE 3.0 版,或称为 Pocket PC。改版之后的确改进了不少缺点。

Palm 由 Palm Computing 公司的嵌入式操作系统,目前最大的应用在 PDA ,是市场占有率最高的 PDA 操作系统,Palm 操作系统架构非常简洁,因为少去了很多功能,如内存管理、多任务..等等,使得 Palm 可以非常不耗系统资源,硬件需求低,连带的整体耗电量便可压缩到非常低,因此采用 Palm 操作系统的 PDA 都有待机时间长的优点。

Linux linux 采用 GPL 授权,除了把原始码公开以外,任何人都可以自由使用、修改、散布,而 Linux 核心本身采模块化设计,让人很容易增减功能,例如我的平台并不需要蓝芽的功能,我只要不把这项功能加入,有需要就加入,不需要就删除,由于这样的高的弹性,我们可以调校出最适合我们硬件平台的核心出来。

- 5 -

2.2 嵌入式Linux的开发流程的步骤

1.建立开发环境 操作系统一般使用RedHat-Linux,版本从7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-?clibc-gcc),或者安装产品厂家提供的交叉编译器。

2.配置开发主机 配置MINICOM,一般的参数为波特率为115 200bps,数据位为8位,停止位为1,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样的。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

3.建立引导装载程序BOOTLOADER 从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体的芯片进行移植修改。有些芯片没有内置引导装载程序,例如三星的ARM7、ARM9系列芯片,这样就需要编写开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是系统正常运行的第一步。如果购买了厂家的仿真器当然比较容易烧写Flash,这对于需要迅速开发自己产品的人来说可以极大地提高开发速度,但是其中的核心技术是无法了解的。

4.下载别人已经移植好的Linux操作系统 如?CLinux、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过的,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于?CLinux这样的系统则需编译进内核进行调试。

5.建立根文件系统 从网上下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配

- 6 -

置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映像文件。

6.建立应用程序的Flash磁盘分区 一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性Flash(NOR型)512KB~32MB,有的系统使用非线性Flash(NAND型)8~512MB,有的两个同时使用,需要根据应用规划Flash的分区方案。

7.开发应用程序 应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于?COS-II的方式。

8.烧写内核、根文件系统、应用程序

9.发布产品 嵌入式系统的图形用户接口。

2.3 嵌入式系统的调试

调试通常使用内部电路仿真器或者其他一些能够在单片机微码(microcode)内部产生中断的调试器。微码中断让调试器能够在只有CPU工作的硬件中进行操作,基于CPU的调试器能够从CPU的角度来测试和调试计算机的电路。PDP-11开创了这种特性的先河。

开发人员能够仍然使用断点、单步执行以及高级语言进行调试,在许多的调试工具上都有这种能力。另外开发人员在调试实时事件顺序的时候需要记录、使用简单的记录工具。

首先遇到这种问题的个人电脑和大型机程序员经常在设计优先级和可行方法的时候感到困惑。指导、代码审查和非个人风格(egoless)的编程是值得推荐的。 随着嵌入式系统变得越来越复杂,更高层次的工具和操作系统逐渐移植到可行的设备上。例如,蜂窝电话、个人数字助理和其他的消费用计算机需要一些从个人或者这些电子设备制造商之外的公司购买或者提供的一些重要软件。在这些系统中,需要如Linux、OSGi或者Java这样的开放编程环境,这样第三方软件提供上才能够在大规模的市场上销售软件。

- 7 -

大多数这样的开发环境都有一个运行在个人电脑上的参考设计,这种软件的绝大部分都可以在传统的个人电脑上开发。然而,从开放环境移植到专用的电子设备和电子设备的驱动程序开发通常仍然是传统的嵌入式系统软件工程师的工作。

- 8 -

第三章 总结

经过这次作业让我们对嵌入式linux应用程序开发的理解更加的清楚了,嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性。

我所学习的主要是Linux嵌入式系统,其中包括linux的快速入门、linux的基础命令、linux下的编程基础、嵌入式linux开发环境的搭建、进程控制开发等等。让我们更加的理解透彻了我们学习的linux嵌入式系统。能够让我们学习的东西和书本教材上学到的东西相互的印证,让我们能够更好的对嵌入式linux系统理解

- 9 -

参考文献

[1]窦振中等.嵌入式系统设计的新发展及其挑战[J].

单片机与嵌入式系统应用,2004(12):5-9.

[2] 许海燕,付炎著.嵌入式系统技术与应用.机械

工业出版社.2002

[3]孙俊香,于连庆.如何构造嵌入式实时应用系统[J].

计算机应用,2004 (4):13-15.

[4] 周立功主编.ARM 嵌入式系统基础教程.北京航

空航天人学出版社.2005

[5] DavidA.Rusling.朱珂等译.Linux 编程白皮

书.机械工业出版社.2000

[6] 李驹光 聂雪媛 江泽明等.ARM应用系统开发详解——基于 S3C4510B 的系统设计. 北京:清华大学出版

社,2003

[7] 田泽主编. 嵌入式系统开发与应用教稃. 北京

航空航天大学出版社.2005

[8] 熊光泽等.嵌入式应用软件设计方法学研究综述

[J].计算机应用, 2004

- 10 -

更多类似范文
┣ 嵌入式系统 各实验实验报告 11800字
┣ 大学ARM嵌入式实验报告 5200字
┣ 嵌入式实验报告书 5600字
┣ 嵌入式实验报告 23400字
┣ 更多嵌入式实训报告
┗ 搜索类似范文