长江大学:电工电子国家级实验教学示范中心《ARM嵌入式系统》课程实验指导书

ARM 嵌入式系统实验指导书
ARM 嵌入式系统实验指导书

目录第1章ADS集成开发环境及EaSyJTAG仿真器应用1.1ADS集成开发环境的组成1.1.1CodeWarriorIDE简介1.1.2AXD调试器简介1.2工程的编辑1.2.1建立工程1.2.2建立文件1.2.3添加文件到工程1.2.4编译连接工程..1.2.5打开旧工程1.3工程的调试1.3.1选择调试目标1.3.2调试工具条1.4LPC2200系列ARM7微控制器工程模板1.4.1为ADS1.2增加LPC2200专用工程模板1.4.2使用LPC2200专用工程模板建立工程1.4.3模板适用范围1.5EaSyJTAG仿真器的安装与应用1.5.1安装EasyJTAG仿真器1.5.2使用EasyJTAG仿真器1.6固化程序1.6.1片内FLASH的固化1.6.2片外FLASH的固化第2章基础实验2.1外部中断实验2.2外部存储器接口实验2.3定时器实验2.4UART实验2.5IC接口实验2.6SPI接口实验2.7RTC实验2.8低功耗实验第3章基于μC/OS-II的基础实验3.1SPI总线的LED控制应用3.2IC总线的EEPROM应用2
目录 第1 章 ADS集成开发环境及EasyJTAG 仿真器应用 1.1 ADS 集成开发环境的组成 1.1.1 CodeWarrior IDE 简介 1.1.2 AXD 调试器简介 1.2 工程的编辑 1.2.1 建立工程 1.2.2 建立文件 1.2.3 添加文件到工程. 1.2.4 编译连接工程. 1.2.5 打开旧工程. 1.3 工程的调试 1.3.1 选择调试目标 1.3.2调试工具条 1.4 LPC2200 系列ARM7 微控制器工程模板 1.4.1 为ADS1.2 增加LPC2200 专用工程模板 1.4.2 使用LPC2200 专用工程模板建立工程 1.4.3 模板适用范围 1.5 EasyJTAG 仿真器的安装与应用 1.5.1 安装EasyJTAG 仿真器 1.5.2 使用EasyJTAG 仿真器 1.6 固化程序 1.6.1 片内FLASH 的固化 1.6.2 片外FLASH 的固化 第2章 基础实验 2.1 外部中断实验 2.2 外部存储器接口实验 2.3 定时器实验 2.4 UART 实验 2.5 I 2 C 接口实验 2.6 SPI 接口实验 2.7 RTC 实验 2.8 低功耗实验 第3章 基于μC/OS-II 的基础实验 3.1 SPI 总线的LED 控制应用. 3.2 I 2 C 总线的EEPROM 应用 2

23.3IC总线的ZLG7290应用3.4LPC2000系列微控制器MODEM接口软件包3.4.1概述3.4.2软件包的使用3. 4.3设计原理3
3.3 I 2 C 总线的ZLG7290 应用 3.4 LPC2000 系列微控制器MODEM 接口软件包 3.4.1 概述 3.4.2 软件包的使用 3.4.3 设计原理 3

