嵌入式实验报告.docx

上传人:b****4 文档编号:4458997 上传时间:2022-12-01 格式:DOCX 页数:21 大小:850.04KB
下载 相关 举报
嵌入式实验报告.docx_第1页
第1页 / 共21页
嵌入式实验报告.docx_第2页
第2页 / 共21页
嵌入式实验报告.docx_第3页
第3页 / 共21页
嵌入式实验报告.docx_第4页
第4页 / 共21页
嵌入式实验报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

嵌入式实验报告.docx

《嵌入式实验报告.docx》由会员分享,可在线阅读,更多相关《嵌入式实验报告.docx(21页珍藏版)》请在冰豆网上搜索。

嵌入式实验报告.docx

嵌入式实验报告

 

《嵌入式系统》实验报告

 

学生姓名:

专业班级:

08级计算机科学与技术二班

指导教师:

完成时间:

2011年05月31日

 

湖南科技大学计算机科学与工程学院

实验一ARMSDT2.5开发环境简介和配置

一、实验目的

熟悉ARMSDT2.5开发环境,学会ARM并行口仿真器的使用。

使用ARMSDT2.5编译、下载、调试并跟踪一段已有的程序。

了解嵌入式开发的基本思想和过程。

二、实验内容

本次实验配置ARMSDT2.5集成开发环境。

新建一个简单的工程文件,并编译这个工程文件。

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

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

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

三、预备知识

C语言的基础知识、程序调试的基础知识和方法。

四、实验设备及工具(包括软件调试工具)

硬件:

ARM嵌入式开发平台、JTAG仿真器、PC机Pentium100以上、串口线。

软件:

WinXP、ARMSDT2.5集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验步骤

1、运行ARMSDT2.5集成开发环境(ARMProjectManager).选择File|New菜单,在对话框中选择Project,并新建一个工程文件(work1.apj).

2、在新建的工程中,如下图所示,选中工程树的“根部”。

使用菜单Project|ToolConfigurationforwork1.apj|=armasm|Set,对整个工程的汇编进行配置。

3、因为开发板上的嵌入式处理器ARM7TDMI没有浮点处理器,所以在弹出的对话框中设置FloatingPointProcessor为none。

注意,要保持其他的设置不变。

4、选中工程树的“根部”,通过菜单Project|ToolConfigurationforwork1.apj|asmlink|Set,对整个工程的连接方式进行设置。

5、在弹出的对话框中,选中EntryBase选项卡,设置连接的Read-Only(只读)和Read-Write(读写)地址。

地址0xC000000是开发板上SDRAM的真实地址,是由系统的硬件决定的;0xC600000指的是系统可读写的内存的地址。

即,在0xC000000-0xC5fffff之间是只读区域,用于存放程序的代码段,在0xC600000开始是程序的数据段。

6、在LinkerConfiguration的ImageLayout选项卡中,设置程序的入口模块,指定程序从44binit.s开始运行的。

7、选中工程树中的DebugRel子树Release子树,用Delete键删除。

8、使用编译器输出bios.bin文件:

(1)选择工程树的“根部”,选择Project->EditVariablesforwork1.apj…在弹出的窗口中,将变量build_target的值<$projectname.axf>改为<$projectme.bin>,单击ok保存并退出。

(2)选择Project->EditProjectTemplate…在弹出的窗口中,单击EditDetails…将标题改为Rom。

单击New…新加一个CreateRome构建过程。

(3)选择Project->EditVariablesforwork1.apj…在Name和Value项中填写,点击OK;在下图窗口中,将$$Projectname的值改为bios。

9、至此,工程文件设置完毕。

为了下次使用方便,所以保存此工程文件,文件名为work1.apj。

如下图所示:

下面在之前工作的基础上,进一步进行实验:

1、导入所需文件,搭建正确的运行环境,在工程中加入工程源文件,如下图所示:

2、选中工程中的Debug子树,通过Project|Buildwork1.apj“Debug”菜单,编译整个工程。

3、把ARM的JTAG仿真器连接到PC机地并行口和开发板上,打开开发板的电源,从老师所给的已有材料中找到jtag文件夹,按照“STD251在线调试方法.pdf”中的要求安装仿真器的驱动程序,然后再开始->运行中输入cmd命令,在弹出窗口中输入cdc:

\jtag,和winntjtag启动仿真器连接程序。

过程截图依次如下所示:

4、运行Project|Debugwork1.apj“Debug”菜单,启动ARMDebugger软件调试程序。

在ARMDebugger中,通过Options|ConfigureDebugger菜单设置仿真器的TargetEnvironment为Remote_A。

5、单击Configure按钮,设置仿真器,添加本机的IP地址。

6、出现如下提示以后,先按开发板的复位键按钮,然后点击YES,ARMDebuger开始通过仿真器装载程序。

7、装载完毕后,通过Option|Addsearchpath设置工程文件路径,然后点击View|Sourcefiles,会看到工程中文件信息,如下图所示:

8、至此,基本上完成了ARMSDT2.5开发环境的配置工作,为以后的实验做好了充分的准备。

六、实验总结

环境配置需要足够的细致,稍微又不留意就会导致下一步的配置无法继续。

就如下图所示,直到编译的时候错误才呈现。

