From: Tim Wescott on
Smith wrote:
> Hello all
>
> I need to run an old firmware for a Siemens SAB 80C537 microcontroller unit
> (MCU). The MCU is now obsolete (it's from the late 1980s).
>
> The firmware is compiled from several thousand rows of assembly language. It
> would take a long time to understand the code and re-program it in C.
>
> So I'm thinking of using an 8051 IP-core for a FPGA and run the firmware
> code without any changes to the code.
>
> Any one here had any luck with this kind of problem?

I'm with the rest of the folks here:

(a) Why try to rewrite this in C? Why not port this to a new 8051 using
the existing code as a base? If the code is well written and commented
then the only parts that will have to be changed will be the parts that
talk to hardware, although depending on the code and the application
this may take some head-scratching.

(b) You're probably far better off to make this work with some new spin
of an 8051, with the peripherals that you need to get the job done.

(c) I could easily see trying to exactly replicate an old application,
complete with snazzy peripherals and maybe timing loops, to be a
never-ending hassle. You know the old saw about the last 10% of the
work taking 90% of the time? I think this would be a way to design a
project where the last 1% of the work takes 99% of the time. If I'm
wrong, it'd only be because you'd see the last 0.1% of the work taking
99.9% of the time.

Software is cool because it's easy to change, so you can use it to help
your product dodge around changing marketing requirements and hardware
issues. Chaining your whole project to a large chunk of dead code is
just asking for a nightmare.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
From: Smith on
I need about 100-200 parts.

"Stefan Brr�ring" <stefan___(a)broering.de> wrote in message
news:4bcc68c8$0$3291$8e6e7893(a)newsreader.ewetel.de...
> Do you need one 80537, a few, or lots of MCUs?


From: d_s_klein on
On Apr 19, 7:43 am, "Smith" <sm...(a)donotwantmail.com> wrote:
> I need about 100-200 parts.
>
> "Stefan Brröring" <stefan...(a)broering.de> wrote in message
>
> news:4bcc68c8$0$3291$8e6e7893(a)newsreader.ewetel.de...
>
> > Do you need one 80537, a few, or lots of MCUs?

Let's go with 200 parts.

Someone pointed you to a web site that listed the cost at roughly US
$50 each at that quantity.

You would probably spend more that $10,000 moving the existing code to
whatever new solution you found.

So unless you can find a replacement for less than zero dollars, it's
less expensive to pay the (exorbitant) per-chip price.

Even though I think it would be "fun" to design it out, it's not
responsible engineering.

RK
From: Rumpelstiltskin on

"Smith" <smith(a)donotwantmail.com> wrote in message
news:4bcc6082$0$45179$afc38c87(a)read01.usenet4all.se...
> Hello all
> I need to run an old firmware for a Siemens SAB 80C537 microcontroller
> unit (MCU). The MCU is now obsolete (it's from the late 1980s).
>
> The firmware is compiled from several thousand rows of assembly language.
> It would take a long time to understand the code and re-program it in C.
>
> So I'm thinking of using an 8051 IP-core for a FPGA and run the firmware
> code without any changes to the code.
>
> Any one here had any luck with this kind of problem?

I'd try tweaking firmware first. Looks like this one is not standard 8051
deriviative.
Has 32bit math MDU and 8 DPTR registers.

First thing I'd do is see if these odd features are being used.
If not, it would be easy to port to another 8051 derivative.
If so, porting challenge could range from a minor hassle to impossible. Then
C port might be way to go.

I'd get a good firmware engineer to evaluate code before moving forward.


From: Paul E. Bennett on
Smith wrote:

> Hello all
>
> I need to run an old firmware for a Siemens SAB 80C537 microcontroller
> unit (MCU). The MCU is now obsolete (it's from the late 1980s).

Perhaps a brief explanation of why might have been useful. Need to make some
more old units, need to upgrade for a newer product?

> The firmware is compiled from several thousand rows of assembly language.
> It would take a long time to understand the code and re-program it in C.

One application I did many years ago was all hand-coded 6800 machine code.
About 4k of it. This was input to the system by the switch and step method.
So in an actual assembler, this should not be too much of a hassle even if
the code is 2 or 3 times that size.

> So I'm thinking of using an 8051 IP-core for a FPGA and run the firmware
> code without any changes to the code.

Others have indicated that the parts are available from at least one
stockist. Unless you need special certification of the parts that would seem
to be the way to go to make more of an old product.

On the other hand, if this is an update of the product-line then it would be
much wiser to bite the bullet and select a more recent part offering that
gives you the facilities you need. Then set to and understand the assembly
code listing so that you can re-work the system and improve it as you go.

--
********************************************************************
Paul E. Bennett...............<email://Paul_E.Bennett(a)topmail.co.uk>
Forth based HIDECS Consultancy
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************