第1章ADS集成开发环境及EaSyJTAG仿真器应用ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文全称为ARMDeveloperSuite,成熟版本为ADS1.2。ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、WindowsXP、Windows2000以及RedHatLinux上运行。这里将简单介绍使用ADS1.2建立工程,编译连接设置,调试操作等等。最后还介绍了基于LPC2200系列ARM7微控制器的工程模板的使用,EasyJTAG仿真器的安装与使用。1.1ADS1.2集成开发环境的组成ADS1.2由6个部分组成,如表1.1所示。表1.1ADS1.2的组成部分名称描述使用方式ARM汇编器,ARM的C、C++编译器,Thumb的C、C++编译器,ARM连接器代码生成工具由CodeWarriorIDE调用集成开发环境CodeWarrior IDE工程管理,编译连接AXD,ADWIADU,armsd调试器仿真调试指令模拟器由AXD调用ARMulatorARM开发包一些底层的例程,实用程序一些实用程序由CodeWarrior(如fromELF)IDE调用ARM应用库C、C++函数库等用户程序使用由于用户一般直接操作的是CodeWarriorIDE集成开发环境和AXD调试器,所以这一章我们只介绍这两部分软件的使用,其它部分的详细说明参考ADS1.2的在线帮助文档或相关资料。1.1.1CodeWarriorIDE简介ADS12使用了CodeWarriorIDE集成开发环境,并集成了ARM汇编器、ARM的C/C++编译器、Thumb的C/C++编译器、ARM连接器,包含工程管理器、代码生成接口、语法敏感(对关键字以不同颜色显示)编辑器、源文件和类浏览器等等。CodeWarriorIDE主窗口如图1.1所示。a
第1章 ADS 集成开发环境及EasyJTAG 仿真器应用 ADS 集成开发环境是ARM 公司推出的ARM 核微控制器集成开发工具,英文全称为 ARM Developer Suite ,成熟版本为ADS1.2 。ADS1.2 支持ARM10 之前的所有ARM 系列微控 制器,支持软件调试及JTAG 硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系 统库功能强等特点,可以在Windows98 、Windows XP 、Windows2000 以及RedHat Linux 上 运行。 这里将简单介绍使用ADS1.2 建立工程,编译连接设置,调试操作等等。最后还介绍了基 于LPC2200 系列ARM7 微控制器的工程模板的使用,EasyJTAG 仿真器的安装与使用。 1.1 ADS 1.2 集成开发环境的组成 ADS 1.2 由6 个部分组成,如表1.1 所示。 表1.1 ADS 1.2 的组成部分 名称 描述 使用方式 代码生成工具 ARM 汇编器,ARM 的C、 C++编译器,Thumb 的C、 C++编译器,ARM 连接器 由CodeWarrior IDE 调用 集成开发环境 CodeWarrior IDE 工程管理,编译连接 调试器 AXD, ADW/ADU, armsd 仿真调试 指令模拟器 ARMulator 由AXD 调用 ARM 开发包 一些底层的例程,实用程序 (如fromELF) 一些实用程序由CodeWarrior IDE 调用 ARM 应用库 C、C++函数库等 用户程序使用 由于用户一般直接操作的是CodeWarrior IDE 集成开发环境和AXD 调试器,所以这一章我 们只介绍这两部分软件的使用,其它部分的详细说明参考ADS 1.2 的在线帮助文档或相关资料。 1.1.1 CodeWarrior IDE 简介 ADS 1.2 使用了CodeWarrior IDE 集成开发环境,并集成了ARM 汇编器、ARM 的C/C++ 编译器、Thumb 的C/C++编译器、ARM 连接器,包含工程管理器、代码生成接口、语法敏感(对 关键字以不同颜色显示)编辑器、源文件和类浏览器等等。CodeWarrior IDE 主窗口如图1.1 所 示。 4

PeS-AS3En/s品家e.inJaadwitept中国-nttoob)CEPOOORPPPRECEEEEEOEERRREPREPF图1.1CodeWarrior开发环境.1.1.2AXD调试器简介AXD调试器为ARM扩展调试器(即ARMeXtendedDebugger),包括ADW/ADU的所有特性,支持硬件仿真和软件仿真(ARMulator)。AXD能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量、寄存器和内存的数据等等。AXD调试器主窗口如图1.2所示。CAtRMEIffET武区PhlehbWntetaVimeaunsaAXEE2tretaeIt社服员#设儿有开共行开科验国科#comexomAvectoa,CE,ITADCNT中国aEtot#级5线555e: BuI托记托您rtadderenMRAat22998ettsareRetne克义间中detsned-Cadt Oatgzet tl4SLW图1.2AXD调试器5
图1.1 CodeWarrior 开发环境 .1.1.2 AXD 调试器简介 AXD 调试器为ARM 扩展调试器(即ARM eXtended Debugger),包括ADW/ADU 的所有特 性,支持硬件仿真和软件仿真(ARMulator) 。AXD 能够装载映像文件到目标内存,具有单步、 全速和断点等调试功能,可以观察变量、寄存器和内存的数据等等。AXD 调试器主窗口如图 1.2 所示。 图1.2 AXD 调试器 5

