From: Anbeyon on
Hi I am hoping somone out there may be able to point me in the right
direction !!

I have a board that has two AT89C51ED2's fitted to it. One is the
68pin plcc version (main) and the other the 44 pin plcc version
(Slave). Also, I have written an application for a PC so that I can
program both chips using the ISP bootloader. We can't use the ATMEL
FLIP programer.

The hardware is arranged so that pc serial port handshake lines are
used to place the main processor into program mode. This works every
time and I can program the chip. Once the main processor is
programmed and working the pc issues some serial commands to the main
processor that places the slave processor in program mode. The serial
comms is then routed to the slave so that the PC can send bootloader
data to the slave chip.

I have problem with the slave chip. If I take a new chip from a tube
I can program it without problem. However, if I try to repeat the
process the PC app fails to sync with the slave chip. (Syncing is
performed by sending 'U' chars and looking for them being echoed by
the bootloader).

It looks like I am corrupting the devices in some way.

The really strange thing is that all of the isp routines have written
on the PC are used for programming the devices yet one is fine and the
other only works once.

In the ED2 part there are some registers that need programming up to
ensure correct operation at boot time. The only thing I am doing
differently for the smaller slave device is non setting the device
security as I need to be able to over program the upper area of the
chip without erasing / overwritting the lower half.


Does anyone have any ideas/thoughts ?

Thanks in advance

Anbeyon

From: Tilmann Reh on
Anbeyon schrieb:

> I have a board that has two AT89C51ED2's fitted to it. One is the
> 68pin plcc version (main) and the other the 44 pin plcc version
> (Slave). Also, I have written an application for a PC so that I can
> program both chips using the ISP bootloader. We can't use the ATMEL
> FLIP programer.
>
> The hardware is arranged so that pc serial port handshake lines are
> used to place the main processor into program mode. This works every
> time and I can program the chip. Once the main processor is
> programmed and working the pc issues some serial commands to the main
> processor that places the slave processor in program mode. The serial
> comms is then routed to the slave so that the PC can send bootloader
> data to the slave chip.
>
> I have problem with the slave chip. If I take a new chip from a tube
> I can program it without problem. However, if I try to repeat the
> process the PC app fails to sync with the slave chip. (Syncing is
> performed by sending 'U' chars and looking for them being echoed by
> the bootloader).
>
> It looks like I am corrupting the devices in some way.

Are you really sure that the sync character reaches the slave chip?
Are you sure the slave chip is running the bootloader?
Did you look at the RXD and TXD signals directly at the slave to see
what happens there, and if there is any response?

If you can program a new chip once, but can't get into ISP mode a second
time, I would first guess that you simply don't start the bootloader
there (normally, this is done by holding /PSEN low during reset).

Tilmann

--
http://www.autometer.de - Elektronik nach Ma�.