《嵌入式系统及应用》实验指导书初稿.docx

上传人:b****6 文档编号:8253153 上传时间:2023-01-30 格式:DOCX 页数:46 大小:836.77KB
下载 相关 举报
《嵌入式系统及应用》实验指导书初稿.docx_第1页
第1页 / 共46页
《嵌入式系统及应用》实验指导书初稿.docx_第2页
第2页 / 共46页
《嵌入式系统及应用》实验指导书初稿.docx_第3页
第3页 / 共46页
《嵌入式系统及应用》实验指导书初稿.docx_第4页
第4页 / 共46页
《嵌入式系统及应用》实验指导书初稿.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

《嵌入式系统及应用》实验指导书初稿.docx

《《嵌入式系统及应用》实验指导书初稿.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统及应用》实验指导书初稿.docx(46页珍藏版)》请在冰豆网上搜索。

《嵌入式系统及应用》实验指导书初稿.docx

《嵌入式系统及应用》实验指导书初稿

《嵌入式系统及应用》实验指导书

《EmbededSystem&Application》ExperimentationGuidingBook

 

目录

《嵌入式系统及应用》实验指导书1

《EmbededSystem&Application》ExperimentationSpecification1

目录2

概述3

实验一嵌入式系统硬件平台和ADS1.2开发环境实验4

1.1实验目的4

1.2实验设备4

1.3实验内容4

1.4EAX-400嵌入式系统硬件平台5

1.4.1系统硬件规格5

1.4.2系统配置表7

1.4.3系统模块和接口说明8

1.4.4系统仿真和开发硬件连接9

1.5ADS开发环境9

1.5.1配置ADS集成开发环境9

1.5.2建立工程文件12

1.5.3在线仿真与调试13

实验二嵌入式系统基本开发流程实验15

2.1实验目的15

2.2实验设备15

2.3实验内容15

2.4JTAG下载16

2.4.1并口驱动16

2.4.2命令行操作17

2.5超级终端的串口配置和使用17

2.6系统引导和LED数码管显示19

2.6.1嵌入式系统的启动流程19

2.6.2PXA255启动流程20

2.6.3LED数码管显示实验23

实验三嵌入式操作系统Linux基础实验25

3.1实验目的25

3.2实验设备25

3.3实验内容25

3.4Linux内核基本配置和编译26

3.4.1内核配置26

3.4.2内核编译37

3.4.3根文件系统39

3.5使用Blob下载烧写内核和根文件系统41

3.6Linux内核设备驱动模块43

3.6.1设备类型和主次设备号44

3.6.2设备驱动程序45

3.6.3实验步骤47

常见问题49

关键术语51

参考文献52

 

概述

《嵌入式系统及应用》是一门综合性强、实践性强和复杂度高的课程,对老师和学生都是一个很大的挑战。

实验课主要是在老师的指导下,学生通过实践,不断掌握、理解、提高和综合所学专业知识,培养他们的实践和创新能力。

具体包括如下实验:

实验一熟悉实验软硬件平台,包括EFLAG公司开发的EAX-400嵌入式实验系统和ARM开发软件环境ADS1.2。

实验二熟悉嵌入式系统基本开发流程,包括JTAG下载或烧写程序;超级终端的串口配置及使用;系统引导及LED数码管显示实验。

实验三操作系统基础实验。

包括Linux开发环境的搭建与使用;应用jflash烧写blob程序;内核的基本配置、编译和根文件系统的搭建;基本应用程序的加载实例。

嵌入式系统的设计、开发和应用,涉及到硬件电路的设计、软件程序的编写和操作系统的进程管理、任务调度等多方面的知识,通过基础性的实验,只能让大家有见“冰山一角”的感觉。

因为本人水平和编写书稿时间的限制,指导书中难免有遗漏、错误和不妥之处,恳请各位老师和同学们批评指正。

联系地址为kongquancun@。

让我们共同努力,一起把课程学好实验做好,为今后的学习、工作和科研打好坚实的基础。

谢谢!

2007年9月16日

 

实验一嵌入式系统硬件平台和ADS1.2开发环境实验

1.1实验目的

熟悉嵌入式系统实验软硬件平台,包括EFLAG公司开发的EAX-400硬件平台和ARM开发软件环境ADS1.2。

学会ARM仿真器的使用。

