Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Project to replace CY7C64613 in the ICD2

Status
Not open for further replies.
icd2w98.sys

zedman, ok I will do it at home tonight (within 10 hours from now...) the icd2 is at home and i'm at work for now.

Added after 1 minutes:

well, this usbmon is a nice piece of software.. do you know how long it works in demo mode ? can't find it anywhere..
 

18f2550 touch reset

Answering to Krypton:
- The 8 DIP chip in the right side above the inductor is the switching regulator MIC2172 (Micrel - search in the Google for MIC2172, its datasheet is the first result) used in the boost converter.

Some comments about code protection: the 18F4550 can be code protected only in some blocks of the program memory, so the bootloader area may be protected and the downloadable code may be not.

I think the logo "Microchip Licensed" means that the manufacturer had the cooperation of Microchip, but the code remains secret. I don´t think they would sell a product with unprotected code and so easy to be copied. If this happened I could see a lot of clones of the clones here, and this have not happened (until now).

About the drivers: I forgot all steps I did when I installed the clone but reading the manual I could remember that when it asked the drivers, we should use the USB drivers located in the MPLAB/IDE/ICD2 directory. So, for sure it uses the Microchip USB drivers.
 

cypress disassembler firmware

Hi, Kripton2035. Look here:
"Evaluation and Registration
This is not free software. Subject to the terms below, you are hereby licensed to use this software for evaluation purposes without charge for a period of 30 days (or 100 sessions). If you use this software after the 30 day evaluation period a registration fee is required. "

Best Regards.
 

cypress usb driver cy7c64613

Kripton, i dunno long it works, but i'll fix it if it wont do what i want ;)
Waiting for the other dumps like hell :D
 

cypress cy7c64613 programm tool

with a little advance... i'm back home
play with this !!!
 

cy7c64613 progamm tool

Thanks Kripton!

I started to examine it!
Would you please upload the device window (just a screenshot) when icd2 is connected to the port?
(I attached the window I want, please expand all parts of the tree of icd2 device)

thanks in avdvance
 

18f4550 spp implementation

You can use the copy subtree function and save it as text file, it's the second icon from the left.
thanks.
 

eagle-win-eng-4.16r1.exe

I can get you a cy7c64613 for some 25 euros + shipping if you want... :)
I'm doing it right now (the device window..)

Added after 4 minutes:

Port2: Microchip MPLAB ICD 2 Firmware Client
Hub Power: Self Power
Number of Ports: 2
Power switching: None
Compound device: No
Over-current Protection: None (Bus Power Only)
Device Descriptor
USB Version: 1.0
Device Class: (255) Vendor Specific
Device Subclass: 255
Device Protocol: 255
Max Packet Size: 0x40 (64) bytes
Vendor: 0x04d8 ()
Product ID: 0x8001
Product Version: 0x0003
Manufacturer: 0
Product: 0
SerialNumber: 0
Number of Configurations: 1
Connection Status: Device Connected
Current Configuration: 1
Device Bus Speed: Full
Device Address: 0x02
Number of Open Pipes: 14
Configuration Descriptor (1)
Total Length: 116 bytes
Number of Interfaces: 1
Configuration Value: 1
Configuration: 0
Attributes: 0x80
Bus Powered
Max Power: 0x4b (150 Ma)
Interface Descriptor (0)
Interface Number: 0
Alternate Setting: 0x00
Number of Endpoints: 0x0e
Interface Class: (255) Vendor Specific
Interface Subclass: 255
Interface Protocol: 255
Interface: 0
Endpoint Descriptor (Addr: 0x01)
Endpoint Address: 0x01, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x02)
Endpoint Address: 0x02, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x03)
Endpoint Address: 0x03, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x04)
Endpoint Address: 0x04, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x05)
Endpoint Address: 0x05, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x06)
Endpoint Address: 0x06, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x07)
Endpoint Address: 0x07, Output
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x81)
Endpoint Address: 0x81, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x82)
Endpoint Address: 0x82, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x83)
Endpoint Address: 0x83, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x84)
Endpoint Address: 0x84, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x85)
Endpoint Address: 0x85, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x86)
Endpoint Address: 0x86, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
Endpoint Descriptor (Addr: 0x87)
Endpoint Address: 0x87, Input
Transfer Type: Bulk
Max Packet Size: 0x0040 (64) bytes
Interval: 0x01
 

pic icd 2 circuit diagram

Zedman said:
:D
thanks, I ordered samples from cypress some weeks ago, but hey this is a challenge isn't it?

I asked them some weeks ago and they answered me one week later this part is obsolete and so cnnot give sample of it !
too easy.. :cry:
 

how to repair microchip icd2

That's sad.

At the moment: device fails Enumeration...
Damn I hate to deal with 10000 .c/.h files...
mrrr.
 

74hc4066 paypal

Now it identifies itself as ICD2 VID/PID but when I start to install the mchip drivers it freezes... Think it waits for data from and endpoint. More debugging and more time and more patience needed.

Also if anybody else has any idea how can I recover the 2 Cypress HEXs to Assembly language, it would help a lot to discover what should the 4550 do in place of the Cy.

The text Kripton sent shows ICD2 uses 7(!) IN/OUT endpoints in one interface.
1 device / 1 interface / 7 endpoints.
I dunno if it uses all or not, i'll check in the log files, but it seems it's more complex than just a bridge between the USB and the PSP port.
 

error 295 in eagle pcb

Zedman. Are you developing with a 4450 ? If thats the case. Did you try to program the 4450 with the .bin (boot)included in the 7.30 mplab ?
I think it is worth a try to see if it is recognized by the microchip USB driver. That is the first thing I want to test when I get the pic on my return.

