This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Unable To Connect Keil Monitor To Cypress EZ-USB FX Development Board

I'm working with a Cypress EZ-USB FX Development Kit. Per the EZ-USB Contents and Tutorial manual, I'm trying
to run the dev_io example program by loading it from the Keil debugger. After following the directions per this
pdf file, when I try to download the file with Keil uVision2 application it gives me CONNECTION TO TARGET SYSTEM
dialog box. It seems the Kit / Keil debugger is not establishing the comm channel properly. I know the target hardware
is working properly because I can run the ezUSB control panel application and download
C:\Cypress\USB\Examples\EzUsb\dev_io\dve_io.hex and the example runs fine on the kit. I've tried other examples to download
with the Keil debugger, same problem

I performed the following steps:

1) Connect USB cable to EZ-USB FX development board.
2) Serial comm cable is connected from COM1 of PC to SIO-1 of the EZ_USB FX board.
3) Run EzUSB application and select LoadMon to load the Keil debug monitor into memory. Its loading the
correct default monitor file, mon-ext-sio1-e0.hex. For some reason when I disconnect and re-connect the USB to this board it is
not automatically loading the Keil debug monitor. I notice on my PC in the device manager that sometimes the USB driver loaded
is Cypress Ez-USB ( 2235) - EEPROM missing or Cypress EZ-USB sample device. Perhaps this is somehow related to my
problem. All the jumpers on the FX board are set to default. The only ones that may not be set to default are JP8
( small EEPROM ) and JP9 ( EEPROM CONNECT ). I currently have JP8 jumpered and JP9 unjumpered.
2) The green LED on the FX is lit indicating the Keil debug monitor has been loaded.
6) Run Keil uVision2 application and open project C:\Cypress\USB\Examples\EzUsb\dev_io\dev_io.Uv2
7) Under Projects -> Option for Target 'Target1' -> Debug tab -> Settings, set comm port settings to
Port: Com1, Baudrate: 34800
Ensured the Xtal(MHZ) is 48.0
8) Do start debug session
9) comm problem is occuring.

I've already when thru all the obvious stuff.
- Yes, the COM1 port and serial cable are correct and functional
- Yes, I looked at the Keil and Cypress website and read all doco concerning this problem. No help in resolving this problem tried
everything I read about
- Contacted Cypress, they gave me the same suggestions as all the troubleshooting documents I have read. Tried them, still does not work

I can even modifiy the dev_io program code, build, and using the the EzUSB application download without the Keil debug monitor and it runs no problem.
The Keil monitor info is as follows:
- Keil Monitor - 51 Driver
- uVision2 - v2.10, Evaluation Version, Running in Eval Mode (4K)

When I use the EZ-USB Control Panel to load the Keil Monitor and then do GetDev I am getting the following device info:
VID = 0X547
PID = 0x2235

Is this correct ?

Need to be able to start writing firmware for the FX and using the Keil debugger to download and debug code.
Without the Keil debugger I cannot debug firmware I am writing on the FX board. I've now spend 2 whole days trying to
get this to work.

Please help.

David Parent
TRW Automotive
Software Development
248-442-5129

Parents
  • Hello David,

    It does sound like the small eeprom has been corrupted. AFAIK the Cypress sample device PID\VID is programmed into the large EEPROM. The driver for this would not be loading the Keil Rom Monitor.

    You need to reprogram the small EEPROM or at least verify the contents of it.

    The vend_ax example program that comes supplied with the evaluation board has "Vendor Requests" that will allow you to read\write to the I2C EEPROM.

    Power the board up as an "EEPROM Missing" device and replace the jumper once the power-up has completed. You should now be able to download the vend_ax program via the Cypress control manager and perform the appropriate requests to view\update the EEPROM contents.

    The documentation should tell you somewhere what the correct 8 bytes at the start of EEPROM for this device is. I don't remember offhand.

    Rest assured that it can be recovered without physically removing the device.

    I'm sure Cypress has an app note somewhere that tells you how to recover from a corrupted (or incorrectly programmed ) EEPROM. I would guess that it is not an uncommon occurrence.

