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