Prev: USB Bulk Reads via Cypress EZ-USB FX2
Next: How to opena handle to "Cypress EZ-USB FX2 (68613) - EEPROM missing" and download a program to RAM
From: Anbeyon on 21 May 2007 08:06 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 21 May 2007 12:57
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�. |