在ADS1.2环境下,调试并跟踪一段已有的程序,编译、链接通过后,下载到EAX-400平台上运行,初步了解以ARM处理器为核心的基础实验开发环境和基本思路。

1.2实验设备

硬件:

EAX-400嵌入式硬件平台、ARM-ICE的JTAG仿真器、PC机和串口线。

软件:

PC机Windows操作系统,ADS1.2集成开发环境,ARM-Multi-ICEServer仿真器驱动程序。

1.3实验内容

本实验首先熟悉EAX-400嵌入式硬件平台,包括处理器、存储器、人机接口和通讯模块等,初步理解系统硬件构成的框架。

然后,配置ADS的集成开发环境,新建一个简单的工程文件,并编译。

学习ARM仿真器的使用和开发环境的设置。

下载已经编译好的文件到嵌入式处理器中运行。

学习在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

1.4EAX-400嵌入式系统硬件平台

EAX-400嵌入式系统是学习32位ARM处理器的实验平台,它采用IntelPXA255作为嵌入式处理器核心,可配有WindowsCE.NET和EmbeddedLinux操作系统。

EAX-400嵌入式系统的硬件部分包括:

系统架构、资源分配、外围芯片、扩展接口及使用方法等。

下面就其系统架构做一简单介绍,其他部分的资料,见文献[1]和[2]。

1.4.1系统硬件规格

处理器

◆XscalePXA255:

400MHz

◆32BitsRISC处理器:

32K指令Cache,32K数据Cache

◆MMU单元,2K字节Mini-dataCache,扩展多媒体DSP指令

存储器

◆SDRAM:

64MB,可以定制扩展到256MB

◆NORFLASH:

16MB,IntelStrata快速页面读取模式Flash,可以扩展到64MB

◆NANDFLASH:

32MB,可以定制扩展到256MB

扩展存储接口

◆IDE硬盘接口

◆CF卡扩充插槽

◆SD/MMC卡扩充插槽

人机接口配置

◆LCD显示系统

3’TFTColorLCD分辨率:

640*480颜色:

65536色

◆触摸屏(TouchPanel)

四线电阻式触摸屏

◆音频控制器

采用TI公司TSC2301AudioCodec芯片,支持I2S/AC'97标准20位立体声编码/解码、支持可编程抽样率、输入输出增益和数字音响处理功能,同时集成触摸屏控制功能和4×4键盘控制功能。

◆PS/2鼠标、键盘

通讯模块

◆以太网控制器

一个Ethernet接口,10BaseT,支持低功耗模式

◆USBHOST

两个通用串行总线(USB1.1)主机控制器(HC)接口

◆USBSLAVE

一个通用串行总线(USB1.1)设备控制器(DC)接口

◆高速红外线(FIR)

采用HSDL3600的高达4Mbit高速红外接口

◆BTUART(蓝牙)

高速BlueTooth/RS232 接口,高达921kbps

◆FFUART

全功能串行接口,高达230kbps

◆并口

1个并行接口,支持SPP/EPP/ECP等工作模式

◆串口

3个串行接口

◆CAN总线(工业现场总线)

◆RS485总线(工业现场总线)

无线通讯模块

◆无线局域网卡802.11b(选配)

◆GPRS模块(选配)

◆GPS模块(选配)

视频输入模块

◆CMOS摄像头

支持通用USB摄像头(选配)

其他功能

◆ADC

一路ADC输入通道

◆DAC

一路DAC输出通道

◆数码管

4个数码管

◆LED

16个LED

◆蜂鸣器

◆步进电机

◆直流电机(带测速传感器)

◆用户自定义按键

◆复位按键

◆电源开关及电源指示灯

其他接口

◆JTAG调试接口

◆SPI扩展接口

◆NSSP扩展接口

◆I2C扩展接口

◆总线扩展接口

1.4.2系统配置表

表1EAX-400嵌入式系统配置表

项目

描述

Processor

IntelXscalePXA255400MHz

SDRAM

HY57V561620BT-H(64Mbytes)

NORFlash

Intelstrataflash28F128J316MBytes

NANDFlash

SamsungK9F5608U0A-YCB032MBytes

Display

TFTLCD(640*480)

Audio

TSC2301AC97StereoaudioAndSupportRecord,StereoheadphoneandLinein

Touch

TSC2301touchscreen

