Skip to contentSkip to conversation

Support Big Endian for ARM926ejs

U-Boot-Users longbow 1 participant 1 message Oct 25, 2007

lore
Share & tools
lore

longbow

author
#0 lore raw

Hello
I'm porting u-boot for my board which using ARM926ejs and big endian mode My GNU toolchain is for big endian, I use it to build u-boot-1.2.0

For build, do some modification
u-boot.lds
/*OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")*/ OUTPUT_FORMAT("elf32-bigarm", "elf32-bigarm", "elf32-bigarm ")

Start.S
cpu_init_crit:
.....
/*

	 * disable MMU stuff and caches
	 */
	mrc	p15, 0, r0, c1, c0, 0
	bic	r0, r0, #0x00002300	/* clear bits 13, 9:8 (--V- --RS) */
	/*bic	r0, r0, #0x00000087	clear bits 7, 2:0 (B--- -CAM) */
	/*orr	r0, r0, #0x00000002	 set bit 2 (A) Align */
	bic	r0, r0, #0x00000007	/* clear bits 2:0 (--- -CAM) */
	orr	r0, r0, #0x00000082	/* set bit 7, 2 (Big)(A) Align */
	orr	r0, r0, #0x00001000	/* set bit 12 (I) I-Cache */
	mcr	p15, 0, r0, c1, c0, 0

....
For porting successfully, I want to confirm the source code of u-boot for arm support big endian ?
Thanks

Longbow