+ -
当前位置:首页 → 问答吧 → s3c2440启动代码的疑惑

s3c2440启动代码的疑惑

时间:2011-08-26

来源:互联网

2440启动代码中有段代码设置大小端如下:
ASSERT :DEF:ENDIAN_CHANGE
[ ENDIAN_CHANGE
ASSERT :DEF:ENTRY_BUS_WIDTH
[ ENTRY_BUS_WIDTH=32
b ChangeBigEndian ;DCD 0xea000007
]

[ ENTRY_BUS_WIDTH=16
andeq r14,r7,r0,lsl #20 ;DCD 0x0007ea00  
]

[ ENTRY_BUS_WIDTH=8
streq r0,[r0,-r10,ror #1] ;DCD 0x070000ea  
]
|
b ResetHandler
  ]

如果现在使用32位大端保存代码,那么就会执行到
[ ENTRY_BUS_WIDTH=32
b ChangeBigEndian ;DCD 0xea000007
]
为什么可以直接使用b ChangeBigEndian,而不是该句机器码倒过来呢?
难道arm在32位下小端读取的数据与大端读取的数据是一样的?

作者: asanpyx   发布时间: 2011-08-26

人呢?。。。。

作者: asanpyx   发布时间: 2011-08-26