|
LDR r0,=|Image$$RO$$Limit| ;
LDR r1, =|Image$$RW$$Base| ; and RAM copy
LDR r3, =|Image$$ZI$$Base| ; Zero init base => end of RW init
CMP r0, r1 ; Check that they are different
BEQ RWDONE
RWINIT
CMP r1, r3 ; Copy init values for RW data
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC RWINIT
帮忙看看,这是初始化的时候复制RW类容的程序。
如果Image$$RO$$Limit是4字节的倍数,就没问题,但是如果不是,例如尾数是3,他就会提前3个字节开始多复制RW,也就是说我所有RW的初值都移位了。
有人遇到过同样的情况么,需要怎么设置MDK。或者有办法加一段ASM去解决。多谢!!! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|