ARM9学习3-调试第一个ARM汇编程序

2019-11-08来源: 51hei关键字:ARM9  ARM  汇编程序

调试第一个ARM汇编程序

1.双击KEIL uVision4图标,打开RVMDK uVision4集成开发环境。

2.通过菜单“projectnew uvision project…”,新建一个工程,选择要存放的位置和工程文件名“Test001”,点击“保存按钮”。

3.CPU选型,选择三星的S3C2410A,继续点击“OK”按钮。

4.不添加启动代码,所以选择“否”

5.点击工具栏上的“”New 图标,新建一个文件,键入汇编源代码。

6.点击工具栏上的“”Save 图标,保存该汇编源文件,命名为:Test001.s

7.在左边的“Project”目录结构中,右击“Source Group 1”,选择“Add Files to Group ‘Source Group 1’…”,在“Add Files to Group ‘Source Group 1’”对话框中,选择该Test001.s文件,将其加入工程中。

8.此时,左边的“Project”树形目录结构窗口中,就显示出来已经加入的Test001.s文件。

9.

10.采用同样的方法,添加“DebugInRAM.ini”文件,加入工程。

11.

12.加入“DebugInRAM.ini”文件之后,鼠标左键单击“Target 1”,选择菜单“ProjectOptions for Target ‘Target 1’…”。

13.

14.在弹出的“Options for Target ‘Target 1’”对话框中,“Target”页面设置如下:

15.

16.“Linker”页面设置如下:

17.

18.“Debug”页面中,使用“Use Simulation”软件仿真,并点击“Edit…”按钮左边的“”按钮,在对话框里面,选择加载“DebugInRAM.Ini”文件。

19.

20.点击“OK”按钮,关闭“Options for Target ‘Target 1’”对话框,开始点击工具栏的“” Rebuild按钮来编译工程。系统会提示编译成功。

21.点击工具栏上面的“”Start/Stop Debug Session按钮,进入汇编调试跟踪状态。

22. 通过点击工具栏“”来单步运行方式,逐条调试每个指令的运行。

23. 注意观察“registers”树形目录窗口,里面显示ARM所有寄存器和CPU以及协处理器、异常等状态。

24.注意观察“Memory1”内存窗口的变化。

25.注意观察源代码窗口和反汇编窗口的不同。

26.详细指导,参照“Realview_mdk2_xxxx.swf”系列视频。


关键字:ARM9  ARM  汇编程序 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479387.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:ARM9学习4-S3C2410的启动代码分析-For ADSv1.2
下一篇:ARM9学习2-ARM镜像文件和Scatter文件

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ARM920T看门狗定时器、系统时钟
值。-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------系统时钟ARM920T内核的S3C2440的最高正常工作频率如下:FCLK【内核工作频率】:400MHZ  HCLK【外设】:100MHZ  PCLK【内存、NAND、LCD等】:50MHZ引子:12MHZ->400MHZ 如何让牛车变为动车? 对于一些需要时钟工作的硬件,如果切段其时钟源,就不会再工作,从而实现降耗。12MHZ 锁相环PLL
发表于 2019-11-14
关于ARM的22个概念
1.ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:脉宽调制器;ETM:嵌入式跟踪宏;CPSR:当前程序状态寄存器;SPSR:程序保护状态寄存器;2.MAM 使用注意事项:答:当改变 MAM 定时值时,必须先通过向 MAMCR 写入 0 来关闭 MAM,然后将新值写入 MAMTIM。最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。对于低于 20MHz 的系统时钟,MAMTIM 设定
发表于 2019-11-14
ARM编程时数据类型的影响
这是我今天下午看那本<<ARM嵌入式系统开发——软件设计与优化>>所学到的东西。前面的关于ARM核的指令我就不讲了,只说下今天看的关于怎么提高C编程的效率,我还只看了那基本数据类型的定义时所应该要注意的事项,前面我在一篇<<ARM内部逻辑结构见解【原】>>已提到过内存的数据进入ARM核时要经过一个符号扩展,也就是说一个不足32位的数据经过内核会被扩展成32位的,那么我们在编程时就要注意咯,具体有以下几个方面:1)我们如果在程序中定义了一个字符性的变量,那么编译器会对这个变量进行一个判别,就是这个字符变量值超过了255没,这样势必会增加一条指令,而我们如果用unsignedint,则可
发表于 2019-11-13
ARM内部逻辑结构见解
从ARM内部逻辑结构【可以从ARM公司里面下载】中可以看出,它比其他微处理器,比如说8051,在进行数据逻辑加减运算时,它有一桶形移位器,它用来做什么的呢,如果对ARM指令了解点的话,应该很清楚它的作用;另外它在读取RAM里面的数据时,要经过一个符号扩展,那么我们在用C写程序,要尽量用32的数据类型,因为如果你不用,比如用的是8位,那么它会有一个符号扩展的处理过程,增加CPU的负荷。
发表于 2019-11-13
ARM7与ARM9的区别以及ARM,FPGA,DSP的特点和区别是什么?
一.谈谈ARM7与ARM9的区别:本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。ARM7和ARM9的都有些什么区别?我准备学ARM,但不知是选ARM7还是ARM9好?  也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。先说下:ARM7和ARM9的区别。1.时钟频率的提高虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线
发表于 2019-11-13
ARM9之2440之os-ii
#include "config.h"extern char Image$RW$Limit[];void *mallocPt=Image$RW$Limit;//***************************[ SYSTEM ]***************************************************static int delayLoopCount;void Delay(int time){      // time=0: adjust the Delay function by WatchDog timer.     
发表于 2019-11-13
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved