LDR R1,=0x001E0000 ;BIOS在FLASH中的地址 LDR R2,=0x0C7C0000 ;BIOS在SDRAM中的地址 LDR R7,=0x0C7D0000-4 ;BIOS总共64K LOOP: LDMIA R1!,{R3-R6} ;装入4个字到寄存器中 STMIA R2!,{R3-R6} ;将4个字保存到RAM中 CMP R2,R7 ;比较拷贝是否完成 BLS LOOP ;循环 0x001E0000 0x0C7C0000 0x0C7D0000-4这三个数值是怎么算出来的呀,在ADS1.2中 LDR r0, =|Image$$RO$$Limit| ; Get pointer to ROM data LDR r1, =|Image$$RW$$Base| ; and RAM copy LDR r3, =|Image$$ZI$$Base| ;Zero init base => top of initialised data CMP r0, r1 ; Check that they are different BEQ %F1 0 CMP r1, r3 ; Copy init data LDRCC r2, [r0], #4 ;--> LDRCC r2, [r0] + ADD r0, r0, #4 STRCC r2, [r1], #4 ;--> STRCC r2, [r1] + ADD r1, r1, #4 BCC %B0 1 LDR r1, =|Image$$ZI$$Limit| ; Top of zero init segment MOV r2, #0 2 CMP r3, r1 ; Zero init STRCC r2, [r3], #4 BCC %B2 只要设置ARM Linker中的R0 Base RW Base的相应值就可以, 在KEIL中如何实现的呀?? 望高手赐教,在线等呀, |