Author Topic: 89c664  (Read 3722 times)

Ingo

  • Jr. Member
  • **
  • Posts: 17
    • View Profile
89c664
« on: June 11, 2003, 07:33:25 am »
Hi

My problem is that i only have a 4 wire RS232 connection.
Rxd, Txd, GND and RTS.

I try'ed to use DTR and RTS to control RST and PSEN
In my case RTS to control PSEN.
FlashMagic send a 'U' to set up the Baudrate.
My software detect that 'U' echo back 'U.* and then let the "HARDWARE WATCHDOG TIMER (ONE-TIME ENABLED WITH RESET-OUT FOR P89C660/662/664)" make a  reset for me.
This works not so good, about 1 of 5.

At what point will FlashMagic send 'U'. Before RTS or under RTS or after RTS?

So i tried "STARTBOOTROM" insteed, and it works.
But FlashMagic activates RTS when it programming my device, so when it try to restart my software "PSEN" is low and the device will go into "ISP mode" again.

Is this a BUG or is there a way to keep RTS inactive when running STARTBOOTROM?

I want to have both option aviable

Andy Ayre

  • ESAcademy Staff
  • Sr. Member
  • *****
  • Posts: 2160
    • View Profile
    • Embedded Systems Academy, Inc.
    • Email
Re: 89c664
« Reply #1 on: June 11, 2003, 07:39:54 am »
If you want to use the DTR/RTS functionality, then you must use both signals. It will not work if you just try to use one of them, so if your cable only has four wires then you cannot use that feature.

To disable the DTR/RTS feature:

Choose Advanced Options from Options Menu
Click on the Hardware Config tab
Uncheck all the boxes
Click ok OK.

Now try using the Start BootROM feature. Note that whenever a COM Port is opened in Windows, the DTR and RTS signals are automatically placed in states that indicate the PC is read for transmission. This is Windows control rather than Flash Magic. So if you find that RTS is still changing state whenever you use Flash Magic, you will need to disconnect RTS from your hardware.

Embedded Systems Academy, Inc.
support at esacademy dot com