2009-03-05 18:28:21 +01:00
|
|
|
.text
|
|
|
|
.p2align 4
|
|
|
|
.globl _start
|
|
|
|
_start:
|
|
|
|
mov ip, sp
|
|
|
|
stmdb sp!, {r11, ip, lr, pc}
|
|
|
|
bl app_func
|
2009-06-22 12:55:33 +02:00
|
|
|
bl lib_func1
|
|
|
|
bl lib_func2
|
2009-03-05 18:28:21 +01:00
|
|
|
ldmia sp, {r11, sp, lr}
|
|
|
|
bx lr
|
|
|
|
|
|
|
|
.p2align 4
|
|
|
|
.globl app_tfunc_close
|
|
|
|
.type app_tfunc_close,%function
|
|
|
|
.thumb_func
|
|
|
|
.code 16
|
|
|
|
app_tfunc_close:
|
|
|
|
push {lr}
|
|
|
|
bl lib_func2
|
|
|
|
pop {pc}
|
|
|
|
bx lr
|
|
|
|
|
|
|
|
@ We will place the section .far_arm at 0x2100000.
|
|
|
|
.section .far_arm, "xa"
|
|
|
|
|
|
|
|
.arm
|
|
|
|
.p2align 4
|
|
|
|
.globl app_func
|
|
|
|
.type app_func,%function
|
|
|
|
app_func:
|
|
|
|
mov ip, sp
|
|
|
|
stmdb sp!, {r11, ip, lr, pc}
|
|
|
|
bl lib_func1
|
2009-06-22 12:55:33 +02:00
|
|
|
bl lib_func2
|
2009-03-05 18:28:21 +01:00
|
|
|
ldmia sp, {r11, sp, lr}
|
|
|
|
bx lr
|
|
|
|
|
|
|
|
.arm
|
|
|
|
.p2align 4
|
|
|
|
.globl app_func2
|
|
|
|
.type app_func2,%function
|
|
|
|
app_func2:
|
|
|
|
bx lr
|
|
|
|
|
|
|
|
@ We will place the section .far_thumb at 0x2200000.
|
|
|
|
.section .far_thumb, "xa"
|
|
|
|
|
|
|
|
.p2align 4
|
|
|
|
.globl app_tfunc
|
|
|
|
.type app_tfunc,%function
|
|
|
|
.thumb_func
|
|
|
|
.code 16
|
|
|
|
app_tfunc:
|
|
|
|
push {lr}
|
|
|
|
bl lib_func2
|
|
|
|
pop {pc}
|
|
|
|
bx lr
|
|
|
|
|
|
|
|
.data
|
|
|
|
.long data_obj
|