Re: Newbie assistance for Atmel at89c2051 project

From: Terry (tjporter_at_gronk.porter.net)
Date: 01/02/04


Date: Fri, 2 Jan 2004 19:03:51 +1100

Chris Hills threw some tea leaves on the floor
 and this is what they wrote:

> In article <orjec1-vq8.ln1@gronk.porter.net>, Terry
><tjporter@gronk.porter.net> writes
>>
>>A blanket "DO NOT use the SDCC compiler" is definitely advice worth
>>ignoring because in many situations SDCC is superior to commercial
>>applications, and cost is one of them.
>>The fact that Keil does not run under Linux/*Bsd is another.
>
> Any technical reasons?

Can you please be more specific ?

>
>>You have the source code with SDCC, and in some cases this is a huge
>>benefit.
>
> Only if you are a compiler writer. Not the same thing as a programmer.

How about if you use OSX and want to use SDCC ?

The source is *not* just for compiler writers.

>
>>SDCC will always be available, and for Free,
>
> This is not guaranteed, neither are bug fixes.

Nothing is guaranteed, except death and taxes.

>
>> how many people have been
>>burned when closed source products are no longer available as a result
>>of a takeover etc ?
>
> Likewise with free products.

What kind of "free products" are you talking about ?

I'm specifically referring to "Free" ie software licensed under the
GPL.

> BTW any news on SCO "owning" Linux and
> C++?

Yeah, the court in Utah has ordered SCO to produce the discovery
information required by IBM in the current lawsuit. They had 30 days to
produce *evidence* of their claims in detail, something they have failed
to to so far.

In about 2 weeks we will see if SCO can actually *prove* their claims
that IBM put some IBM developed code in GNU/Linux as disallowed by the
contract they have with SCO regarding their legacy UNIX source code.

For those that don't know, the SCO lawsuit is with IBM, it has nothing
to do with GNU/Linux.

... SCO extortion mode on ...
Oh by the way Chris, I own all the Keil source code, I don't intend to
prove it to anyone (because my code is secret), and if you don't want
to be sued as a Keil end user, you had better pay me $800 right away.
Or else.
.... SCO extortion mode off ....

>
>>It's a complex issue, and I'm sure that products like Keil are fine,
>
> Well professionals use them on safety critical things.

I'm sure they do. I'm sure that hobbyists use them to generate code for
puppy dog door openers and led blinkers too.

Perhaps while you're on this "safety critical" rant, you'd care to
paste here where Keil state that their products are guaranteed for use
in safety critical applications ?

Nuclear reactor controllers perhaps?
How about aircraft flight systems ?

Now I have absolutely *nothing* against Keil, it's another proprietary
product and I'm sure that Keil provide value commensurate to the cost,
for it's users.

However making Keil out to be something it's not, and then comparing
SDCC to that thing that Keil is not, is just a little erroneous to
my way of thinking.

Remember the original poster of this thread said, "FreeBsd" and "no
money". SDCC satisfies his criteria perfectly.

The term "life critical was brought here by you.

>
>>however it's different horses for courses and one product doesn't fit
>>all.
>
> Are there any *technical* reasons why SDCC is a better compiler?

SDCC and Keil are quite different for some reasons that you may not be
aware off, I have never claimed that SDCC is "better" than Keil, but we
can look at one instance where SDCC has an interesting feature, and
compare it to Keil if you like.

Simulation.
SDCC can run two or more instances of it's simulator on the same Linux
box, with each instance communicating with the other via pipes and
psuedo serial comms.

Each instance can be monitored, and values altered etc, the serial
comms can also be monitored to see that both simulated micros are doing
what's required.

Perhaps you could illustrate how Keil performs the same task on the
same PC under Windows ?

>
> Free, open source and the ability to run on a particular OS have no
> bearing on how good a compiler is.

I beg to differ, as I believe that all these aspects are important.

>
> Accuracy,

Pleas elaborate ?

> optimisation,

Opts used differ because requirements differ. Do you want smaller code,
or faster code ? Do you want to simulate the code and have some idea
what you're looking at ?

> compactness of code,

Relates to the opts used.

> support for variants

The OP said "AT89C2051" and SDCC works fine with this variant, I know I
have code produced by SDDC running on one.

> (there
> are over 500 different 8051's using about 30 different cores including
> those with 24 bit addressing, contiguous memory greater than 64K and
> maths co-processors. etc

We all know this Chris, the 8051 family has the most variation and the
most diverse range of manufacturers of any microprocessor around, and
that's why it's so popular.

However the OP is only using one fairly standard micro the Atmel
AT89C2051, and SDCC will produce C code for that no problems.

SDCC fits the OPS stated requirements, namely zero cost and to run on
his FreeBsd system.

In the light of these requirements I believe that SDCC is the better choice.

Had the OP said "Lots of money, Windows only" I would not be
contributing to this thread.

-- 
              Kind Regards from Terry 
    My Desktop is powered by GNU/LinuX, Gentoo-1.4_rc2   
         New Homepage: http://milkstone.d2.net.au/          
 ** Linux Registration Number: 103931,  http://counter.li.org **


Relevant Pages

  • Re: Newbie assistance for Atmel at89c2051 project
    ... >> Just try both the SDCC and the Keil and compare them. ... It is probably the best 8051 compiler on the planet. ... >> would not suggest using the SDCC on anything other than hobby use. ...
    (comp.arch.embedded)
  • Re: Newbie assistance for Atmel at89c2051 project
    ... and sophistication of the Keil compiler. ... >> I am sure SDCC developers would be happy to fix bugs expediently but I ... I can see that Keil has truly cornered the market for those ...
    (comp.arch.embedded)
  • Re: C Compiler for 8051 microcontroler
    ... > wasn't aware Keil would accept that silently. ... auto I couldn't see a problem accessing the buffer from within the called ... the type of memory space is recorded in the third byte. ... SDCC code. ...
    (comp.arch.embedded)
  • Re: LPC900/80C51 Compiler Toolchain
    ... SDCC (open-source) ... Keil and IAR are very much more advanced than the rest. ... Infact I have known the Keil eval compiler to get programs to fit ant ... The Keil compiler will handle this correctly. ...
    (comp.arch.embedded)
  • Re: Nexys by Digilen xbd file
    ... The source code is really quite simple. ... working iwth sdcc, demoboard/api and demoboard/firmware are all you ... Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org ...
    (comp.arch.fpga)