Daan Vreeken Daan at
Thu Feb 17 23:28:38 UTC 2011

Hi all,

I've recently received a Stamp9261 evaluation board [1] and I'm trying to get 
FreeBSD to run on it. As a starting point I've taken -CURRENT as of 
2011-02-10 and created a custom kernel config file with (among others) the 
following :
	files   "../at91/files.at91sam9"
	cpu             CPU_ARM9
	makeoptions     CONF_CFLAGS="-mcpu=arm9"
	options         PHYSADDR=0x20000000
	device          at91sam9260

	options         STARTUP_PAGETABLE_ADDR=0x20800000
	makeoptions     KERNPHYSADDR=0x20000000
	makeoptions     KERNVIRTADDR=0xc0000000
	options         KERNPHYSADDR=0x20000000
	options         KERNVIRTADDR=0xc0000000
	options         AT91C_MASTER_CLOCK=200000000

The board's (64MB of) SDRAM is located at 0x20000000. After tftp-ing the 
kernel.bin image to 0x20000000 with u-boot and starting it the board seems to 
hang. By printing bytes to the DBGU serial port I've been able to trace the 
execution through "arm/locore.S" up to the point where the MMU is enabled 
with the following code:

	/* Enable MMU */
	mrc     p15, 0, r0, c1, c0, 0
	orr     r0, r0, #CPU_CONTROL_MMU_ENABLE
	mcr     p15, 0, r0, c1, c0, 0

Either the CPU halts somewhere in this piece of code, or my DBGU printing 
macro doesn't work after enabling the MMU and the code halts somewhere 
else. ;-)

Any ideas as to what could be going wrong here or tips to debug this further?

[1] :

Daan Vreeken
Vitsch Electronics
tel: +31-(0)40-7113050 / +31-(0)6-46210825
KvK nr: 17174380

More information about the freebsd-arm mailing list