This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Re: eCos + LPC21xx footprint
On Tue, Nov 16, 2004 at 11:27:39AM +0200, Jani Monoses wrote:
> Hello
> would such a change in arm/vectors.S be to intrusive?
> The 'unused' vector entry is used by LPC's inflash bootloader to detect
> whether a valid image is present. The value is the checksum of the vector
> table, fixed since that table doesn't change. If not the download sequence
> starts else it assumes there's a program and it runs it.
> The Philips hostside (Windows only) downloader modifies the images it
> downloads on the fly, but on linux I chose to put the value in the image
> and not add more code to the loader I wrote.
> This means that it does not need to be calculated by every different
> download method :
> even redboot would not need to do anything extra when writing the flash.
>
> comments?
>
> --- orig/packages/hal/arm/arch/current/src/vectors.S
> +++ mod/packages/hal/arm/arch/current/src/vectors.S
> @@ -206,7 +206,7 @@
> ldr pc,.software_interrupt // 0x08 start && software
> int
> ldr pc,.abort_prefetch // 0x0C
> ldr pc,.abort_data // 0x10
> - .word 0 // unused
> +#ifdef CYGPKG_HAL_ARM_LPC2XXX
> + .word 0xB4405F62 // used by LPC2XXX
> bootloader, 32 bit
> +#endif
> checksum of the int vectors should be 0
> ldr pc,.IRQ // 0x18
> ldr pc,.FIQ // 0x1C
I think i would prefer a CDL option to do this if thats possible. Use
a generic name, say CYGNUM_HAL_ARM_UNUSED_VECTOR which defaults to 0
but a target hal can use a requires statement to set it to a specific
value.
Andrew