P89LPC932 clock & CRC problem

Started by wllin027, February 22, 2005, 10:56:37 PM

Previous topic - Next topic

wllin027

My MCU has mounted on PCB and a 12MHz crystal was connected as system clock.
The program has been download into MCU by parallel progrtammer.
Device configuration was defined in START900.A51 provided by Keil uVision and has been built with user application.
Next, connected  the MCU with MCB900. There was no other power added to the PCB during this operation.
When I executed Flashmagic, MCU can be found.
Functions in ISP menu such as blank check, security bits are all available.
Device configuration was conform to the settings in START900.A51, too.
Then I programmed the same Hex file by using ISP method, the error message "Unable to communicate" always appeared when programming to flash block 3.
If I modified the device configuration in ISP menu to "Internal RC Oscillator"
as the chip default setting, the ISP would finished.
Checking the device information after ISP again, the flash rom was wirtten,
the security bits and device configuration were identicai to the setting in START900.A51.
However, the application loaded by ISP cannot work normally in MCU, while it could work successfully by paralled programming.
So, why the ISP will halt during memory writting if using cryatal as clock?
Beside, why the application can't work if it is loaded by ISP?
I want to use CRC to check the code loaded to MCU by ISP. How to do that?
When I programmed the Hex file, the "Generate checksums" option in section 4 was checked.
After programming, selected the "Cyclic Redundancy Check" function and compared the device CRC value of each memory block with HEX file, the result are different....(the device CRC value of block 0~5 are all 0x00000002).
How to solve the problem?

Andy Ayre

I'm not sure why block 3 couldn't be programmed when using an external oscillator. Did you check the signals on the XTAL pins for stability, and that they are the correct frequency, glitch and ripple free?

If you enable the generate checksums option, the last byte in each block is programmed by Flash Magic with a checksum value. Because these values don't appear in the hex file, the CRCs won't match between the hex file and the memory contents.

Note that the last block in an LPC9xx device that supports ISP will never match because it contains the bootloader.

Embedded Systems Academy, Inc.
support at esacademy dot com

erikm

was'nt there something about the 932 running above 7MHz till the a1 came out?

Erik