Added after 1 minutes:

ICD2_4550_BOOT_0180.BIN seems to be a very good candidate.
 

pic18f4450 verification of configuration failed

I will try to program 4550 with ICD2_4550_BOOT_0180.BIN later today and i will let you know about results. I didn't know that pic can be programed with bin files. I thought that hex file is the only one possible. Oscilator is 20MHz? Am I right?
 

mcp41010 pic16f877

Zedman said:
...
Also if anybody else has any idea how can I recover the 2 Cypress HEXs to Assembly language, it would help a lot to discover what should the 4550 do in place of the Cy.
...
If it will help you:
**broken link removed**
**broken link removed**
 

pickit2 bc327

albert, Iam developing with 4550.

albert, predrage I tried to disassemble them, (first bin2hex than -> mplab) but they are look like scrambled code, or the bin2hex was not successful I dunno.

Good news:
Last night I was able to install the Mchip drivers for my 4550, it recognizes it as an ICD2, now MPLAB tries to connect it, but fails since I do not return any data yet, because have some probs with tx routine.
Studied some on the protocol of the ICD2 and it's seems not so hard.
I'll work on it tonight too. (my wife doesn't like this project tough...)

Added after 6 minutes:

Make_Pic,

I got IDA, and tried it on the hex files, but it has only generic 8051 register names/symbol table.

thanks anyway!
 

rs232 and usb 4550 pic

Hello I'm very interested with this thing and I found out that the OS downloaded is from ICD05010304.hex not from: ICD2_4550_BOOT_0180.BIN and ICD2_4550_OS_0100.BIN
the OS-file is for all the newest PIC18 ex. PIC18F8722,PIC18F4550
so you should test the bin files.
the clock input shall after the datasheet for PIC18f4550 so the USB peripheral gives 48Mhz
 

mplab 7.52 manual

Going insane.

the UOWN bit of the IN endpoint1 wont get cleared. This means the SIE is using the shared RAM of this EP. But why? I did not set the ownership to SIE. Mrrrr. :roll:

Added after 8 minutes:

tde040141

it's true not the binfiles downloaded into the 877 while programming the new chip types.

I don't give much chance downloading the bin files into a 4550 (altough it can be good), at least the *boot image should look as a working code in a dissassembler. I said it can be that's really a working thing for a new 4550 based ICD2, but how to download them into an EMPTY 4550?
 

driver usb to rs-232 redfox

My friends i didn't succeed in programming ICD2_4550_BOOT_0180.BIN into 4550. I'v
tried to open bin file with winpic 800 software but it failed. I tryed to open it with option "all files" in "file types" because there is no direct support for bin files. ICprog have that support (to open bin files) but can't program 4550. In fact there is no 4550 in device list. What should i do next? Any suggestions? I'm just a beginner but I have good will to help.
Sorry about my bad english.
 

dvd firmware source code

Actually it receives the first packet from MPLAB, I set the appropriate answer for it into my buffer, and set TX state to BUSY, indicating that I put someting into the tx buffer.
TXService routine checks the shared RAM buffer's ownership and if it's owned by the MCU then copies the data from my buff to shared buff and sets the owner bit to SIE, signing that it should transmit it.
And here I stuck.
The SIE owns the buffer forever. I checked the error handler routine, not running into error. I read in other forums, that the transmission may not took place and SIE waits. I know that USB is a master / slave thing, host initiates IN transmissions too, so there must be an IN token sent by host to the device indicating it wants n bytes.

here is Kripton's log:

Code:
000001: Bulk or Interrupt Transfer (UP), 30.03.2006 23:34:55.2028448 +37.6942016
Pipe Handle: 0x8260b020 (Endpoint Address: 0x1)
Send 0x12 bytes to the device:



 02 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00

.Á..............
..




000002: Bulk or Interrupt Transfer (UP), 30.03.2006 23:34:55.2328880 +0.0300432
Pipe Handle: 0x8260b0e4 (Endpoint Address: 0x81)
Get 0x8 bytes from the device:



 C1 00 00 00 00 00 00 00

Á.......

Endpoint 0x01 is endpoint 1's OUT (pc->device) pipe
Endpoint 0x81 is endpoint 1's IN (device->pc) pipe

it shows no IN token sent by the host, just a Get 0x8 byte and there it is.
But my 4550 waits, and MPLAB sends this sequence 2 times, and after that it says something is wrong. (actually it is)

Any ideas?
Any USB gurus?
Ahh, iam tired, gone to take care of the wife...

Added after 7 minutes:

predrage,

the only way is to do a bin->hex conversion and the burn the hex files with mplab or any other programmer. There are converters available, search google for bin2hex.exe. If you load the hex into MPLAB you will see that there's no configuration data in it.
 

mplab blue screen

My friends i didn't succeed in programming ICD2_4550_BOOT_0180.BIN into 4550.
predrage & zedman bin2hex should have worked. Another posibility is loading the bin into the ICPROG. Check the contents (strings should be readable) save buffer in intel hex format. Then use the .hex to program the 4550 with mplab.

There are at least two versions of the intel hex file format. Word address and byte address. Mplab may be trying to read the wrong version and the 4550 will not be correctly programmed. I suggest to check the versions that mplab accepts and what can be generated with bin2hex and ICPROG.

Zedman good work! Did you do something with the initial firmware downloading of the CY ? It is supposed to come up in the USB using the (xxxl.sys loader) download its code and then use the icd2 driver (xxx.sys) to communicate with mplab. May be this process generates the different endpoints that you are seeing.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top