1.2工程的编辑1.2.1建立工程点击WINDOWS操作系统的【开始】->【程序】->【ARMDeveloperSuitevl.2】>【CodeWarriorforARMDeveloperSuite】起动MetrowerksCodeWarrior,或双击“CodeWarriorforARMDeveloperSuite快捷方式起动。启动ADS1.2IDE如图1.3所示。VG ImageCraft Development ToolsG ARM Dereloper Suite vl.2OAXD DebuggerWinRARoCodeWarrior forARM DeveloperSuite4i License Installation WizardSUPERPEOIIIForWin9xME2KHIOrXP金山毒霸V安全组合装@ Online BooksReadeforARM Developer Sui:evl.2广金山网镖V安全组合装 Setup for ARM Developer Suite vl.2AAcrobat Reader 5.0图1.3启动ADS1.2IDE点击【File】菜单,选择【New...】即弹出New对话框,如图1.4所示。XNewProjectFileObjectProject name:oARM Executable InageBARM Object LibraryTestlEEmpty ProjectLocationEMakefile Importer WizardD1pe22001实验程序/ARMBThumb ARM Interworking ImayEThumbExecutableInagydatoeroiBThumb ObjectLibraryProject1板确定取消图1.4New对话框选择工程模板为ARM可执行映象(ARMExecutableImage)或Thumb可执行映象(ThumbExecutableImage),或Thumb、ARM交织映象(ThumbARMInterworkingImage),然后在【Location】项选择工程存放路径,并在【Projectname】项输入工程名称,点击【确定】6
1.2 工程的编辑 1.2.1建立工程 点击WINDOWS 操作系统的【开始】->【程序】->【ARM Developer Suite v1.2 】 -> 【CodeWarrior for ARM Developer Suite 】起动Metrowerks CodeWarrior,或双击 “CodeWarrior for ARM Developer Suite ”快捷方式起动。启动ADS1.2 IDE 如图1.3 所 示。 图1.3 启动ADS1.2 IDE 点击【File】菜单,选择【New.】即弹出New 对话框,如图1.4 所示。 图1.4 New 对话框 选择工程模板为ARM 可执行映象(ARM Executable Image )或Thumb 可执行映象 (Thumb Executable Image),或Thumb、ARM 交织映象(Thumb ARM Interworking Image), 然 后在【Location】项选择工程存放路径,并在【Project name】项输入工程名称,点击【确定】 6

按钮即可建立相应工程,工程文件名后缀为mcp(下文有时也把工程称为项目)。1.2.2建立文件建立一个文本文件,以便输入用户程序。点击"NewTextFile"图标按钮,如图1.5所示。Metrowerks CodeWarrior for ARM DeFile Edit Yiew Search Project DCCXle图1.5“NewTextFile"图标按钮然后在新建的文件中编写程序,点击"Save”图标按钮将文件存盘(或从【File】菜单选择【Save】),输入文件全名,如TEST1.S。注意,请将文件保存到相应工程的目录下,以便于管理和查找。当然,您也可以New对话框选择【File】页来建立源文件,如图1.4所示,或使用其它文本编辑器建立或编辑源文件。1.2.3添加文件到工程如图1.6所示,在工程窗口中【Files】页空白处点击鼠标右键,弹出浮动菜单,选择"AddFiles..."即可弹出"Selectfilestoadd...”对话框,选择相应的源文件(可按着Ctrl键一次选择多个文件,点击【打开】按钮即可。另外,用户也可以在【Project】菜单中选择【AddFiles...】来添加源文件,或使用New对话框选择【File】页来建立源文件时选择加入工程(即选中"AddtoProject"项)。添加文件操作如图1.6、图1.7所示。7
按钮即可建立相应工程,工程文件名后缀为mcp(下文有时也把工程称为项目) 。 1.2.2 建立文件 建立一个文本文件,以便输入用户程序。点击“New Text File ”图标按钮,如图1.5 所示。 图1.5 “New Text File ”图标按钮 然后在新建的文件中编写程序,点击“Save” 图标按钮将文件存盘(或从【File】菜单选择 【Save】),输入文件全名,如TEST1.S 。注意,请将文件保存到相应工程的目录下,以便于管 理和查找。 当然,您也可以New 对话框选择【File】页来建立源文件,如图1.4 所示,或使用其它文 本编辑器建立或编辑源文件。 1.2.3 添加文件到工程 如图1.6 所示,在工程窗口中【Files】页空白处点击鼠标右键,弹出浮动菜单,选择“Add Files.”即可弹出“Select files to add. ”对话框,选择相应的源文件(可按着Ctrl 键一次选择多个 文件),点击【打开】按钮即可。 另外,用户也可以在【Project 】菜单中选择【Add Files.】来添加源文件,或使用New 对 话框选择【File】页来建立源文件时选择加入工程(即选中“Add to Project ”项)。添加文件操作如 图1.6、图1.7 所示。 7

口口区atestl.mcp日简众DebugRelFilesLink OrderTargets米0FileCodeData一Add Files.CreateGroupOfiles00图1.6在工程窗口中添加源文件2区Select files to add.搜寻(I):Testltestl_Datatestl.meptestls对象名:打开@testl.s取消对象类型(T):All Files (x,*)一图1.7Selectfilestoadd...对话框1.2.4编译连接工程如图1.8所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速的进行工程设置、编译连接、启动调试等等(在不同的菜单项上可以分别找到对应的菜单命令)。它们从左至右分别为:DebugRelSettings..工程设置,如地址设置、输出文件设置、编译选项等,其中DebugRel为当前的生成目标(targetsystem)。8
图1.6 在工程窗口中添加源文件 图1.7 Select files to add.对话框 1.2.4 编译连接工程 如图1.8 所示为工程窗口中的图标按钮,通过这些图标按钮,您可以快速的进行工程设置、 编译连接、启动调试等等(在不同的菜单项上可以分别找到对应的菜单命令)。它们从左至右分 别为: DebugRel Settings. 工程设置, 如地址设置、输出文件设置、编译选项等, 其中DebugRel 为当前的生成目标(target system)。 8

SynchronizeModificationDates同步修改日期,检查工程中每个文件的修改日期,若发现有更新(如使用其它编辑器编辑源文件),则在Touch栏标记V"。MakeDebugRun编译连接(快捷键为F7)。启动AXD进行调试(快捷键为F5)。启动AXD进行调试,并直接运行程序。工程检查,查看和配置工程中源文件的信息。Project Inspectortestl.mcpDebugRelFiles Link OrderTargets图1.8工程窗口中的图标按钮2XDebugRel SettingsTarget Settings PanelsARM Linker3TargetOutputoptions LayoutListingsExtrasTarget SettingsLinktypeSimple imageAccess PathsRQ BaseRWBaseSPartiaRopiRelocatablBuild ExtrasCSimple0x8000RwpiRuntime SettingsFile MappingsgSgatteredSplitImaeSource TreesARMTargetChooseScatter-.Language SettingsThoose...SrmbolARM AssemblerARM C CompilerChoose..Symbol editingARM C++CompilerThumb C CompilerEquivalent Command LineThumb C++ Com.-infototals四RLinker-一ARM LinkyARMfromESFEditorLAAEVAENT子lieu Calurelactory SettingRevertImport Panel.Export Panel.OKCancelAppLy图1.9DebugRelSettings窗口点击"DebugRelSettings..,"图标按钮,即可进行工程的地址设置、输出文件设置、编译选项等,如图1.9所示。在ARMLinker”对话框设置连接地址,在"LanguageSettings”中设置各编译器的编译选项。对于简单的软件调试,可以不进行连接地址的设置,直接点击工程窗口的"Make"图标按钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即会使用光标指出当前出错的源代码行,编译连接输出窗口如图1.10所示。同样,您可以在【Project】菜单中找到相应的命令。9
Synchronize Modification Dates 同步修改日期,检查工程中每个文件的修改日期,若发现有更 新(如使用其它编辑器编辑源文件),则在Touch 栏标记“√”。 Make Debug Run 编译连接(快捷键为F7)。启动AXD 进行调试(快捷键为F5)。启 动AXD 进行调试,并直接运行程序。 Project Inspector 工程检查,查看和配置工程中源文件的信息。 图1.8 工程窗口中的图标按钮 图1.9 DebugRel Settings 窗口 点击“DebugRel Settings. ”图标按钮,即可进行工程的地址设置、输出文件设置、编译选项 等,如图1.9 所示。在“ARM Linker” 对话框设置连接地址,在“Language Settings” 中设置各编 译器的编译选项。 对于简单的软件调试, 可以不进行连接地址的设置,直接点击工程窗口的“Make”图标按 钮,即可完成编译连接。若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即 会使用光标指出当前出错的源代码行,编译连接输出窗口如图1.10 所示。同样, 您可以在 【Project】菜单中找到相应的命令。 9