KeyBoard

TSC23014*4KeyBoard

PS/2

StandardMouseandKeyboard

Ethernet

CS8900A10BaseT

USBSlave

PXA255Build-in

USBHost

PHILIPSISP1161A1twoports

IrDA

HDSL3600

CF

1Slot

MMC&SD

1Slot

ATAPI

1Slot

FFUART

1COMM

BTUART

1COMM

SuperIOUART

1COMM

ParallelPort

1COMM

Real-TimeClock

PXA255Build-in

CANBUS

MCP2515CANBusController

RS-485

1COM

SPEAKER

1Wx2

LED

LEDx16and8SEGx4

BEEP

1

Motor

DCMotorx1withspeedmeasureandStepperMotorx1

WirelessModule

802.11bwirelessmodule(option)

GPRSmodule(option)

GPSmodule(option)

CMOScamera

SupportgeneralUSBcamera(option)

1.4.3系统模块和接口说明

下图是EAX-400嵌入式系统模块和接口说明图,如图1所示。

 

图1系统模块和接口说明图

1.4.4系统仿真和开发硬件连接

ARM-ICE使用标准的25芯并口插座和20针的JTAG插座作为接口,与PC机的连接线缆,使用标准的25芯并口连接线;与目标板的连接线缆,使用20芯的IDC宽带线缆。

系统仿真和开发硬件连接图,如图2所示。

1.5ADS开发环境

ADSV1.2集成开发环境支持全线的ARM处理器内核,满足更多用户对ARM处理器内核软件的开发调试需求。

下面就ADS集成开发环境的配置、新工程项目的建立和程序在线仿真、调式等方面,逐一进行介绍。

1.5.1配置ADS集成开发环境

(1)在PC主机上选择开始->程序->ARMMulti-ICEv2.2->Multi-ICEServer,进入

ARM-Multi-ICEServer主界面,点击左上角Auto-Configure按钮重置仿真器,显示下图状态,如图3所示,说明目标板、仿真器与PC机连接良好。

图3配置仿真器图4Project选择项

(2)运行ADS1.2集成开发环境(开始->程序->ARMDeveloperSuitev1.2->CodeWarriorforARMDeveloperSuite)。

选择File|New命令,在对话框中选择Project选择项,如图4所示,新建一个工程文件,其中示例的工程名为kk.mcp。

单击Set按钮为该工程选择保存路径,选中后将以图4中的Projectname作为创建目录的名称,这样可以将所有与该工程相关的文件,保存到该工程目录下,便于工程管理。

(3)在新建的工程中,如图5所示,选择Debug或DebugRel版本,使用Edit|DebugSettings命令对Debug版本进行参数设置。

图5版本选择图

(4)在DebugSettings对话框中选择TargetSettings选项,如图6所示。

在Post-linker列表框中选择ARMfromELF,单击右下角的Apply按钮使其有效。

图6TargetSettings选项图

(5)在DebugSettings对话框中选择ARMLinker选项,如图7所示。

在Output选项卡的Linktype选项组中选中Simple单选按钮,在Simpleimage选项组中设置连接地址,在ROBase中输入0xA0000000。

地址0xA0000000是开发板上SDRAM的物理地址,RWBase为空(不用填写),地址将连续分配。

图7ARMLinker选项图

(6)继续在ARMLinker选项中,单击Layout按钮,如图8所示。

在Layout中的Placeatbeginningofimage选项组,设置程序的入口模块。

指定在映像代码中,程序是从startup.o开始运行的。

Object/Symbol项设为startup.o,Section项设为Init。

图8Layout选项图

(7)在DebugSettings对话框中,选择Linker->ARMfromELF选项,如图9所示。

在Outputfilename框中,设置输出文件名为kk.bin,此文件就是要下载到开发板上的应用程序。

图9ARMfromELF选项图

(8)参照步骤(3)~(7),在ReleaseSettings对话框中设置Release版本。

1.5.2建立工程文件

配置ADS1.2针对EAX-400的开发环境后,可以执行Project|AddFile命令,把工程相关的所有文件加入到工程项目中。

ADS1.2不能自动按文件类型进行分类,若需要可执行Project|CreateGroup命令创建文件组,然后将不同类型文件,分别加入到不同的组。

以便管理。

用以上的方法,建立项目工程文件kk.mcp,并将文件加入到工程中,如图10所示。