为了排除这个错误,试了很多方法,即使重启集成开发板都没能解决问题,我们不得不回过头去反复检查各个步骤,确保正确无误,从而浪费了很多时间和精力。

最终发现计算机的IP地址不是理所当然的192.168.0.48,而是机房中计算机早已配置好的固定IP地址。

通过这个基本实验,不仅为接下来的实验打好了基础,而且让我们进一步理解了嵌入式系统的开发、编译的一般过程。

 

实验二开发基本的嵌入式应用程序

一、实验目的

在实验一的基础上,学会使用ppcboot、tftp和超级终端进行嵌入式应用开发。

二、实验内容

使用VC编辑器编写一段程序,在串口显示“Helloworld”等文本。

利用ppcboot与tftp将程序下载到ARM板。

三、预备知识

ARMSDT2.5集成开发环境、C语言的基础知识、程序调试的基础知识和方法。

四、实验设备及工具(包括软件调试工具)

硬件:

ARM嵌入式开发平台、JTAG仿真器、PC机Pentium100以上、串口线。

软件:

VC6.0WinXP、ARMSDT2.5集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验步骤

1、在ARMSDT2.5中,打开实验一中创建好的工程work1。

2、启动VC6.0,打开main.c。

重点分析Main函数中的代码,可以了解到系统的启动过程。

Voidmain(void)

{

Bsp_Init();

While

(1)

{

Uart_Printf(“HelloWorld!

\n”);

Delay(10000);

}

}

可以知道,系统从bsp\cpu\44binit.s开始执行,进行简单的初始化后即进入main()函数,Bsp_Init()用于初始化ARM板,然后进行while

(1)死循环。

3、编译并下载程序,调试程序。

开启tftp服务程序,设置bios.bin的路径,如下图:

4、运行windows系统下的超级终端(HyperTerminal)应用程序,新建一个终端通讯,取名为arm。

5、选择终端的连接的串口,设置通讯的格式和协议。

6、设置完成超级终端后,就可以和嵌入式开发板中固化的ppcboot建立通讯。

按嵌入式开发板系统的复位按钮,使系统通过BIOS引导,通过PC机键盘可以和嵌入式开发板通讯,按回车键,此时超级终端等待命令输入。

输入tftpc000000,终端显示下载完毕,再输入goc000000开始程序运行。

出现乱码,不能正常显示

显示的不是所要想到的结果

可以看到,初步试验存在错误,不能正常显示“HelloWorld!

”。

经过分析,发现文件编译有错误,归根结底是运行环境没有配置好,重新试了几次,最终达到了如下效果:

六、实验总结

这个试验的编程环节不算太难,关键还在环境配置和搭建。

开始不懂为什么要用超级终端,而且让它怎么显示内容等等。

通过请教会的同学,我们才慢慢了解到“交叉编译”的实质内容,并在自己的机子上,通过实战实现了相关内容。

 

实验三ARM的串行口实验

一、实验目的

掌握ARM的串行口工作原理。

学习编程实现ARM的UART通讯。

掌握CPU利用串口通讯的方法。

二、实验内容

学习串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART相关

寄存器的功能,熟悉ARM系统硬件的UART相关接口。

编程实现ARM和计算机实现串行通讯:

ARM监视串行口,将接收到的字符再发送给串口(计算机与开发平台是通过超级终端通讯的),即按PC键盘通过超级终端发送数据,开发平台将接收到的数据再返送给PC,在超级终端上显示。

三、预备知识

用ARMSDT2.5集成开发环境,编写和调试程序的基本过程。

ARM应用程序的框架结构。

了解串行总线。

四、实验设备及工具(包括软件调试工具)

硬件:

ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上、串口线。

软件:

WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验原理及说明

1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。

数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。

接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。

为了恢复发送的信息,双方必须协调工作。

在微型计算机中大量使用异步串I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。

但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

串行通信字符格式

2.串行接口的物理层标准:

EIARS—232C,RS—232C规定了双极性的信号逻辑电平:

-3V到-25V之间的电平表示逻辑“1”。

+3V到+25V之间的电平表示逻辑“0

实用RS-232C连线

3.ARM自带的串行口寄存器。

ARM自带两个串行口,各带有16字节的FIFO(先入先出寄存器),最大波特率115.2K。

每个UART有7种状态:

溢出错误、校验错误、帧错误、暂停态、接收缓冲区准备好、发送缓冲区空、发送移位缓冲器空,这些状态可以由相应的UTRSTATn/UERSTATn表示,并且与发送接收缓冲区相对应的有错误缓冲区。

波特率的可以通过控制波特率寄存器(UBRDIVn)控制。

六、实验步骤

1.新建工程,将“Exp2ARM串口实验”中的文件添加到工程中,这些是启动时所需要的文件。

2.定义与UART有关的各个寄存器地址和一些特殊的位命令。

3.编写串口驱动函数(MyUart.c)

4.在主函数中实现将从串口0接收到的数据发送到串口0(Main.c)。

串口初始化主函数流程图

七、实验结果

编程实现ARM和计算机实现串行通讯:

ARM监视串行口,将接收到的字符再发送给串口(计算机与开发平台是通过超级终端通讯的),即按PC键盘通过超级终端发送数据,开发平台将接收到的数据再返送给PC,在超级终端上显示。

实验结果如图所示

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

当前位置:首页 > 解决方案 > 学习计划

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

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