[coldfire-gnu-discuss] RAMBAR0 incorrectly set by __cs3_reset

Nathan Sidwell nathan at codesourcery.com
Sat Nov 8 10:10:52 UTC 2008


Corrin Meyer wrote:
> I have started to experience a boot failure issue and I think I have 
> tracked it down to __cs3_reset.  The boot failure is resulting in an 
> access error and it appears that it is because that RAMBAR0 (FLASHBAR) 
> is being incorrectly set by the CS3 reset function __cs3_reset.  Below 
> are two versions of __cs3_reset as results from a compile that works and 
> a compile that doesn’t.  The processor I am working with is a MCF52235.

Which 52235 board are you targeting?
How are you linking your program?
Are you using a modified linker script?

> It appears that in the working case 0x00000021 is being loaded in 
> RAMBAR0 and in the non-working case it is being loaded with 0x00003021.

> How is the value that is being loaded into RAMBAR0 being determined?

It is the value of the  __cs3_region_start_rom plus 0x21. 
__cs3_region_start_rom should be zero.  Can you determine if that is the case, 
and if not why not?

>  Is 
> there anyway that I can control what that value is without having to 
> replace the __cs3_reset (or maybe there is an easy way to override just 
> the __cs3_reset code without having to replace all of CS3)?

Yes, provide your own implementation of the routine in a .cs3.reset section. 
Provide a global symbol __cs3_reset_cobra52235 (adjust if you're not using the 
cobra52235 board), and make sure it ends with a jump to _start.  This is 
documented in the getting started guide.

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery




More information about the coldfire-gnu-discuss mailing list