|
;Copy and paste RW data/zero initialized data<br /> ldr r0, =|Image$$RO$$Limit| ; Get pointer to ROM data<br /> ldr r1, =|Image$$RW$$Base| ; and RAM copy<br /> ldr r3, =|Image$$ZI$$Base| <br /> <br /> ;Zero init base => top of initialised data<br /> cmp r0, r1 ; Check that they are different<br /> beq %F2<br />1 <br /> cmp r1, r3 ; Copy init data<br /> ldrcc r2, [r0], #4 ;--> LDRCC r2, [r0] + ADD r0, r0, #4 <br /> strcc r2, [r1], #4 ;--> STRCC r2, [r1] + ADD r1, r1, #4<br /> bcc %B1<br />2 <br /> ldr r1, =|Image$$ZI$$Limit| ; Top of zero init segment<br /> mov r2, #0<br />3 <br /> cmp r3, r1 ; Zero init<br /> strcc r2, [r3], #4<br /> bcc %B3<br /><br />我的bootloader中只有这段copy RW/ZI段到SDRAM的程序,现在我把程序下载到NOR上运行,速度比较慢,怎样才能把RO RW ZI<br />全部COPY到SDRAM并跳转到SDRAM去运行呢 ? |
|