图10项目文件管理图

1.5.3在线仿真与调试

(1)在工程窗口选中Debug版本,执行Project|Make命令对工程进行编辑链接,如图11所示。

在出现的错误/警告窗口中,选择某错误/警告信息,ADS1.2会自动打开相应原文件,并用箭头指向出错的文本行。

如果某个源文件被修改,重新编译时ADS1.2会自动同步各文件的日期信息。

图11Error&Warnings窗口图

(2)在ADS1.2中执行Project|Debug命令启动ADS1.2的调试工具AXD。

(3)在AXD中执行Options|ConfigureTarget命令对AXD进行设置,如图12所示。

点击Add按钮,在ARM>Multi-ICE安装目录下,选择Multi-ICE.dll添加到TargetEnvironments中。

图12AXDTargetEnviroments图

(4)执行Options|ConfigureProcessor命令,在Vectorcatch选项卡里,点击Clearall;将Semihosting项取消掉(即去掉该项前的勾),如图13所示。

图13ConfigureProcessor图图14CommandLineInterface图

(5)在ADS1.2中点击Systemviews|CommandLineInterface,打开CommandLineInterface界面,如图14所示(提示:

如果已经打开CommandLineInterface界面,则不用执行此操作)。

在CommandLineInterface窗口中输入“obeyd:

\xscale\Expriment\pxa255.txt”,对工程进行初始化。

(提示:

d:

\scale\Expriment\为pxa255.txt的文件路径)。

(6)等以上操作完成后,点击ReloadCurrentImage按钮完成重载,然后通过Execute|GO和Execute|Stop命令(或者工具栏的相应按钮)运行或暂停程序。

程序暂停后在窗口中显示其暂停的位置。

(7)通过Execute|Step命令(或工具栏相应按钮)可以单步运行,也可以使用StepIn、StepOut命令进入或跳出函数的调用。

使用RunToCursor命令可以将程序运行到光标位置。

(8)程序停止后,通过ProcessorViews|Sources命令查看源文件,并可在适当位置按F9设置断点。

(9)使用在ProcessorView菜单下的Registers、Variables和Memory命令可以查看工作寄存器或者内存变量。

读者可以逐一的尝试,为以后调试程序打下基础。

 

实验二嵌入式系统基本开发流程实验

2.1实验目的

熟悉嵌入式系统基本开发流程,包括JTAG下载程序到FLASH;超级终端的串口配置和使用;了解ARM基本指令集,理解嵌入式系统的一般引导规律,掌握PXA255处理器的系统引导特点。

2.2实验设备

硬件:

EAX-400嵌入式硬件平台、并口延长线、JTAG下载电缆、ARM-ICE的JTAG仿真器、PC机和串口线。

软件:

PC机Windows操作系统,jflash应用程序、超级终端通信程序、ADS1.2集成开发环境,ARM-Multi-ICEServer仿真器驱动程序。

2.3实验内容

通过jflash工具软件,将可执行文件下载到NORFLASH中,并在系统上电复位后,能够正常运行该下载程序。

新建一个超级终端的连接,完成PC机与EAX-400的串口通讯。

通过LED数码管的显示实验,学习PXA255嵌入式处理器的系统启动引导的原理和过程,掌握引导程序调用C程序来实现系统设计的方法。

2.4JTAG下载

JTAG(JointTestActionGroup)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEE1149.1-1990。

通过这个标准,可对具有JTAG口芯片的硬件电路进行边界扫描(BoundaryScan)和故障检测。

含有JTAG口的芯片种类较多,如ARM、DSP、CPLD等。

JTAG内部有一个状态机,称为TAP(TestAccessPort)控制器。

TAP控制器的状态机通过TCK和TMS进行状态的改变,实现指令的输入和数据的双向交换。

有关PXA255JTAG口的详细资料,请参考文献[3]。

2.4.1并口驱动

(1)通过并口延长线将“JTAG下载线”的一端与PC机的并口相连,另一端与EAX-400的JTAG口相连,确保连接牢固后,打开系统电源。

(2)在jflash目录下,执行GiveIOInstaller.exe应用程序,在弹出窗口中点击InstallService,

进行安装,完成后点击Quit退出。

如图15所示。

注意:

