设置 ARM处理器的小端模式

在Linux的内核里,关于ARM 有这么一个文件设置ARM的大端模式:

arch/arm/boot/compressed/big-endian.S

  
  1 /*
  2  *  linux/arch/arm/boot/compressed/big-endian.S
  3  *
  4  *  Switch CPU into big endian mode.
  5  *  Author: Nicolas Pitre
  6  */
  7 
  8     .section ".start", #alloc, #execinstr
  9 
 10     mrc p15, 0, r0, c1, c0, 0   @ read control reg
 11     orr r0, r0, #(1 << 7)   @ enable big endian mode
 12     mcr p15, 0, r0, c1, c0, 0   @ write control reg
 13 

与之相对的是设置处理器为小端模式:

  
  1 /*
  2  *  linux/arch/arm/boot/compressed/little-endian.S
  3  *
  4  *  Switch CPU into little endian mode.
  5  *  Author: Nicolas Pitre
  6  */
  7 
  8     .section ".start", #alloc, #execinstr
  9 
 10     mrc p15, 0, r0, c1, c0, 0   @ read control reg
 11     bic r0, r0, #(1 << 7)   @ enable little endian mode
 12     mcr p15, 0, r0, c1, c0, 0   @ write control reg
 13 


你可能感兴趣的:(设置 ARM处理器的小端模式)