共2条
1/1 1 跳转至页

问
IMPORT |Image$$RO$$Limit|
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
b Main
END
这样的s文件怎么在用ads调试是可以,怎么烧到flash就不行了呢?
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
ResetHandler
;****************************************************
;Copy and paste RW data/zero initialized data
;****************************************************
LDR r0, =|Image$$RO$$Limit|
LDR r1, =|Image$$RW$$Base|
LDR r3, =|Image$$ZI$$Base|
;Zero init base => top of initialised data
CMP r0, r1
BEQ %F1
0
CMP r1, r3
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC %B0
1
LDR r1, =|Image$$ZI$$Limit|
MOV r2, #0
2
CMP r3, r1
STRCC r2, [r3], #4
BCC %B2
b Main
END
这样的s文件还是和上面的一样!
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
ResetHandler
;****************************************************
;允许中断处理
;****************************************************
mrs r0,cpsr
bic r1,r0,#NOINT
msr cpsr_cxsf,r1
;****************************************************
;设置中断处理
;****************************************************
ldr r0,=HandleIRQ
ldr r1,=IsrIRQ
str r1,[r0]
;****************************************************
;Copy and paste RW data/zero initialized data
;****************************************************
LDR r0, =|Image$$RO$$Limit|
LDR r1, =|Image$$RW$$Base|
LDR r3, =|Image$$ZI$$Base|
;Zero init base => top of initialised data
CMP r0, r1
BEQ %F1
0
CMP r1, r3
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC %B0
1
LDR r1, =|Image$$ZI$$Limit|
MOV r2, #0
2
CMP r3, r1
STRCC r2, [r3], #4
BCC %B2
b Main
END
这样的s文件还是和上面的一样!初学请大家指教了... 答 1: 这样的话,一般是你的存储器地址设置不对可能是你没有将存储器的地址设置改过来,才生成hex文件。 答 2: re楼上兄弟请详细指教,存储器的地址是指r0吗,我设置的是c008000调试没问题,用0生成bin文件,不是hex文件烧进去就有问题,如果是r0设置的问题,为什么我用他的例子按照上面同样的设置就可以呢?
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
b Main
END
这样的s文件怎么在用ads调试是可以,怎么烧到flash就不行了呢?
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
ResetHandler
;****************************************************
;Copy and paste RW data/zero initialized data
;****************************************************
LDR r0, =|Image$$RO$$Limit|
LDR r1, =|Image$$RW$$Base|
LDR r3, =|Image$$ZI$$Base|
;Zero init base => top of initialised data
CMP r0, r1
BEQ %F1
0
CMP r1, r3
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC %B0
1
LDR r1, =|Image$$ZI$$Limit|
MOV r2, #0
2
CMP r3, r1
STRCC r2, [r3], #4
BCC %B2
b Main
END
这样的s文件还是和上面的一样!
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
ResetHandler
;****************************************************
;允许中断处理
;****************************************************
mrs r0,cpsr
bic r1,r0,#NOINT
msr cpsr_cxsf,r1
;****************************************************
;设置中断处理
;****************************************************
ldr r0,=HandleIRQ
ldr r1,=IsrIRQ
str r1,[r0]
;****************************************************
;Copy and paste RW data/zero initialized data
;****************************************************
LDR r0, =|Image$$RO$$Limit|
LDR r1, =|Image$$RW$$Base|
LDR r3, =|Image$$ZI$$Base|
;Zero init base => top of initialised data
CMP r0, r1
BEQ %F1
0
CMP r1, r3
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC %B0
1
LDR r1, =|Image$$ZI$$Limit|
MOV r2, #0
2
CMP r3, r1
STRCC r2, [r3], #4
BCC %B2
b Main
END
这样的s文件还是和上面的一样!初学请大家指教了... 答 1: 这样的话,一般是你的存储器地址设置不对可能是你没有将存储器的地址设置改过来,才生成hex文件。 答 2: re楼上兄弟请详细指教,存储器的地址是指r0吗,我设置的是c008000调试没问题,用0生成bin文件,不是hex文件烧进去就有问题,如果是r0设置的问题,为什么我用他的例子按照上面同样的设置就可以呢?
共2条
1/1 1 跳转至页