arm2410实验手册经典教程

  • 格式:doc
  • 大小:2.42 MB
  • 文档页数:34

实验目录实验一、熟悉realview开发环境 (2)1.1 RealView MDK软件开发环境简介 (2)1.1.1 RealView MDK的突出特性 (2)1.1.2 产品模块介绍 (2)1.2RealView 使用 (5)1.2.1创建一个工程 (5)1.2.1.1选择工具集 (5)1.2.1.2创建工程文件 (7)1.2.1.3 选择设备 (7)1.2.2 编译、链接工程 (8)1.2.2.1 设置目标硬件的工具选项 (8)1.2.2.2 增加连接控制文件 (9)1.2.2.3 编译链接 (9)1.2.3 程序调试 (10)1.2.4 工程选项页概述 (11)实验二、ARM指令集 (12)2.1 ARM汇编指令1 (12)2.2 ARM汇编指令2 (20)2.3 ARM汇编指令3 (21)实验三 (23)3.1 LDR/STM指令寻址实验 (23)3.2 ARM汇编子函数调用 (25)3.3Thumb汇编指令练习 (25)3.4利用ARM汇编实现开发板LED灯控制 (25)实验四 (26)4.1简单C语言程序实验 (26)4.2汇编与C语言的相互调用实验 (26)4.3 C语言中内联汇编程序实验 (27)4.4 C语言中嵌入型汇编程序实验 (27)4.5 SWI软中断实验 (28)4.6综合编程实验 (28)实验五、I/O及串口通信编程实验 (29)实验六、中断实验 (32)实验七、实时时钟实验 (32)实验八、看门狗控制实验 (33)实验九、PWM接口实验 (33)实验十、A/D转换实验 (33)实验十一、I2C串行通信实验 (34)实验一、熟悉realview开发环境1.1 RealView MDK软件开发环境简介RealView MDK全称RealView MDK中国版开发套件,源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的对各种嵌入式处理器的软件开发工具。

RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

1.1.1 RealView MDK的突出特性菜鸟的阿拉伯飞毯—启动代码生成向导,自动引导,一日千里高手的无剑胜有剑—软件模拟器,完全脱离硬件的软件开发过程专家的哈雷望远镜—性能分析器,看得更远、看得更细、看得更清未来战士的激光剑— Cortex-M3支持业界最优秀的编译器— RealView 编译器,代码更小,性能更高配备ULINK2仿真器—无需安装驱动Flash编程模块—轻松实现Flash烧写绝对的高性价比—国际品质,本土价格1.1.2 产品模块介绍µVision3 IDEµVision IDE在全球拥有庞大的用户群,超过10万开发工程师在使用Keil开发工具。

不管以前是用8位、16位MCU,还是现在改用ARM 32位处理器,µVision IDE简单易用,能让您立马上手。

图1.1 µVision3 IDEµVision3 IDE主要特性:●功能强大的源代码编辑器;●可根据开发工具配置的设备数据库;●用于创建和维护工程的工程管理器;●集汇编、编译和链接过程于一体的编译工具;●用于设置开发工具配置的对话框;●真正集成高速CPU及片上外设模拟器的源码级调试器;●高级GDI接口,可用于目标硬件的软件调试和ULINK2仿真器的连接;●用于下载应用程序到Flash ROM中的Flash编程器;●完善的开发工具手册、设备数据手册和用户向导。

启动代码配置向导µVision3 IDE 的启动代码配置向导将各个所需配置的功能模块以对话框方式展示,附加的提示说明,帮助你快速轻松的做出选择,生成完善的启动代码,免除手工写几百行汇编程序的痛苦。

图1.2 配置启动代码µVision3设备模拟器µVision3设备模拟器的功能强大,能模拟整个MCU的行为。

使你在没有硬件或对目标MCU没有更深的了解的情况下,仍然可以立即开始开发软件。

高效指令集仿真中断仿真片内外围设备仿真ADC,DAC, EBI,TimersUART,CAN,I2C…外部信号和 I/O仿真图1.3 设备模拟器性能分析器性能分析器可给所有的MCU实现如程序运行时间统计、被调用次数统计、代码覆盖率统计等高端功能,而这些功能对于快速定位死区代码,帮助优化分析等起了关键的作用。

图1.4 性能分析器RealView编译器(RVCT)RealView MDK集成的RealView编译器(跟RVDS使用一样的编译器),是业界最优秀的编译器,它能使代码容量更小、执行效率更高;使应用程序运行更快、系统成本更低。

