keil使用

1.点击project ,newproject,
2. 选择一个设备 双击arm 选择arm7
3. 右击source 添加文件。
4.

;cfun.c文件
int cfun(int a,int b,int c)
{
 return a+b+c;
}
;as

mfile.s

AREA asmfile,CODE,READONLY
IMPORT cfun
ENTRY
CODE32
start
MOV R0,#1
MOV R1,#2
MOV R2,#3
BL cfun
stop
MOV R0,#0X18
LDR R1,=0X20026
SWI 0X123456
END在这里插入图片描述

第一个标有RST字样的是复位,单击之后,程序就会跑到最开始的位置运行;
紧接着第二个按钮是全速运行,单击之后程序就会全速跑起来;
再然后第三个按钮是停止按钮,当程序全速运行起来时候,单击停止按钮程序就会立即停止,可以观察程序运行到哪里去了。
单击复位之后,可以看到C语言程序的窗口左侧有灰色或者保持着原来的颜色,其中有灰色的地方是我们可以设置断点的地方
,至于为啥有些地方不能设置断点呢,主要是因为keil具有程序优化的功能,如果我们想在任何地方都可以设置断点的话,我们需要更改工程选项里的优化等级,把等级设置为0即可,即高速keil不要对程序进行优化。
其他的按钮就是关于子函数或者循环是否进入的操作了,具体自己可以试试看。

 AREA SUM,CODE,READONLY
 ENTRY
 CODE32
start
 LDR R0,=n
 LDR R1,=sum
 LDR R3,=0
 LDR R4,=0
 LDR R5,=100
continue
 ADD R4,R4,#1
 ADD R3,R3,R4
 CMP R3,R5
 BCC continue
 STRCS R3,[R1]
    STRCS R4,[R0]
stop
 MOV r0,#0x18
 LDR r1,=0x20026
 SWI 0x123456
 AREA Data,DATA,READWRITE
n   DCD 0
sum DCD 0
 END
原创文章 159 获赞 4 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44769592/article/details/102891769