- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM编程实例
交叉开发模型 在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。 ARM裸机程序开发硬件连接模型 如何运行逻辑程序? 硬件连接 (1)JTAG小板连Mini2440板的10针JTAG下载口; (2)JTAG小板的并口连宿主机并口,若主机无并口,则需要转换口; (3)Mini440板接电源,开机 一、ADS集成开发环境使用 如何设置宿主机软件——H-JTAG JTAG是一种国际标准测试协议,最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port测试访问口),通过专用的JTAG测试工具对内部节点进行测试。现在,JTAG接口还常用于实现ISP(In-system Programmable:在线编程),对FLASH等器件进行编程。 H-JTAG H-JTAG 是一款简单易用的的调试代理软件 ,包括三个工具软件: H-JTAG Server:实现调试代理的功能 H-Flasher:实现FLASH烧写的功能 H-JTAG emulator:仿真器 实例演示 安装、配置H-JTAG (1)安装H-JTAG (2)配置:Setting?LPT JTAG Setting : (3)设置初始化脚本: 把 光 盘 “Windows 平台工具\H-JTAG ” 目录中的FriendlyARM2440.his 和H-Flasher_mini2440.hfc 文件复制到H-JTAG 的安装目录:c:\program files\H-JTAG Init? Init Script ?Load ?打开“FriendlyARM2440.his”装载脚本?OK (注意不要选中“Enable Auto Init”); 再次检测硬件:Control? Detect Target,显示成功检测到ARM920T ADS ARM ADS 的全称为ARM Developer Suite,它是ARM 公司推出的新一代ARM 集成开发环境,我们使用的ADS 为1.2 版本。 ADS由命令行开发工具、GUI(Graphics User Interface,图形用户界面)开发环境(Code Warrior 和AXD)、支持软件组成。 Code Warrior Code Warrior IDE提供了一个简单通用的图形化用户界面用于管理项目。可以以ARM处理器为对象,利用Code warrior IDE 开发C、C++和ARM汇编代码。 可编辑编译源文件 实例演示 Code Warrior创建工程、编译工程 打开一个简单的汇编程序:ads.s,基于该汇编程序创建和编译工程,并调试程序 File?New ?ARM Executable Image: 将ads.s文件拷贝到工程目录中,但并不代表已进入工程中,还需要添加:Project?Add Files,将ads.s添加到工程中。 配置:Edit ?DebugRel Settings(参考Mini2440手册) 编译:Project ?Make,在hello_Data\DebugRel目录中生成了hello.bin可执行文件 AXD AXD是ADS软件中独立于Codewarrior IDE的图形软件,AXD用于对程序进行调试,相当于GDB。 实例演示 AXD调试汇编程序: (1)启动AXD: (2)配置: Options?Configure Target: 添加: Add?打开C:\Program Files\H-JTAG目录,找到H-JTAG.dll动态链接库: 如何使用CodeWarrior和AXD调试程序? Project?Debug:此时CodeWarrior自动将AXD启动起来,前提是前面配置好 此时PC指针指到汇编入口处:Start 下面开始调试:单步工作 点击 ,程序开始单步运行 查看寄存器: 点击 ,查看寄存器值,Register Value,有Current、User/System、FIQ、IRQ、SVC、Abort、Undef、CP15等多种模式。查看当前模式: 随着程序运行,各个寄存器的值在改变,每运行一行代码,PC指针加4 二、S3C2440 GPIO 通过实例讲解如何通过裸机编程去控制硬件。 (一)GPIO GPIO,通用输入输出(General Purpose I/O)的简称,其引脚可以供编程使用。 嵌入式系统中,有数量众多但结构简单的外部设备,对这些设备的控制,有时只需要一位控制信号就够了,即只要开/关两种状态就够了。比如:灯亮与灭。 对于这些设备的控制,使用传统的
文档评论(0)