Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: Interrupt Handling (Vector checksum)

2004-11-18 by capiman@t-online.de

Have you compared what value you get with your routine and perhaps load the 
same with my routine ?
Is it really the same ? I see you are doing a +1 at the end ?

Regards,

        Martin

----- Original Message ----- 
From: "tom_laffey" <tom_laffey@...>
To: <lpc2000@yahoogroups.com>
Sent: Thursday, November 18, 2004 8:40 PM
Subject: [lpc2000] Re: Interrupt Handling (Vector checksum)


>
>
> Hi Robert,
>
> Thanks for your reply.  I found Martin's checksum code, which is
>
>        ivt_CRC = 0;
>        for(i = 0;i < 8; i++)
>        {
>            if(i == 5) continue;            // Jump over address 0x14
>            ivt_CRC += BinaryContent_as_unsigned_long[i];
>        }
>
>        ivt_CRC = 0 - ivt_CRC;              // Negate result
>        BinaryContent_as_unsigned_long[5] = ivt_CRC;
>
> The code I am using is in a program to add this checksum to a
> binary program file before downloading:
>
> // pBuf is char *, aligned 4
> unsigned long * pVectors = (unsigned long *) pBuf;
>
>        pVectors[5] = 0;
>        for( checksum = index = 0; index < 8; index++)
>        {
>            checksum += pVectors[index];
>        }
>        pVectors[5] = ~checksum + 1;
>
> which looks like it does the same thing as Martin's.
>
> This has me wondering what I am missing.  When I modify the binary
> image and load it with my ISP program, it is not recognized by the
> Philips boot loader.  I can tell by stopping the CPU and looking at
> the PC: pc=0x7fffef32.  Downloading the same image using the Philips
> downloader (and a hex version of the executable), the program boots.
>
> Thanks,
>
>
> Tom
>
>
>
>
> --- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...>
> wrote:
>> At 06:30 PM 11/18/04 +0000, you wrote:
>> >Did you ever solve the vector table checksum problem?  Like you,
> I've
>> >tried the algorithm described in the manual (the one you typed
> below)
>> >and the boot code won't start when the file is loaded with IAP.
> From
>> >the description, the checksum covers the first 8 words.
>> >
>> >My application uses IAP for firmware updates, so long-term
> dependency
>> >on the Philips downloader is not an option.
>>
>> Take a look at the source for Martin's LPC21ISP.  It does the
> calculation
>> and it should be simple to adapt.
>>
>> Robert
>>
>> " 'Freedom' has no meaning of itself.  There are always
> restrictions,
>> be they legal, genetic, or physical.  If you don't believe me, try
> to
>> chew a radio signal. "
>>
>>                          Kelvin Throop, III
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.