From: -jg on
On Apr 20, 1:53 am, "Smith" <sm...(a)donotwantmail.com> 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?

First, I'd try and source the real silicon.
An FPGA will lack the peripherals, and lacks the Analog options, so a
precise clone will be _very_ difficult.

Failing getting the silicon, there are other, newer, parts with
similar resources, including newer Infineon parts.

Do you have the ASM source ?
How much code space, and is a move to on-chip code ok ?

-jg


From: Derek Simmons on
On Apr 19, 9:53 am, "Smith" <sm...(a)donotwantmail.com> 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?

The 8031/8051 architecture or compatible MCUs are still being used.
When I was at KODAK it was used in a couple of different parts of a
minilab system for controlling and synchronizing motors. I recently
interviewed with a avionics company that uses it for digital displays
in the cockpit of the plane (it is easy to get certfied for the FAA).

Don't write it off yet...

Derek
From: George Neuner on
On Tue, 20 Apr 2010 18:14:05 -0700 (PDT), Derek Simmons
<dereks314(a)gmail.com> wrote:

Completely off topic, but ...

>I recently interviewed with a avionics company that uses [8031/8051]
>for digital displays in the cockpit of the plane (it is easy to get
>certfied for the FAA).

I've never heard FAA certification described as "easy". Maybe they
rubber-stamp for established vendors and members of the "old boys"
club. From what I've heard wandering air shows, they actively prevent
small businesses from entering the market.

I don't have personal experience with FAA device cert ... I haven't
built my plane yet and my pilot license so far has provided quite
enough contact with them to satisfy my masochistic streak. However, I
have dealt professionally with the FDA, and if the FAA is in any way
similar they really ought to be a PITA.

George
From: Dave Nadler on
On Apr 19, 10:44 am, "Smith" <sm...(a)donotwantmail.com> wrote:
> I found a company in UK that auto convert 8051 assembly code to C (and then
> hand optimize a few things).
>
> www.microapl.co.u
>
> "D Yuniskis" <not.going.to...(a)seen.com> wrote in message
>
> news:hqhpi9$f65$1(a)speranza.aioe.org...
>
> > Smith wrote:
> >> 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.
>
> >http://www.opencores.com/project,8051
>
> > Note that you still have a lot of road ahead of you, should
> > you go down this path.  Recall that you will also need to
> > design the various "integrated I/Os" in that '51 variant.
> > And, *hope* there are no subtle timing exploits used in
> > the code.
>
> >> Any one here had any luck with this kind of problem?
>
> > "Several thousand rows (?)" of assembly language isn't a
> > particularly big design.  *If* you have the sources
> > *and* the schematics *and* knowledge of the application
> > domain, this would probably be easier to reimplement
> > from scratch.
>
> > If you *don't* have the sources, but *do* have the other
> > two items, you can mechanically reconstruct them and
> > back-annotate as appropriate (to add semantic value).
>
> > If you have only knowledge of the application domain,
> > then you have to deduce the hardware requirements as
> > you are back-annotating.  Your knowledge of what the
> > device is likely *trying* to do gives you the foundation
> > for these deductions.
>
> > This last case is the most challenging though it is still
> > do-able.  When I bid reverse-engineering jobs like this,
> > I figure on generating commented source code at a rate of
> > about 2-4KB/week.  So, a 16K image is only a month or two
> > from start to finish.  (If the image was created by a
> > *compiler*, my throughput goes up dramatically!)

I used this firm to port some IBM assembler to C.
Their tools actually worked well, except for the
self-modifying code, which tripped them up ;-)
Make sure its a fixed-price contract...

The correct URL is:
http://www.microapl.com/asm2c/index.html

Hope that helps !
Best Regards, Dave
From: Chris H on
In message <1771ba54-e12f-44ba-af73-1cebb0cb2182(a)11g2000yqr.googlegroups
..com>, Derek Simmons <dereks314(a)gmail.com> writes
>On Apr 19, 9:53�am, "Smith" <sm...(a)donotwantmail.com> 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?
>
>The 8031/8051 architecture or compatible MCUs are still being used.
>When I was at KODAK it was used in a couple of different parts of a
>minilab system for controlling and synchronizing motors. I recently
>interviewed with a avionics company that uses it for digital displays
>in the cockpit of the plane (it is easy to get certfied for the FAA).
>
>Don't write it off yet...

There are some 500 variants based on over 40 different cores. Whilst it
is relatively easy to move C it will be a real dog to moves assembler.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/