From: hamilton on
On 4/19/2010 11:48 AM, Rumpelstiltskin wrote:
>
> "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 the Keil web site:

The Infineon SAB 80C537 is an 8051 based CMOS controller with 21ch PWM,
8 DPTRs, WDT, 12ch ADC/8, Mul./Div Unit, 68 I/O lines, 4
Timers/Counters, 14 Interrupts/4 priority levels ROM-less, 256 Bytes
On-chip RAM.


Talk about job security !!!

;-)

hamilton
From: Chris H on
In message <4bcc6082$0$45179$afc38c87(a)read01.usenet4all.se>, Smith
<smith(a)donotwantmail.com> writes
>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).

I know I have some here...

>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.

But that may be the cheaper option. Yes, I have done it before.

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

You can't do it. Simple as that. There are some 50+ 8051 cores. All
different. From the standard 12 to 1 cycle systems.

On top of that they had different peripherals. So once you get your
core, tune it to be the same as the one Siemens used you then have to
get all the peripherals and get them to be have exactly as Siemens did.
Then bolt them together.

The faster and cheaper option by far is to reverse engineer the code.

Why do you need to run this firmware? If you need to do 100-200 units to
do the same thing go and get a cheap modern core with the same
peripheral set. And start again.

This will be faster, more reliable and cheaper.

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



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