twentyone,你好!我怎么进不了你的blog?
请教各位:
我目前从网上下载的4510bsp需要在linux环境下编译,由于涉及到汇编语言格式的转换(当前是arm 格式的汇编,需要转换成linux下汇编),所以需要相关手册,不知哪位有?
急,谢谢!
另:在网上看到了一个小程序 intel2gas,说这个东西可以将interl汇编转换成at&t汇编,不知道有高人用过没有,可信度如何?(要是出了问题还不如自己学了重新写那)。
如果有类似的没有问题的程序,还请大家推荐一下。
打扰下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|两次中到底是只那个值?
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |