共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
我要赚赏金
