ISP software in linux

Started by Jack, April 20, 2006, 01:08:12 AM

Previous topic - Next topic

Jack

hi,
    I'm trying to ISP p89c51rd2 in linux enviroment.
   Is there already such a software for reference?
   (I just can't find it)So I am trying to write a simple ISP program on my own in linux, but the ISP protocol part of P89C51RD2 datasheet is so obscure.
   I think the Atmel counterpart's document is much better, but I don't know whether both protocol are fully compatible though they look alike.

Could anyone give me some hints?

Thanks in advance!

Andy Ayre

Over the years there has been virtually no demand for a Linux version of Flash Magic, so if anyone wants it, please let us know by emailing us so we can see if there is any real demand.

I believe that someone on the 8052.com forums was working on a Linux based ISP tool - you might want to try there.

The Philips and Atmel protocols are slightly different, but I don't know in what way. All I know is that Flash Magic doesn't work with the Atmel devices.

Embedded Systems Academy, Inc.
support at esacademy dot com

erikm

There is a small group that do not (want to) realize that using Linux cut them off from all products where the volume does not allow the cost of maintaining 2 versions.

There is no Keil for Linux, no CodeWright for Linux, no Raisonance for Linux, no Ceibo for Linux, no NoHau for Linux  etc so why should there be a FlashMagic for Linux.

All the above have had Linux version requests and not responded.

I'm not a "Linux hater" or a "Windows lover" just a realist.

Erik

erik

Jan Waclawek

While I have only marginal experience with Linux and zero experience with using programming tools under it, I often use a plain terminal emulator for programming the RD2s (Temic/Atmel and Philips, both 'C' and 'V' - I recommend the latter). Requires perhaps a bit of self-discipline, but the Linux users are used to it, dont' they? :-)

Have a look here: http://www.8052.com/users/redtommo/

... and perhaps let us know about your findings...

Good luck!

Jan Waclawek

Rons

Jack,
        You will get a few comments about Linux when you mention it here.
        The fact is that system programmers that worked on Unix from ATT,
        Sun OS, Berkeley Unix, and all the REAL operating systems prefer
        Linux or the Open BSD types. I find that the windows programmer
        types of today only know windows and have not been exposed to
        the heavy duty OS's. I have also found that many of todays windows
        type people have not much formal training or credentials. Getting
        back to your question, yes it's not hard to write a simple read and
        write routines that go through the Linux serial port. You can interface
        that stuff with a graphical user interface using TCL/TK. My own
        experience has been that I get a 4 times plus speed improvement
        when I use my own ISP software rather than flashmagic (no offense
        to the authors of flashmagic). I also like the way I can read multiple
        blocks in flash and have those blocks in seperate boxes on my
        screen, where as in flashmagic you only get a single display box.

Jack

I've spent almost two weeks in writing a console program in linux using C language. It can successfully program Hex file to P89C51RA2 after the chip is reset, and it also can read information out.

But my project requires me to send a command through UART to make 51 firmware jump to 0xFC00(location  of the boot loader), so I can update firmware even when the firmware is running. But I failed, the firmware can successfully jump to ISP boot loader, and I can read information out using my own program, but my program failed to program HEX file into 51 chip, because the BLOCK_ERASE command always failed to get a handshake of '.'.

So I go back to win2000, the flashmagic can still correctly program 51 chip after the running firmware jump to ISP boot loader. So my firmware part is proved OK.

Then I turn to HyperTerminal to do some test. when chip enter ISP mode after reset. the BLOCK_ERASE command get the '.' very quickly(3 seconds).
but when jump to ISP boot loader, only echo the BLOCK_ERASE command and miss the '.' response.

Can someone help me ?Thanks

Andy Ayre

To enter ISP mode cleanly, use IAP to set the status byte, turn on the watchdog and then let it timeout to reset the device.

Please start a new thread to continue discussion of this, as it isn't specific to linux. Thanks.

Embedded Systems Academy, Inc.
support at esacademy dot com

Jan Waclawek

A blind guess: do you set the oscillator frequency value in your software?

Jan Waclawek

dptxp

I know that I am reviving a pretty old thread.

As a Linux user (most of the time), I feel that we should have ISP software for Open Source OS as Linux.

Desktop Linux is quite mature today.

Jan Waclawek

Quote from: dptxp on May 24, 2008, 09:05:25 AM
I know that I am reviving a pretty old thread.

As a Linux user (most of the time), I feel that we should have ISP software for Open Source OS as Linux.

Desktop Linux is quite mature today.
I think you better throw this up on the 8052.com Forum.
Andy Ayre of ESAcademy/FlashMagic is regular there, too.

JW

Andy Ayre

Flash Magic should run under Wine. Let us know of any problems. No support is guaranteed however.

Otherwise, there just isn't the demand to warrent the investment in a Linux version. We get perhaps one or two requests per year.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

dptxp

Thanks Andy. Actually I have opened it in wine. Shall try to program and get back.

Serge Issakov

I too am looking to flash from Linux and am disappointed in not finding a tool so far.

I would be interested in knowing if anyone successfully used flashmagic under wine.

Serge

Rons

Download wine (it is open source) and you will have what you need to run FlashMagic on Linux.
If you ever need to "get under the hood" you can do that using Linux, Open BSD, Free Bsd, etc.
In Windows, forget it. I have done development with purchased OS's and and tools. You get
a problem, they got you by the balls. It may never get fixed.