[uClinux-dev] coldfire issue, _fault routine called setting VBR
angelo70 at gmail.com
Tue May 18 17:05:23 EDT 2010
you probably remember my previous posts, i am back, after resolved
issues with my SDRAM.
Now the memory finally works fine, but i still cannot see uClinux kernel
A brief of the scenario:
Custom board, with coldfire MCF5307, 16MBytes Micron SDRAM, 4MBytes SST
In the first 18K of the flash memory "colilo" bootloader has been
From offset 0 to 0x400 of the flash memory the "colilo" vector table
has been written.
All the vector table offsets, except for the first @0, points to a
_fault routine (led blinks).
Then, from 0x400, start the "colilo" code.
At reset, the "colilo" bootloader test the SDRAM memory, than start up
correctly giving the prompt.
Kernel 2.6 has been prepared with sdram start at 0x00000000, vector
start at 0x00000000, kernel code start at 0x400.
I load now through colilo "load" command the kernel (linux.bin) at 0x400
(SDRAM, flash is remapped at 0xffc00000 from colilo at reset).
Once i run the code from 0x400, after some instructions the $pc jump to
the "colilo" "_fault" routine.
I inserted a loop in
linux-2.6.x/arch/m68knommu/platform/coldfire/head.S, to find the exact
point where the jump happen, as below:
nop /* filler */
movew #0x2700, %sr /* no interrupts */
* Do any platform or board specific setup now. Most boards
* don't need anything. Those exceptions are define this in
* their board specific includes.
* Create basic memory configuration. Set VBR accordingly,
* and size memory.
_loop: jmp _loop
movec %a7,%VBR /* set vectors addr */ *<<-- this line cause
the jump to _fault*
Now i know the SDRAM is working correctly, but i am still stucked here.
Any help is really appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the uClinux-dev