m68302 boot problem - newbie!!!
Nicolas PIGEON
pigeon.nicolas at wanadoo.fr
Wed May 7 12:15:43 UTC 2003
Hi,
I'm working on a home made board made of a m68302, 512 ko RAM on CS1 and 1 Mo Eprom on CS0, and I have two problems I'm unable to solve...
I (try to) use RedHat 7.3 and RTEMS 4.5.0, and my work is based on the ods68302 BSP which seems very close to mine. And here's my first problem: everything boots fine until the 68302 reaches the code needed to copy the .data section into RAM. Indeed, the origin and destination addresses are the same, and located in the Eprom. I guess it's a linker problem, but the linker script seems OK (I did not modify it), and I can't locate the problem. Does anybody have a little idea or suggestion please? This work is important to me because I'm still a student and I may not be graduated if I fail my internship...
Then the second problem (the first one does not make the card hang, and it's still working... but not for a long time :-(): when the 68302 reaches a JSR instruction to jump to the "boot_phase_3" subroutine, it indeed jumps at the right place, but it only reads the first byte of the next instruction (which is a JSR too), and then the address bus goes to FFFFF, and that's it! Here's the assembly code just before and after the problem:
movel %d0,_stack_init |do=0 here, and _stack_init is at the end of .bss
movew #0x3700, %sr |supervisor mode, all interrupts off
movel %d0, %a7 |set master stack pointer
movel %d0, %a6 |set base pointer
jsr boot_phase_3
The jump is OK, at the right place, where there is
jsr debug_port_banner
This instruction is not even read until its end (3 bytes long, only the first is read), and the adress bus goes to FFFFF. The 68302 doesn't even try to go to an exception vector...
I would really appreciate any help or ideas, it would save me!!
Thanks
More information about the users
mailing list