MicroLib为进一步改进基于ARM处理器的应用代码密度,RealView MDK采用了新型microlib C 库(用于C的ISO标准运行时库的一个子集),并将其代码镜像降低最小以满足微控制器应用的需求。

Microlib C库可将运行时库代码大大降低。

RealView 实时库RL-ARM(可选)ULINK2仿真器1.2 RealView 使用1.2.1创建一个工程µVision是一个标准的窗口应用程序,可以点击程序按钮开始运行。

为了创建一个新的µVision工程必须作如下处理:∙选择工具集∙创建工程文件∙选择设备1.2.1.1选择工具集µVision可以使用ARM RealView编译工具、ARM ADS编译器、GNU GCC编译器和Keil C ARM编译器。

当使用GNU GCC编译器或ARM ADS编译器时必须另外安装它们编译集。

实际使用的工具集可以在µVision IDE的Project – Manage- Components, Environment,and Books对话框的Folders/Extensions页(见下图)中选择。

图1.5 选择工具集∙Use RealView Compiler复选框表示本工程使用ARM开发工具。

RealView Folder文本框指定开发工具的路径。

下面的例子显示了各种版本的ARM ADS/RealView 开发工具的路径:a)µVision的RealView编译器: BIN31\b)ADS V1.2: C:\Program Files\ARM\ADSv1_2\Binc)RealView评估版2.1: C:\ProgramFiles\ARM\RVCT\Programs\2.1\350\eval2-sc\win_32-pentium∙Use Keil CARM Compiler复选框表示本工程使用Keil CARM编译器、Keil AARM汇编器和Keil LARM链接器/装载器。

∙Use GNU Compiler复选框表示本工程使用GNU开发工具。

Cygnus Folder文本框指定GNU的安装路径。

GNU-Tool-Prefix文本框指定不同的GNU工具链。

下面是各种GNU 版本的例子:a)带uclib的GNU V3.22: GNU-Tool-Prefix: arm-uclibc- Cygnus Folder:C:\Cygnusb)带标准库的GNUARM V4: GNU-Tool-Prefix: arm-elf- Cygnus Folder:C:\Program Files\GNUARM\∙Keil根目录的设置是基于µVision/ARM开发工具的安装目录的。

对于Keil ARM 工具来说,工具组件的路径是在开发工具目录中配置的。

1.2.1.2创建工程文件单击Project ->New...->µV ision Project菜单项,µVision 3将打开一个标准对话框,输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。

例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新建工程的目录,输入新建工程的名字Project1,µV ision将会创建一个以Project1.UV2为名字的新工程文件,它包含了一个缺省的目标(target)和文件组名。

这些内容在Project Workspace->Files中可以看到。

1.2.1.3 选择设备在创建一个新的工程时,µVision要求为这个工程选择一款CPU。

选择设备对话框显示了µVision的设备数据库,只需要选择用户所需的微控制器即可。

例如,选择Philips LPC2106微控制器,这个选择设置了LPC2106设备的必要工具选项、简化了工具的配置。

图1.6 选择设备注意:∙当创建一个新的工程时,µVision会自动为所选择的CPU添加合适的启动代码。

∙对于一些设备而言,µVision需要用户手动地输入额外的参数。

请仔细阅读这个对话框右边的信息,因为它可能包含所选设备的额外配置要求。

创建源文件以后,就可以将这个文件添加到工程中。

µV ision提供了几种方法将源文件添加到工程中。

例如,在Project Workspace ->Files页的文件组上点击鼠标右键,然后在弹出的菜单中选择Add Files菜单项,这时将打开标准的文件对话框,选择我们创建的asm或c文件即完成源文件的添加。

1.2.2 编译、链接工程1.2.2.1 设置目标硬件的工具选项µVision可以设置目标硬件的选项。

通过工具栏按钮或Project - Options for Target菜单项打开Options for Target对话框,在Target页中设置目标硬件及所选CPU片上组件的参数。

下图是LPC2106的一些参数设置。

图1.7 设置目标硬件下表描述了Target对话框的选项:对话框项描述Xtal 设备的晶振(XTAL)频率。

大多数基于ARM的微控制器都使用片上PLL 产生CPU时钟。

所以,一般情况下CPU的时钟与XTAL的频率是不同的。

Read/Only MemoryArea配置片内、片外的ROM区地址以及大小Read/WriteMemory Areas指定目标硬件的片内和片外的RAM区地址以及大小Code Generation 旋转产生ARM code 还是Thumb code1.2.2.2 增加连接控制文件对于GNU和ARM ADS/RealView工具链来说,链接器的配置是通过链接器控制文件实现的。