资源描述:
《第4章 arm系统硬件设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章ARM系统硬件设计基础主要内容1324ARM开发环境简介基于ARM的汇编语言程序设计基于ARM的硬件启动程序基于ARM的C语言与汇编语言混合编程5印制电路板制作简介4.1ARM开发环境简介目前进行ARM嵌入式系统开发常见的开发工具主要有:RealViewMDK、IAREWARM、ADS1.2、WinARM等。下面分别介绍RealViewMDK和IAREWARM开发工具的使用。4.1.1RealViewMDK开发工具简介RealViewMDK(MicrocontrollerDevelopment
2、Kit)开发工具是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。突出的特性如下:启动代码生成向导。软件模拟器。性能分析器。支持Cortex-M3内核。RealView编译器。配备ULINK2仿真器和Flash编程模块。性价比高,提供专业的本地化技术支持和服务。使用µVision4创建一个新的工程需要以下步骤:启动µVision4,创建一个工程文件并从器件数据库中选择一种CPU。添加和配置启动代码。设置目标硬件的工具选项。“Project
3、OptionsforTarget”创建源文件及文
4、件组,并将其添加到工程中。编译链接工程并生成一个HEX文件。“Project
5、Buildtarget”4.1.1.1RealViewMDK下工程的创建4.1.1.2RealViewMDK下工程的调试µVision4调试器有两种工作模式:仿真模式高级GDI驱动器模式。执行菜单命令“Debug
6、Start/StopDebugSession”或单击工具栏上的图标将启动µVision4的调试模式。基本的调试功能:设置断点控制程序单步、全速或停止运行Serial窗口反汇编窗口Watch窗口寄存器窗口Memor
7、y窗口:4.1.2IAREWARM集成开发环境简介IAREmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境(简称IAREWARM)。IAREWARM的主要模块如下。高度优化的IARARMC/C++CompilerIARARMAssembler一个通用的IARXLINKLinkerIARXAR和XLIB建库程序和IARDLIBC/C++运行库功能强大的编辑器项目管理器命令行实用程序IARC-SPY调试器(先进的高级语言调试器)IARJ-Lin
8、k是IAR为支持仿真ARM内核芯片推出的JTAG方式仿真器。4.1.2.1IAREWARM集成开发环境下工程的创建1.新建工作区“File
9、New
10、Workspace”2.新建工程“Project
11、CreatNewProject”3.保存工作区“File
12、New
13、SaveWorkspace”4.参数配置(1)选择目标类型(Debug/Release)(2)配置相关参数“Project
14、Option”5.向工程中添加文件6.编译4.1.2.2IAREWARM下工程的调试C-SPY调试器是IAR集成的高
15、级语言调试器,通过C-SPY调试器用户可以查看变量、设置断点、观察反汇编代码、监视寄存器和存储器、在TerminalI/O窗口打印输出等。在没有硬件目标系统的情况下,可以使用C-SPY的模拟器(Simulator)对应用程序进行模拟调试。执行“Project
16、Debug”菜单命令或者单击工具栏右侧的“DownloadandDebug”按钮,进入调试界面。可进行单步执行、运行到光标处、运行到断点、进入函数、跳出函数等调试操作,同时也可通过View菜单打开相应的窗口来查看内存、变量、寄存器等。如果希望直
17、接在硬件目标系统上进行调试,则需要备有IAR的JTAG仿真器J-Link。主要内容1324ADS1.2集成开发环境简介基于ARM的汇编语言程序设计基于ARM的硬件启动程序基于ARM的C语言与汇编语言混合编程5印制电路板制作简介4.2.1ARM汇编器支持的伪指令伪指令是ARM汇编语言程序中的一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,它们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序做各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使
18、命就完成了。ARM汇编器支持的伪指令包括:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪指令。分类指令举例符号定义伪指令GBLA/GBLL/GBLS/LCLA/LCLL/LCLS/SETA/SETL/SETS/RLISTGBLATest1;定义一个名为Test1的全局数值字变量数据定义伪指令DCB/DCW/DCD/DCFD/DCFS/DCQ/SPACE/MAP/FIELDstrDCB“Thisisatest”;分配起始地址为str的一段连续字节存储单