Errors aWarnings0口区OA03Errrs snd warninges for 饿edisp.npInageconponent sizesDCodeRO D&sRW DataZI DataDebug58080010324460Obyect Totals110800961052Library Totals国ZI DataCodeRO DacaRWDataDebug国168880011285512Grand Totals国国1.7319)Total RoSize(Code + RO Data)1768(国TotalRWSize(RWData+ZI Data)11281.10kB)Total Ron Size(Code + RO Data + RW Data)17681.73kB)国h.0ME-PathO0Tine图1.10编译连接输出窗口如图1.11所示,Touch栏用于标记文件是否已编译,若打上“√"则表明对应文件需要重新编译。Touch栏用于标记文件是否已编译,若打上“/”则表明对应文件需要重新编译。可以通过单击该栏位置来设置/取消符号“/”,或将工程目录下的*.tdt文件删除也可以使整个工程源文件均打上“”。testi.mepC口区#DebugRel4人FilesMakeLink OrderTargetsFileCodeData顺240testl.s44eTouch栏一2401 file图1.11工程窗口中Make操作10
图1.10 编译连接输出窗口 如图1.11 所示,Touch 栏用于标记文件是否已编译,若打上“√”则表明对应文件需要重新 编译。Touch 栏用于标记文件是否已编译,若打上“√” 则表明对应文件需要重新编译。可以通 过单击该栏位置来设置/取消符号“√”, 或将工程目录下的*.tdt 文件删除也可以使整个工程源 文件均打上“√”。 图1.11 工程窗口中Make 操作 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 长江大学:电工电子国家级实验教学示范中心《电路与模拟电子技术》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《电工与电子技术》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《微机原理》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《单片机原理及应用》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《单片机》课程设计指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《模拟电子技术》课程实验指导书(电子信息类).pdf
- 长江大学:电工电子国家级实验教学示范中心《电工学》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《信号与系统》课程实验指导书(电子版).pdf
- 长江大学:电工电子国家级实验教学示范中心《通信电子线路》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《电路分析基础》课程实验指导书(电子版).pdf
- 长江大学:电工电子国家级实验教学示范中心《通信原理》课程实验教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《通信原理》课程教学大纲(通信专业).pdf
- 长江大学:电工电子国家级实验教学示范中心《通信原理》课程教学大纲(电信专业).pdf
- 长江大学:电工电子国家级实验教学示范中心《移动通信原理》课程实验教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《移动通信原理》课程教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《现代交换原理》课程实验教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《现代交换原理》课程理论教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《计算机通信网》课程实验教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《计算机通信网》课程教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《光纤通信》课程实验教学大纲.pdf
- 长江大学:电工电子国家级实验教学示范中心《算法与数据结构》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《操作系统》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《C语言程序设计》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《数据库原理及应用》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《感测技术》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《测控系统与装置》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《地球物理测井》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《数字信号处理》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《DSP》实验指导书——基于TMS320C54x.pdf
- 长江大学:电工电子国家级实验教学示范中心《图像处理技术》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《通信原理》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《计算机通信网》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《数字程控交换原理》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《移动通信原理》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《光纤通信》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《计算机控制技术》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《过程控制系统及装置》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《可编程序控制器原理及应用》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《电机与拖动基础》课程实验指导书.pdf
- 长江大学:电工电子国家级实验教学示范中心《电力电子技术》课程实验指导书(第3版).pdf
