打扰下twentyone:
在编译链接好的程序里面,RW段是放置在RO段后面的,所以|Image$$RO$$Limit|既是RO段的结束位置也是RW段的起始地址,就是说Image$$RO$$Limit|和Image$$RW$$Base|相等的.这个是可以理解的,但是在两个地方用了Image$$RW$$Base|,两次用的 Image$$RW$$Base|是同一个地址吗?
;Part 5
;***************************************************************
;Self copy from FLASH to SDRAM
 LDR  r0, =|Image$$RO$$Base|      
 LDR  r1, =|Image$$RO$$Limit|      
 LDR  r2, =|Image$$RW$$Base|      
 LDR  r3, =|Image$$RW$$Limit|     
 SUB  r1, r1, r0
 SUB  r3, r3, r2
 ADD  r1, r1, r3
 
 LDR  r2, =0x200000   ;@2M
 
COPY
 LDR  r3, [r0], #4
 STR  r3, [r2], #4
 SUBS r1, r1,   #4
 BNE  COPY
另外一个地方用:
;Part 7
;*****************************************************************
; Copy RW & ZI to SDRAM
 LDR r0, =|Image$$RO$$Limit|  
 LDR r1, =|Image$$RW$$Base|   
 LDR r3, =|Image$$ZI$$Base|   
 CMP r0, r1 
 BEQ %1
 
0  CMP r1, r3       ; Copy init data
 LDRCC r2, [r0], #4
 STRCC r2, [r1], #4
 BCC %0
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 %2
我根据你的说明,感觉第一次用的|Image$$RW$$Base|应该是跟|Image$$RO$$Limit|
相等的.第二次|Image$$RW$$Base|这个值是AXD里设置的 RW Base,那为什么同样的变量,怎么值不一样?那这个|Image$$RW$$Base|两次中到底值分别多少?

 
					
				 
			
			
			
						
			 
					
				 
					
				 
					
				 
					
				 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

