《嵌入式系统实验内容》由会员分享,可在线阅读,更多相关《嵌入式系统实验内容(24页珍藏版)》请在金锄头文库上搜索。
1、实验一、ARM SDT 2.5开发环境一、实验目的熟悉ARMSDT2.5开发环境,学会ARI并行口仿真器的使用。使用 SDT编译,下载,调试, 并跟踪一段已有的程序。了解嵌入式开发的基本思想和过程。二、实验内容本次试验使用ARM SDT 2.5集成开发环境。新建一个基于操作系统的工程文件,并编译 这个工程。学习AR附行口仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入 式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。三、预备知识C语言的基础知识、程序调试的基础知识和方法四、实验设备及工具(包括软件调试工具)硬件:ARM嵌入式开发板、用于 ARM7TDk
2、的JTAG仿真器、PC机 Pen tum n100以上软件:PC机操作系统 win2000、ARM SDT 2.51集成开发环境、仿真器驱动程序五、实验步骤1、运行 ARM SDT 2.5集成开发环境(ARM Project Manager )。选择 File | New菜单, 在对话框中选择Project,并在如图1-1所示,新建一个工程文件( work1.apj )。图1-1 “新建工程”对话框2、在新建的工程中,如图 1-2所示,选中工程树的“根部”。使用菜单Project | ToolCon figuratio n for work1.apj | = armasm | Set,对整个工
3、程的汇编进行设置。F :j vork 1 Yto tkl, apj+:图1-23、因为开发板上的嵌入式处理器ARM7TDM没有浮点处理器,所以,如图1-3所示,在弹出的对话框中设置 Float ing Poi nt Processor为none。保持其它的设置不变。图1-34、 选中工程树的根部,通过菜单Project | Tool Configurationfor work1.apj |asmli nk | Set,对整个工程的连接方式进行设置。5、 在弹出的对话框中,选中Entry Base选项卡,如图1-4所示,设置连接的 Read-Only (只读)和Read-Write (读写)地址
4、。地址OxCOOOOOO是开发板上SDRA的真实地址,是由系统的硬件决定的;0xC600000指的是系统可读写的内存的地址。也就是说,在 0xC000000 0xC5ffffff 之间是只读区域,存放程序的代码段, 在0XC600000开始是程序的数 据段。图1-46、选择Linker Configuration的ImageLayout选项卡,如图1-5所示,设置程序的入口模块。指定在生成的代码中,程序是从44bi ni t.s 开始运行的。图1-57、选中工程树中DebugRel子树,用Delete键删除,同样,选中工程树中Release子树,用Delete键删除,提示:在系统工程树中Deb
5、ug子树是下面生成的是应用程序的调试版本,在生成的目标代码中,包含了系统的调试信息。Release子树是应用程序的发行版本,生成的代码中不包括调试信息,而且编译器还针对速度和代码的大小进行优化。DebugRe I子树是一个折衷版本,通常用不到,本实验中均只考虑Debug子树。8、按以下步骤步骤使编译器输出bios.b in文件。1) 选择工程树的根部”,选择 Project Edit Variables for workl.apj 弹出图1-6的窗口,将变量 build_target 的值改为 ,单击 ok。:dit Variables for workl.apj|ojer LnameA bi
6、n)图1-62) 选择 Project Edit Project Template 弹出图 1-7,单击 Edit Details 将标题改为Rom单击New新加一个CreateRome构建过程。如图1-8所示。图1-7MJEuild Step Fattern CreateRomComm and Lines :TRiMILFOrTIOH5/ Jprojucf _bin Edit Variables for workl.apj 在 Nam和Value 项中如图1-9填写,点击OK在下图窗口中,将 $Projectname的值改为bios。图1-99、至此,工程文件设置完毕。因为设置过程比较繁琐,
7、可以保存此工程,下次新建项 目的时候复制即可。提示:可以使用File | Save as Tamplete菜单把当前工程的设置保存为模板,比如,Rom.apj文件。把此文件复制到 ARM SD编译器的ARM251Template目录下,以后创建工程的时候, 就可以直接选择使用此模板了。模板文件也是一个工程文件(*.apj ),但是,模板文件中不包括工程中文件的信息,只有编译器环境的设置。10、 把bsp及其子目录和 main.c复制到work1的目录下。如图1-10所示。选中工程树中Debug子树的 Sources 选项。通过菜单 Project | Add Files to Sources
8、,把 bspbspinit.c bspcpu44bi nit.s , bspcpu44blib.c , bspuartuart.c和 ma in .c 文件加入工程的源文件艮 ObugE-b$pt5piniLc b?nVnu44BrNiT,s bpcpu4*RtIR.C b:puartuartc rrdiin.t1 ZSIncudsdric?色 Sibecb 綸 5ubHroje:ts 紬.ibirrts中,如图1-10所示。LrJ卷;m*ge樋)vucelbnsa+ Epiorrt图 1-1011、 选中工程树中 Debug子树,通过 Project | Build work1.apj“De
9、bug菜单(或者 工具栏中的相应按钮)编译整个工程。12、把ARM的 JTAG仿真器连接到PC机的并行口和开发板上,打开开发板的电源,将光盘中jtag目录拷贝到下,按照“ C:jtagSDT251在线调试方法.pdf ”中的要求安装仿真器的驱动程序,然后在开始-运行中输入cmd命令,在弹出窗口中输入cd c:jtag,和winntjtag起动仿真器连接程序。13、 使用Project | Debug work1.apj“Debug菜单(或者工具栏中的相应按钮)启 动ARM Debugge嗽件调试程序。14、 在 ARMDebugger 中,通过 Optio ns | Con figure De
10、bugger 菜单设置仿真器。如图 1-9 所示,在弹出的对话框中,设置Target Environment 为Remote_A图 1-11图 1-1216、出现如下提示以后,请先按开发板复位按钮,然后点 YES ARM Debbuge开始通过 仿真器装载程序。如图1-11所示。图 1-1317、装载完毕以后,通过Optio n|Add search path设置工程文件路径,然后点击View|Source files,会看到工程中的文件信息,如图1-14所示。IlnmEIBh 0 lj“lablabladDz命lablablob命 nMlmJILlJliKKRnlMlft krrr上rrrr
11、x-r aaaaAaaad 3图 1-1418、通过Execute | Go菜单(或者工具栏中的相应按钮)运行程序。程序运行的时候,可以使用Execute | Stop 菜单(或者工具栏中的相应按钮)暂停运行程序。如图1-12所示,在Execute窗口中将显示出程序暂停的位置。4 - -b- 7 3 9 n 1 - J- 5 & 7 9 Q. _n_ 333 339444444444-4 Lr51-fA=n)JItuinlQa:adjust1.dels vLoopCou)iL-400rVTCOF-( (MCLKZ1DOOOOO-1); 4“ 2);rtflLiiT=CEi fi;rWICNTC
12、zl111:r UTCOK - (i, MCLK. 10 3 0 ? 00(lc0:tine-.| i_x ( i - 0 , i del a/LoEiEoUIit, H+ ,:f(adjustl )rUTC0K=( (MCLKZ1DOOODO-1)0) (2u3);i-Dwf t f t-TVTTCMT- F# lu口unt/16ufi?7derloVloopCouriC-BODOOOOti* , z/j Q010(y Qid(oid)11 I图 1-1519、通过Execute | Step菜单(或者工具栏中的相应按钮)可以单步运行程序。也可以 使用Step In、Step Out菜单命令
13、进入或者跳出函数的调用。20、 在源文件列表中打开 Main.c文件。选择源文件中的某一行,右击鼠标,如图1-14所示,用Toggle Breakpoint快捷菜单命令可以设置断点,使程序运行到这里停下来。 hl: .armlabtiDK .eql maln.cJ- 1tfinclude JbspcDuMiet h2 1#mclvdo * bp-usir t乂ti吕工t. Li1 include *bsDd?uX44blib h1.4#inclvdc bspinit.h5vzjid tSainiJ void)T日Bap lDt().q1 itwhLlc(l)nu=ii riuitcnoiiL tfuiid i1*)13telavUOWy:1415It1图 1-1621、使用在View菜单下的Registers、Variables和Memory命令可以查看工作寄存器或者 内存变量。读者可以逐一的尝试,为以后调试程序打下基础。实验二:开发基本的嵌入式应用程序一、实验目