当前位置:文档之家› keil4使用方法入门——基于ARM9的程序

keil4使用方法入门——基于ARM9的程序

首先创建一个空文件夹来存在工程(Keil不会为我们创建工程文件夹)。

Open keil > project > new uVision Project > 输入工程名称> SAVE
在建立的文件夹里新建一个文本文件,格式修改为.s
在project窗口中右击Source Group1,选择Add files to source group 1,在弹出的窗口中选中刚才建立的.s文件,然后点击ADD,再点击close弹出的窗口。

可以看到project窗口出现了我们添加的.s文件。

Flash > configure flash tools….,弹出如图
Device选项里可选择要仿真的处理器,我们选择ARM9 (little end)小端。

Target选项里可设置ROM/RAM起始地址,这里的起始地址要跟Linker选项里的地址一致。

CODE Generation设置成ARM-mode
接下来在.s文件里编写我们的ARM汇编,如下。

;在ARM状态下生成由64个整数构成的数组的初始值。

;在THUMB状态下将上述数组复制到一个新的地址,并转换成字符数组
;再返回ARM状态,计算Thumb状态下所产生数组所有元素值的和。

AREA block, CODE, READONLY
N EQU 64
FIR EQU 0x01
ENTRY
start
;送数组入口地址
LDR R0, =A
MOV R3, #N-1 ;init counter
LDR R4, =FIR ;init the first number of A array
init64 ;produce 64 numbers
; CMP R3, #0
; BEQ init_finh
STR R4, [R0], #4
ADD R4, R4, #1 ;
SUBS R3, R3, #1 ;递减
BPL init64 ;循环
;init_finh
LDR R0, =A
LDR R1, =B
MOV R3, #N*4-1 ;init counter
ADRL R7, change+1
BX R7 ;处理机状态切换为THUMB CODE16
;复制转换
change
; CMP R3, #0
; BEQ change_finh
LDRB R2, [R0] ;读取字节
; ADD R2, #65 ;转换为字符
STRB R2, [R1]
ADD R0, #1
ADD R1, #1
SUBS R3, #1
BPL change
;change_finh
LDR R1, =B
MOV R3, #N*4-1
ADR R7, sum ;状态切换
BX R7
CODE32
sum
LDRB R0, [R1], #1 ;计算和,结果保存在R0中
sum_loop
; CMP R3, #0
; BEQ sum_finh
LDRB R2, [R1], #1
ADD R0, R0, R2
SUBS R3, R3, #1
BPL sum_loop
;sum_finh
loopup
B loopup
AREA datablock, DATA, READWRITE
A SPACE 64*4
B SPACE 64*4
END
保存文件夹,然后build 。

相关主题