要完成JATG下载必须安装Giveio.sys驱动程序,此步骤在初次安装时只需要执行一次即可,关闭/启动计算机后也无需重复安装。

图15GiveIOInstaller.安装图图16jflash烧写成功界面图

2.4.2命令行操作

执行命令行操作,在PC主机上选择“开始->程序->附件->

”进入DOS命令窗口,进入D:

\xscale\jflash目录,通过jflash命令将blob文件烧写到EAX-400(目标板)的Flash中。

输入:

jflash.exepxa255blob命令,烧写成功后,将出现如图16所示的界面。

(注:

blob为要固化到Flash中的程序)。

当程序正常下载并烧写完毕后,系统将会提示:

Programmingdone

Verificationsuccessful!

2.5超级终端的串口配置和使用

(1)将EAX-400附件提供的9Pin串口线,一端与PC机的COM1口(或COM2口)相连,另一端与EAX-400的FFUART(全双工串口)相连,确保连接牢固后,打开系统电源。

(2)运行Windows系统下的超级终端(HyperTerminal)应用程序(“开始->程序->附件->通讯->超级终端”),新建一个通信终端。

如果要求输入区号、电话号码等信息,可随意输入,如图17所示。

图17新建通信终端图18COM端口号的配置

(3)配置PC机当前使用的COM口的端口号,下面将以COM1为例,如图18所示。

如果PC机当前使用的是COM2口,那么上图中的“连接时使用”应选择‘COM2’。

(4)配置超级终端的串口参数,如图19所示。

 

图19HyperTerminal串口配置

(5)完成新建超级终端的设置后,保存当前设置,并发送到桌面上,以备后用。

(6)按一下系统复位键,如果按照2.4.2的实验步骤,已经通过JTAG将blob程序正确烧写到EAX-400的Flash中,那么系统复位后,Blob程序将会通过FFUART串口输出信息,同时所有的信息都会在超级终端的当前连接窗口上实时的显示出来,如图20所示。

此时,可以通过超级终端与开发板进行信息交互,键入‘help’后回车,看看系统运行的blob会有什么反应。

图20blob启动信息窗口图

2.6系统引导和LED数码管显示

多数嵌入式系统的引导,都有一般规律可循,本节首先论述嵌入式系统启动的一般流程;然后,讲述在EAX-400系统中,PXA255的具体启动流程;最后,给出了LED数码管显示实验的操作,以便读者体会一下系统引导的流程。

2.6.1嵌入式系统的启动流程

嵌入式系统的程序通常都是固化在FLASH中运行。

FLASH中程序执行前,需要对处理器、系统硬件和软件运行环境进行初始化,这些工作由用汇编语言编写的启动程序完成。

启动程序是嵌入式程序的开头部分,应该与应用程序一起固化在FLASH中,并首先在系统上电时运行。

它包含各模块中可能出现的所属段类,并合理安排它们的次序。

启动程序的设计是嵌入式程序的关键,也是必要步骤,系统启动程序所执行的操作,依赖于正在开发其软件的系统,一般流程如下:

(1)设置入口指针

首先启动程序必须定义入口指针,而且整个应用程序只有一个入口指针。

(2)设置中断向量

要求中断向量表必须设置在从0地址开始,连续8×4字节的空间,分别是复位、未定义指令错误、软件中断、预取指令错误、数据存取错误、IRQ、FIQ和一个保留的中断向量。

如果FLASH定位于0地址,向量表包含一系列指令跳转到中断服务程序,否则向量必须被动态初始化。

可以在启动程序中添加一段代码,使其在运行时将向量表拷贝到0地址开始的存储器空间。

对于未用中断,使其指向一个只含返回指令的哑函数,以防止错误中断引起系统的混乱。

(3)初始化堆栈和寄存器

系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。

一般来说管理者堆栈必须设置,如果使用了IRQ中断,则IRQ堆栈也必须设置。

如果系统使用了SDRAM或其它外设,需要设置相关的寄存器,以确定其刷新频率,数据总线宽度等信息。

(4)初始化存储器系统

有些芯片可通过寄存器编程,初始化存储器系统,而对于较复杂系统通常集成有MMU来管理内存空间。

(5)改变处理器模式和状态(可选)

如果系统应用程序是运行在用户模式下,可在此处将系统改为用户模式,并初始化用户堆栈指针。

(6)初始化程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1