Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

18f2550 and cypress FX2 programmer??

Status
Not open for further replies.

patroclus

New Member
I own a JDM programmer and Willem programmer, and none of these seem to be able to programm 18F2550. Do you know any easy to build programmer to be able to do so??

I would like to know about cypress fx2 programmer too.. thanks!
 
William At MyBlueRoom said:
My Inchworm ICD2 does, use the JDM to program BL10101.HEX into a 16F877 and you're in business. I'll be posting a single sided layout tomorrow.

Do you make and sell them? If so how much are they in kit and built. I am looking for an ICD2 shortly.
 
A store in Toronto will be carrying them, He's having 50 units made. I'm going to try to make one by hand.

**broken link removed**

I drew the PCB with Sprint-Layout (I like it)

It was fun getting it to single sided.
 

Attachments

  • Inchworm.zip
    22.3 KB · Views: 270
I have sprint-layout but it cannot open the files included in the zip file...
by the way, which software do you use to program devices using this programmer?

I see it is not a real programmer but a ICD2 emulator.. I'm not sure I know what that means :)
 
what exactly prevents new pics to be programmed in a JDM programmer??

I found a enhanced version of JDM2 that supports 18F2550, ...
the author says

"Schematic & layout for an updated JDM2 PIC Programmer. Includes clock & data filter, Vpp voltage divider for modern PIC microcontrollers (eg USB PIC 18F2455/4455)."
 
patroclus said:
what exactly prevents new pics to be programmed in a JDM programmer??

Nothing, the hardware requirements are the same, it just needs new software writing for the PC. The advantage of the ICD2 clones is that MicroChip regularly update the software to support new chips for the original ICD2, and you can simply download it and update the clones with the same software.
 
Oh, so a ICD2 programmer lets you program the device using MPLAB IDE, isn't it??

But what does in-circuit-debugger really let you do?

I suppose this programer does not work for cypress microcontrolers such as FX2
 
patroclus said:
Oh, so a ICD2 programmer lets you program the device using MPLAB IDE, isn't it??

But what does in-circuit-debugger really let you do?

Never used it!, but as far as I know (as a minimum) it's lets you single step through the running code and set break points etc.

I suppose this programer does not work for cypress microcontrolers such as FX2

Why would MicroChip support another manufacturers product?.
 
The FX2 doesn't have any internal flash memory. A program can be encoded into a (large enough) I2C eeprom chip, but that can actually be done from the PC. The typical FX2 configuration is a ~32 byte external I2C eeprom that stores the vendor/product IDs and some flags, and all the firmware is loaded in from the PC at runtime.
 
hjames, thanks for the info! As I'm quite lost (even spending like 5 hours trying to know something), this really helps me a bit.

So, when you use a FX2, you write the driver on the PC side, and that's it?? I mean, is these driver the same as the firmware going into the FX2??
(Is the firmware loaded using the USB wires, or specific ones??)

I'll appreciatte any simplified operation scheme layout.
Thanks!
 
Personally I "preload" my i2c eeprom by programming it in from another source, but the standard way seem to be:

1) board with FX2 and uninitialized i2c eeprom
2) board plugs into computer and shows up under cypress's vendor id, product id
3) special program is run which uploads a 8051 program through USB to the FX2 chip and programs the i2c chip
4) board with FX2 and freshly initialized i2c eeprom is unplugged
- the next time the board is plugged in, it will display whatever vendorID/productID is coded into the i2c eeprom

Now, grab the FX2 operational manual and read up on the "renumeration" stuff, and you'll know all there is to know about it. The short answer is that the 8051 firmware is stored on the computer/on disk, and it is passed to the FX2 chip when it is initially connected.
 
Oh, thanks, it sounds more clear now.
But, I suppose you have to write some driver to interface with the FX2 ?
I mean, imagine you want to retrieve data with some software you have wrote. How dou you access the FX2 in the PC software side??
 
On Windows machines, Cypress has a library that interfaces to the usb bits. It's goes under the name "cyapi" or "cyusb" or something like that. (I've never used it).

There's another library that's called "libusb-win32" which is a replica of Linux's libusb, but under windows. Since I do a lot of cross platform stuff, I'm probably going to look at that one in depth in the future. It looks like it's already integrated in with the cygwin toolset.

Both of these libraries are "user mode" libraries which take the place of a dedicated kernel driver. They should be good for a couple MB/sec worth of data transfer. For higher performance you typically write a hardware driver, but that tends to be a hassle from a number of perspectives (i.e. download the Microsoft DDK, learn about all the nitty-gritty Windows kernel details).
 
Just bumping this thread up since I've just tested out some windows USB stuff in case anyone is interested.

If you search around for "libusb-win32" you'll come across a badly documented bit of software - which works wonderfully and provides simple no-fuss access to USB devices under Windows XP (the only one I've tested so far). There seem to be two major components, a windows driver with a wizard which generates an ".inf" file and driver package which is set to a particular vendor/product ID. When you plug in a USB device, Windows will ask for a driver, and you simply point at it, and all is well. The second part is the API side interface which mostly follows the libusb documentation (lots available), except for the asynchronous data interface - which is key to getting high speed transfers. There's an example program posted on the libusb-dev-win32 mailing list (June 13, 2006 thereabouts) which shows how to use the async. interface.

To cut to the chase, I've got an board based on a Netchip2272 USB2 interface chip that has a throughput just north of 20MBytes/sec under Windows using the libusb-win32 library/driver set. I'd expect the Cypress FX2 chip to do something comparable. And I didn't have to learn any windows driver details - which just makes it all gold.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top