嵌入式系统实验内容.docx
- 文档编号:1505595
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:13
- 大小:23.08KB
嵌入式系统实验内容.docx
《嵌入式系统实验内容.docx》由会员分享,可在线阅读,更多相关《嵌入式系统实验内容.docx(13页珍藏版)》请在冰豆网上搜索。
嵌入式系统实验内容
实验一、ARMSDT2.5开发环境
一、实验目的
熟悉ARMSDT2.5开发环境,学会ARM并行口仿真器的使用。
使用SDT编译,下载,调试,并跟踪一段已有的程序。
了解嵌入式开发的基本思想和过程。
二、实验内容
本次试验使用ARMSDT2.5集成开发环境。
新建一个基于操作系统的工程文件,并编译这个工程。
学习ARM并行口仿真器的使用和开发环境的设置。
下载已经编译好的文件到嵌入式控制器中运行。
学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
三、预备知识
C语言的基础知识、程序调试的基础知识和方法
四、实验设备及工具(包括软件调试工具)
硬件:
ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上
软件:
PC机操作系统win2000、ARMSDT2.51集成开发环境、仿真器驱动程序
五、实验步骤
1、运行ARMSDT2.5集成开发环境(ARMProjectManager)。
选择File|New菜单,在对话框中选择Project,并在如图1-1所示,新建一个工程文件(work1.apj)。
图1-1“新建工程”对话框
2、在新建的工程中,如图1-2所示,选中工程树的“根部”。
使用菜单Project|ToolConfigurationforwork1.apj|
图1-2
3、因为开发板上的嵌入式处理器ARM7TDMI没有浮点处理器,所以,如图1-3所示,在弹出的对话框中设置FloatingPointProcessor为none。
保持其它的设置不变。
图1-3
4、选中工程树的“根部”,通过菜单Project|ToolConfigurationforwork1.apj|asmlink|Set,对整个工程的连接方式进行设置。
5、在弹出的对话框中,选中EntryBase选项卡,如图1-4所示,设置连接的Read-Only(只读)和Read-Write(读写)地址。
地址0xC000000是开发板上SDRAM的真实地址,是由系统的硬件决定的;0xC600000指的是系统可读写的内存的地址。
也就是说,在0xC000000—0xC5ffffff之间是只读区域,存放程序的代码段,在0xC600000开始是程序的数据段。
图1-4
6、选择LinkerConfiguration的ImageLayout选项卡,如图1-5所示,设置程序的入口模块。
指定在生成的代码中,程序是从44binit.s开始运行的。
图1-5
7、选中工程树中DebugRel子树,用Delete键删除,同样,选中工程树中Release子树,用Delete键删除,
提示:
在系统工程树中Debug子树是下面生成的是应用程序的调试版本,在生成的目标代码中,包含了系统的调试信息。
Release子树是应用程序的发行版本,生成的代码中不包括调试信息,而且编译器还针对速度和代码的大小进行优化。
DebugRel子树是一个折衷版本,通常用不到,本实验中均只考虑Debug子树。
8、按以下步骤步骤使编译器输出bios.bin文件。
1)选择工程树的“根部”,选择Project—>EditVariablesforwork1.apj…弹出图1-6的窗口,将变量build_target的值<$projectname.axf>改为<$projectname.bin>,单击ok。
图1-6
2)选择Project—>EditProjectTemplate…弹出图1-7,单击EditDetails…将标题改为Rom。
单击New…新加一个CreateRome构建过程。
如图1-8所示。
图1-7
图1-8
3)选择Project—>EditVariablesforwork1.apj…在Name和Value项中如图1-9填写,点击OK;在下图窗口中,将$$Projectname的值改为bios。
图1-9
9、至此,工程文件设置完毕。
因为设置过程比较繁琐,可以保存此工程,下次新建项目的时候复制即可。
提示:
可以使用File|SaveasTamplete菜单把当前工程的设置保存为模板,比如,Rom.apj文件。
把此文件复制到ARMSDT编译器的\ARM251\Template目录下,以后创建工程的时候,就可以直接选择使用此模板了。
模板文件也是一个工程文件(*.apj),但是,模板文件中不包括工程中文件的信息,只有编译器环境的设置。
10、把\bsp及其子目录和main.c复制到work1的目录下。
如图1-10所示。
选中工程树中Debug子树的Sources选项。
通过菜单Project|AddFilestoSources,把bsp\bspinit.c,bsp\cpu\44binit.s,bsp\cpu\44blib.c,bsp\uart\uart.c和main.c文件加入工程的源文件中,如图1-10所示。
图1-10
11、选中工程树中Debug子树,通过Project|Buildwork1.apj“Debug”菜单(或者工具
栏中的相应按钮)编译整个工程。
12、把ARM的JTAG仿真器连接到PC机的并行口和开发板上,打开开发板的电源,将光盘中jtag目录拷贝到C:
\下,按照“C:
\jtag\SDT251在线调试方法.pdf”中的要求安装仿真器的驱动程序,然后在开始->运行中输入cmd命令,在弹出窗口中输入cdc:
\jtag,和winntjtag起动仿真器连接程序。
13、使用Project|Debugwork1.apj“Debug”菜单(或者工具栏中的相应按钮)启动ARMDebugger软件调试程序。
14、在ARMDebugger中,通过Options|ConfigureDebugger菜单设置仿真器。
如图1-9所示,在弹出的对话框中,设置TargetEnvironment为Remote_A
图1-11
15、单击Configure按钮,按照如图1-10所示,设置仿真器,添加本机的IP地址。
图1-12
16、出现如下提示以后,请先按开发板复位按钮,然后点YES,ARMDebbuger开始通过仿真器装载程序。
如图1-11所示。
图1-13
17、装载完毕以后,通过Option|Addsearchpath设置工程文件路径,然后点击View|Sourcefiles,会看到工程中的文件信息,如图1-14所示。
图1-14
18、通过Execute|Go菜单(或者工具栏中的相应按钮)运行程序。
程序运行的时候,可以使用Execute|Stop菜单(或者工具栏中的相应按钮)暂停运行程序。
如图1-12所示,在Execute窗口中将显示出程序暂停的位置。
图1-15
19、通过Execute|Step菜单(或者工具栏中的相应按钮)可以单步运行程序。
也可以使用StepIn、StepOut菜单命令进入或者跳出函数的调用。
20、在源文件列表中打开Main.c文件。
选择源文件中的某一行,右击鼠标,如图1-14所示,用ToggleBreakpoint快捷菜单命令可以设置断点,使程序运行到这里停下来。
图1-16
21、使用在View菜单下的Registers、Variables和Memory命令可以查看工作寄存器或者内存变量。
读者可以逐一的尝试,为以后调试程序打下基础。
实验二:
开发基本的嵌入式应用程序
一、实验目的
学习使用UltraEditC代码文本编辑器。
掌握Uart_Printf()函数的用法。
学会使用ppcboot,tftp和超级终端进行嵌入式应用开发。
二、实验内容
使用UltraEditC代码文本编辑器,编写一段程序,在串口显示“Helloworld”等文本。
利用ppcboot与tftp将程序下载到ARM板。
三、预备知识
用ARMSDT2.5集成开发环境,编写和调试程序的基本过程。
四、实验设备及工具(包括软件调试工具)
硬件:
ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上,串口线。
软件:
PC机操作系统win2000、ARMSDT2.51集成开发环境、仿真器驱动程序、UltraEdit、tftp。
五、实验步骤
1、在ARMSDT2.51中,打开实验一中创建好的工程work1。
2、启动UltraEdit,通过UltraEdit的Files|Open菜单(或者相应的工具栏按钮)打开eg1\main.c。
可以看到,UltraEdit是一个很方便的C代码阅读和编辑工具,它会自动区分C语言的语法,把变量、函数和宏定义等都特殊的显示出来便于阅读。
很适合于编辑大型软件。
花20分钟熟悉一下UltraEdit,同时阅读main.c文件的代码。
3、重点分析Main函数中的代码,了解系统的启动过程。
Main函数的代码如下:
voidMain(void)
{
Bsp_Init();
while
(1)
{
Uart_Printf("HelloWorld!
\n");
Delay(10000);
}
}
4、系统从bsp\cpu\44binit.s开始执行,进行简单的初始化后即进入main()函数,Bsp_Init()用于初始化ARM板,然后进行while
(1)死循环(注意系统任务都是死循环形式,没有返回)。
Uart_Printf()的格式可以参看bsp\uart\uart.h。
5、读者可以将Uart_Printf()中的内容变更,看运行后超级终端有什么不同。
6、编译并下载程序,调试程序。
开启tftp服务程序,设置bios.bin(此即为将要下到ARM板运行的映象文件)的路径,如图2-1
图2-1
7、运行windows系统下的超级终端(HyperTerminal)应用程序,如图2-2所示新建一个终端通讯,取名为arm。
单击确定按钮。
图2-2
8、选择终端的连接的串口(比如:
串行口1),如图2-3所示,设置通讯的格式和协议。
图2-3
9、设置完成超级终端以后,就可和嵌入式开发板中固化的ppcboot建立通讯。
按嵌入式开发板系统的复位按钮,使系统通过BIOS引导,通过PC机键盘可以和嵌入式开发板通讯,按回车键,此时超级终端等待命令输入。
输入tftpc000000,终端显示下载完毕,再输入goc000000开始程序运行。
如图2-4。
关于ppcboot的详细使用可参看“ppcboot的移植与使用”。
实验三、μCOSII在ARM上的移植
一、实验目的
1.了解UC/OS-II内核的主要结构。
2.掌握将UC/OS-II内核移植到ARM7处理器上的基本方法。
二、实验内容
1.将UC/OS-II内核移植到ARM7处理器上。
2.按键盘上的任意键,在超级终端上显示对应的键值。
三、预备知识
1.掌握在ARMSDT2.5集成开发环境中编写和调试程序的基本过程。
2.会使用UltraEdit编辑C语言源程序。
3.了解ARM7处理器的结构。
4.了解利用ppcboot和tftp进行下载文件的方法。
5.了解UC/OS-II系统结构。
四、实验设备及工具
硬件:
ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上,串口线。
软件:
PC机操作系统win2000、ARMSDT2.51集成开发环境、仿真器驱动程序、UltraEdit、tftp。
五、实验原理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 实验 内容