Reply
  • Hello David,

    It does sound like the small eeprom has been corrupted. AFAIK the Cypress sample device PID\VID is programmed into the large EEPROM. The driver for this would not be loading the Keil Rom Monitor.

    You need to reprogram the small EEPROM or at least verify the contents of it.

    The vend_ax example program that comes supplied with the evaluation board has "Vendor Requests" that will allow you to read\write to the I2C EEPROM.

    Power the board up as an "EEPROM Missing" device and replace the jumper once the power-up has completed. You should now be able to download the vend_ax program via the Cypress control manager and perform the appropriate requests to view\update the EEPROM contents.

    The documentation should tell you somewhere what the correct 8 bytes at the start of EEPROM for this device is. I don't remember offhand.

    Rest assured that it can be recovered without physically removing the device.

    I'm sure Cypress has an app note somewhere that tells you how to recover from a corrupted (or incorrectly programmed ) EEPROM. I would guess that it is not an uncommon occurrence.

Children
  • Using the EZ-USB Control Panel, I programmed the eeprom with the image file 2200_48MHz.iic
    which is the default EZ-USB FX 48MHZ eeprom load. There was a section in the EZ-USB
    Contents and Tutorial.pdf about the procedure,
    EZ-USB Developer's Kit EEPROM tutorials.

    After doing this, I have J9 jumper connected, I
    unplugged and replugged the USB cable. At least now the device comes up recognized and the green monitor LED is lit indicating the monitor is loaded automatically. The VID\PID looks correct for the ezmon.sys driver to me

    EZ-USB Control Panel - built 11:31:58 Sep 17 2002
    Get PipeInfo
    Interface Size 16
    Device Descriptor:
    bLength: 18
    bDescriptorType: 1
    bcdUSB: 272
    bDeviceClass: 0xff
    bDeviceSubClass: 0xff
    bDeviceProtocol: 0xff
    bMaxPacketSize0: 0x40
    idVendor: 0x547
    idProduct: 0x80
    bcdDevice: 0x1
    iManufacturer: 0x0
    iProduct: 0x0
    iSerialNumber: 0x0
    bNumConfigurations: 0x1

    The driver from the Window USB controller now show Cypress EZ-USB Development Board.

    I still cannot get the Keil Monitor debugger
    to connect !!! I think I am at least one step closer

  • I suspect that the baudrates might not be correct now.

    The Keil ROM monitor will have set-up the 8051 UART assuming a particular core frequency (i.e. 12 MHz, 24 MHz or 48 MHz).

    If this is now different then you will not be able to communicate at the expected baudrate. Check this.

  • I'm reviewing the jumper settins section of the EZ-USB Getting Started document. J11 affects the SIO UART Buffers. It the table it shows the default for 1-2,3-4,5-6,7-8. It states these jumpers connect the RS-232 buffers to the SIO port pins. When these pins are used for functions other than serial I/O, the corresponding JP11 jumper should be removed.

    It further states the default serial debug port is SIO-1, therefore be sure JP11 pins 1-2 and 3-4 have shunts in place when using the default configuration for application debug via the RS-232 serial port.

    On my board currently all the jumps of JP11 are open. Should pins 1-2,3-4 be connected in order for the serial comm on the debugger to work ? Also, what do they mean by
    having shunts in place ? I don't want to just connect these blindly if it may cause
    hardware damage to the board

  • SUCCESS !!!!! I was able to download and run the Keil debug monitor !!!


    I connected the 1-2,3-4 pins of JP11 and now
    the board is behaving as expected. Thanks.
    During all the trial and error I must have disconnected these jumpers.

    Thanks again for all your effort in helping me to resolve this problem. Your support has been excellent compared to the support from Cypress in debugging this problem.