[uClinux-dev] kernel load issue, jump to _fault vector

angelo angelo70 at gmail.com
Sat May 8 11:31:54 EDT 2010


Thanks Brian,

i see now,

movel #CONFIG_VECTORBASE,%a7
movec %a7,%VBR /* set vectors addr */

So %a7, that is %sp, is used just to transfer the #CONFIG_VECTORBASE to 
%VBR.
I used 0x00000000 as CONFIG_VECTORBASE address, and kernel start at 
0x400, after the vector table.

Anyway, once %a7 is written, the $pc jump somewhere else, ending up into 
a _fault routine, still there in the Flash from Colilo.

thanks, angelo








Brian S. Julin wrote:
>
> On Sat, 8 May 2010, angelo wrote:
>
>> Hi all,
>>
>> well i have some news with this coldfire 5307 issue,
>>
>> i disassembled and put some loop as opcodes here and there in the 
>> kernel (4ef9 0000 XXXX jmp XXXX ) as a very rude debug.
>>
>> The issue is just at the beginning:
>>
>> Dump of assembler code for function _text:
>> 0x00000400 <_text+0>: nop
>> 0x00000402 <_text+2>: movew #9984,%sr
>> 0x00000406 <_text+6>: moveal #0,%sp <--- Issue is here
>> 0x0000040c <_text+12>: movec %sp,%vbr
>> 0x00000410 <_text+16>: movel %sp,0xe8944 <_ramvec>
>
> See arch/m68knommu/platform/coldfire/head.S
>
> CONFIG_VECTORBASE is the #0
>
> There are a few config options, you'll see them as macros in 
> coldfire/head.S
> and can trace their names to the Kconfig or vendor/ configs.
>
> Also you can customize own head.S if PLATFORM_SETUP is not enough for
> you.
>
> -- 
> Brian




More information about the uClinux-dev mailing list