您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > ADS ARM集成开发环境
实验一:ADSARM集成开发环境(IDE)的使用实验二I/O接口实验P20实验三µC/OS-II在ARM上的移植P49实验四µC/OS-II多任务间通讯P51实验一:ADSARM集成开发环境(IDE)的使用[实验目的]1.熟悉ADS软件的基本配置2.通过实验掌握ARM程序开发的基本步骤3.掌握Proteus软件仿真ARM硬件的基本操作方法[实验仪器]1.Proteus仿真的LPC2000系列的ARM处理器2.软件:PC机操作系统Win98、Win2000或WinXP,ADS1.2集成开发环境。[实验原理]ADS是ARM处理器的开发编译和调试环境,使用ADS可以生成ARM处理器上的可执行代码。[实验内容]编写一个简单的ARM汇编程序,并且在Proteus上仿真运行,并察看运行中各个寄存器的变化情况,以此了解ARM的运行机制[思考题]1.如何向ADS集成开发环境添加项目文件?2.怎样设置RO地址和RW地址?根据是什么?3.如何设置Proteus中ARM的晶振频率?4.如何设置Proteus中3.3V和1.8V电源?[实验步骤]一、使用ADS创建一个arm工程本实验通过一个具体实例,介绍如何使用该集成开发环境,利用CodeWarrior提供的建立工程的模板建立自己的工程,并学会如何进行编译链接,最终生成可执行文件。点击WINDOWS操作系统的“开始|程序|ARMDeveloperSuitev1.2|CodeWarriorforARMDeveloperSuite”启动MetrowerksCodeWarrior。启动ADS1.2如图所示:图1-1启动ADS1.2在CodeWarrior中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图所示的对话框。图1-2新建工程对话框在这个对话框中为用户提供了7种可选择的工程类型。ARMExecutableImage:用于由ARM指令的代码生成一个ELF格式的可执行映像文件;ARMObjectLibrary:用于由ARM指令的代码生成一个armar格式的目标文件库;EmptyProject:用于创建一个不包含任何库或源文件的工程;MakefileImporterWizard:用于将VisualC的nmake或GNUmake文件转入到CodeWarriorIDE工程文件;ThumbARMExecutableImage:用于由ARM指令和Thumb指令的混和代码生成一个可执行的ELF格式的映像文件;ThumbExecutableimage:用于由Thumb指令创建一个可执行的ELF格式的映像文件;ThumbObjectLibrary:用于由Thumb指令的代码生成一个armar格式的目标文件库。在这里选择ARMExecutableImage,在“Projectname:”中输入工程文件名,本例为“HelloWorld”,点击“Location:”文本框的“Set…”按钮,浏览选择想要将该工程保存的路径(同学们可以选择e盘的某一个目录或者自己建立的目录),将这些设置好后,点击“确定”,即可建立一个新的名为HelloWorld的工程。这个时候会出现HelloWorld.mcp的窗口,如图1-3所示,有三个标签页,分别为files,linkorder,target。默认的是显示第一个标签页files。通过在该标签页点击鼠标右键,选中“AddFiles…”可以把要用到的源程序添加到工程中。图1-3新建工程打开窗口对于本实验,由于所有的源文件都还没有建立,所以首先需要新建源文件再添加文件。建立文件按一下操作:在“File”菜单中选择“New”,在打开的如图1-4所示的对话框中,选择标签页File,在Filename中输入要创建的文件名,输入“hello.s”(ARM汇编语言的扩展名为.s),点击“确定”关闭窗口。在打开的文件编辑框中输入下面的汇编代码:图1-4新建一个源文件作为一个最简单的示例,hello.s源文件如下所示。在这里还有一个细节,希望同学们注意。在建立好一个工程时,默认的target是DebugRel,还有另外两个可用的target,分别为Realse和Debug,这三个target的含义分别为:DebugRel:使用该目标,在生成目标的时候,会为每一个源文件生成调试信息;Debug:使用该目标为每一个源文件生成最完全的调试信息;Release:使用该目标不会生成任何调试信息。在本实验中,使用默认的DebugRel目标。现在已经新建了一个源文件,要把hello.s源文件添加到工程中去。为工程添加源码常用的方法有两种,既可以使用如上图所示方法,也可以在“Project”菜单项中,选择“AddFiles…”,这两种方法都会打开文件浏览框,用户可以把已经存在的文件添加到工程中来。当选中要添加的文件时,会出现一个对话框,如图1-5所示,询问用户把文件添加到何类目标中,在这里,我们选择DebugRel目标(也可以或者选择所有目标)。把刚才创建的文件添加到工程中来。图1-5选择添加文件到指定目标到目前为止,一个完整的工程已经建立,下面该对工程进行编译和链接工作。二、配置生成目标1.打开项目“hello.mcp”,在此项目窗口中,打开目标选择下拉表框,选择DebugRel生成目标,如图1-6所示;单击右侧的TargetSetting(此时已变为DebugRelSetting)图标。AREAExample1,CODE,READONLY;声明代码段Example1ENTRY;标识程序入口CODE32;声明32位ARM指令STARTMOVR0,#15;设置参数MOVR1,#8ADDSR0,R0,R1;R0=R0+R1BSTARTEND图1-6准备设置TargetSetting2.在DebugSetting中包括6个面板,这里我们选择如下面板设置相关的生成选项:图1-7TargetSetting对话框1)设置生成目标的基本选项(TargetSettings),这里请按照图1-7对该选项进行相应的设置。2)编译器的选项设置(LanguageSettings)。LanguageSettings目录下选ARMCCompiler,由于目标板采用的LPC2000系列ARM芯片,属于ARM7TDMI系列,这里需要将该选项中的各个子选项对话框的“Target”或“TargetandSource”选项卡下的“ArchitectureorProcessor”对话框设定在“ARM7TDMI”。如图1-8所示:TargetSetting图1-8LanguageSettings对话框3)连接器的选项设置(Linker)。在TargetSettingsPanels列表框中选择Linker选项,再在其下选择ARMLinker,即可得到连接器的选项设置对话框,如图1-9所示。图1-9连接器选项设置OUTPUT选项卡:该选项卡用来控制连接器进行连接操作的类型。其中Linktype选项组中的单选按钮确定使用的连接方式。这里选择Simple,连接器将根据连接器选项中指定的地址映射方式,生成简单的ELF格式的映像文件,所生成的映像文件中的地址映射关系比较简单.当选择Simple连接类型时,需要设置下列的连接器选项,如上图1-9所示。ROBase文本框中填入0x00000000。地址0x00000000是LPC2100系列ARM的内部flash的地址,是由系统的硬件决定的;RWBase文本框中填入0x40000000指的是系统可读写内存的地址。也就是说,在0x00000000起始地址之后是只读区域,存放程序的代码段,从0x40000000开始是程序的数据段。Layout选项卡:该选项卡在连接方式位Simple时有效,它用来安排一些输入段在映像文件中的位置。Placeatbeginningof选0项组用于指定将某个输入段放置在它所在的运行时域的开头。包含复位异常中断处理程序的输入段通常放置在运行时域的开头。这里,在Object/Symbol文本框中指定目标文件的名称hello.o,在Section文本框中指定输入段的名称Example1,从而确定了hello.s源文件中的Example1输入段位指定的输入段。如图1-10所示。图1-10Layout选项卡中连接器选项4)连接器的选项设置(ARMfromELF)。在TargetSettingsPanels列表框中选择Linker选项,再在其下选择ARMfromELF,即可得到连接器的选项设置对话框,如图1-11所示。将Outputformat中选择为Intel32bitHex格式(将生成的ELF格式的映像文件转换为hex文件),输出文件名命名为hello.hex。图1-11Layout选项卡中ARMfromELF选项到这里,对DebugSetting的设置基本完毕。点击图中的Apply按钮后点击OK按钮,保存所有的设置。三、编译连接工程如图1-12所示为工程窗口中的图标按钮,通过这些图标按钮,可以快速的进行工程设置,编译连接,启动调试等等.它们从左到右分别为图1-12工程窗口中的图标按钮DebugRelSettings…工程设置SynchronizeModificationDates同步修改日期Make编译连接Debug启动AXD进行调试Run启动AXD调试,并直接运行ProjectInspector工程检查,查看和配置工程中源文件的信息对于简单的软件调试,直接点击工程窗口的”Make”图标按钮,即可完成编译.编译连接输出窗口如图1-13所示。Make图1-13编译连接输出窗口没有错误表示编译成功,同时生成了hello.hex可执行文件。四、使用Proteus创建LPC2000ARM“硬件”电路点击WINDOWS操作系统的“开始|程序|Proteus7Professional|ISIS7Professional”启动Proteus。启动Proteus如图1-14、图1-15所示:注意这里提示生成了hello.hex文件图1-14启动Proteus图1-15Proteus界面点击图标,添加元件,如下图1-16:图1-16弹出PickDevices对话框,在KeyWords栏中输入lpc进行快速查找器件,如下图1-17:点击这里图1-17PickDevices对话框点击Result栏中的LPC2103,点击OK(或者双击LPC2103,然后点击OK)将LPC2103添加到Proteus中,参照下图1-18:图1-18选中lpc2103并且在编辑区点击左键可以将lpc2103放置到编辑区,如下图1-19:图1-19添加电源和地,点击左边栏的按钮,分别点击POWER和GROUND,将它们也放入编辑区。图1-20按下图1-21进行连接:在这里图1-21将连接到V18的电源label设置设置为VCORE,方法为:右击该电源,选择EditProperties(编辑属性)在弹出的对话框中输入VCORE图1-22用同样的方法设置连接到V3的电源为V3.3,设置完成后,类似下图1-23:图1-23按照下图1-24配置电源:图1-24在弹出的对话框中点击new,见下图1-25:图1-25在Name栏输入VCC,并将Voltage设置为3.3,并且选择左侧的V3.3,点击add按钮添加到右侧栏中,如下图1-26:图1-26再用同样的方式添加一个1.8V的电源,见下图1-27:图1-27电源设置完毕。在proteus的编辑区中,右击LPC2103芯片,选择EditProperties,如下图1-28图1-28在弹出的窗口中Programfile栏,找到ADS软件编译生成的hello.hex文件,一般在.\helloworld\helloworld_Data\DebugRel\hello.hex这个路径下。图1-29然后点击OK按钮(如果需要改变ARM工作晶振频率的话,修改CloclPackage栏即可)。回到proteus界面下,点击下边的仿真运
本文标题:ADS ARM集成开发环境
链接地址:https://www.777doc.com/doc-5508505 .html