On Apr 19, 7:43=A0am, "Smith" <sm...@donotwantmail.com> wrote:> I need about 100-200 parts. > > "Stefan Brr=F6ring" <stefan...@broering.de> wrote in message > > news:4bcc68c8$0$3291$8e6e7893@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
Need to run old 8051 firmware
Started by ●April 19, 2010
Reply by ●April 19, 20102010-04-19
Reply by ●April 19, 20102010-04-19
"Smith" <smith@donotwantmail.com> wrote in message news:4bcc6082$0$45179$afc38c87@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.
Reply by ●April 19, 20102010-04-19
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@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.. ********************************************************************
Reply by ●April 19, 20102010-04-19
On 4/19/2010 11:48 AM, Rumpelstiltskin wrote:> > "Smith" <smith@donotwantmail.com> wrote in message > news:4bcc6082$0$45179$afc38c87@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
Reply by ●April 19, 20102010-04-19
In message <4bcc6082$0$45179$afc38c87@read01.usenet4all.se>, Smith <smith@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 /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply by ●April 19, 20102010-04-19
On Apr 20, 1:53=A0am, "Smith" <sm...@donotwantmail.com> wrote:> Hello all > > I need to run an old firmware for a Siemens SAB 80C537 microcontroller un=it> (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
Reply by ●April 20, 20102010-04-20
On Apr 19, 9:53=A0am, "Smith" <sm...@donotwantmail.com> wrote:> Hello all > > I need to run an old firmware for a Siemens SAB 80C537 microcontroller un=it> (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
Reply by ●April 21, 20102010-04-21
In message <1771ba54-e12f-44ba-af73-1cebb0cb2182@11g2000yqr.googlegroups .com>, Derek Simmons <dereks314@gmail.com> writes>On Apr 19, 9:53�am, "Smith" <sm...@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 /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply by ●April 21, 20102010-04-21
Chris H schrieb:>>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.It does depend on programming /style/ more than on programming /language/. If the device-related code (peripherals, special functions) is spread over all sources, with inline access/instructions and not commented, it's *much* work regardless of language. If the code is well structured and commented, with modules dedicated to clearly defined tasks, it's not really a problem - also regardless of language. Tilmann
Reply by ●April 21, 20102010-04-21
In message <hqmfbt$g77$1@news.eternal-september.org>, Tilmann Reh <usenet2007nospam@autometer.de> writes>Chris H schrieb: > >>>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. > >It does depend on programming /style/ more than on programming /language/. > >If the device-related code (peripherals, special functions) is spread >over all sources, with inline access/instructions and not commented, >it's *much* work regardless of language. > >If the code is well structured and commented, with modules dedicated to >clearly defined tasks, it's not really a problem - also regardless of >language.For a high level language I would agree but we are discussing "several thousand rows of assembly language". For most 8051 code the C will be the same for the core and it is only the peripherals that are different. Most of the other stuff like memory allocation and SFR's etc will be handled by the compiler. A recompile with a different 8051 target selected will solve many of the problems. With Assembler you can't do that. -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/