Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #31196

Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC?

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.arch.embedded
Subject Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC?
Date 2022-09-06 11:09 +0200
Organization A noiseless patient Spider
Message-ID <tf72ok$3sc8f$1@dont-email.me> (permalink)
References <tb8q43$ftri$1@solani.org> <tf54sg$tamn$1@solani.org> <tf5bsg$3ktct$1@dont-email.me> <tf6sfs$t06u$1@solani.org>

Show all headers | View raw


On 06/09/2022 09:22, Philipp Klaus Krause wrote:
> Am 05.09.22 um 19:32 schrieb Don Y:
>>
>> I've rarely worried about code *size* and only seldom worried about
>> efficiency (execution speed).
>>
>> But, I *do* get annoyed if the generated code doesn't do what it
>> was supposed to do!  Or, does it with unexpected side-effects, etc.
> 
> However, the replies so far show that code size, not wrong code is the 
> problem. IMO, that is not surprising for mcs51: The mcs51 port in SDCC 
> is old, bug reports come in rarely, and in recnet years, most work on 
> mcs51 has been bugfixes. IMO, the mcs51 port is very stable. Improving 
> code generation always comes with the risk of introducing bugs. Still, 
> if time allows, it might be worth it (and I hope that most of the new 
> bugs will be found before a release).
> 
<snip>
> 
> Well, I asked for reasons why people are using non-free compilers 
> instead of SDCC. Many of the replies were indeed for mcs51. IMO, this is 
> because the mcs51 is a common µC where SDCC has fallen behind vs. the 
> non-free compilers.
> SDCC has other ports, that got far less replies, because the 
> architectures are less common  (e.g. ds390) or because SDCC is already 
> the leading compiler for them (e.g. stm8).
> 0)-3) were chosen is a way that I hope will make SDCC more competitive 
> for mcs51, while not neglecting other ports.
> 
> 

One important question, which I certainly can't answer myself, is 
whether this is worth the effort.

For the most part, 8-bit microcontrollers are a dying breed.  The only 
real exception is the AVR, which is a very different kind of processor 
and well supported by gcc (and maybe clang/llvm?).

It used to be the case that whenever a chip manufacturer wanted a small 
processor in their device - radio chip, complex analogue converter, 
etc., - they put in an 8051.  Now they put in an ARM Cortex-M device.

So these kinds of brain-dead 8-bit CISC cores are almost only for legacy 
use - when a company already has so much time and money invested in 
hardware or software that is tied tightly to such cores, that they 
cannot easily change to something from this century.  How many of these 
users would switch toolchains, even if SDCC were made hugely better than 
whatever they have now?  I'd expect almost none, they'd stick to what 
they have - most would not even upgrade to newer versions of the same 
tools that they already use.

I would expect existing SDCC users to be more interested in upgrading, 
and they would always be happy with better code generation.  But I do 
not imagine there are many /new/ users - either people starting working 
on 8051 projects today, or moving from commercial toolchains.

It's great that there are still people interested in improving this 
venerable toolchain.  But when you start talking about a person-year of 
work, that's a lot of effort - it is not going to happen unless there is 
a clear justification for the cost.  (Maybe it is possible to make this 
a student project for someone studying compiler design?)

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Philipp Klaus Krause <pkk@spth.de> - 2022-07-20 13:49 +0200
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2022-07-20 14:23 +0000
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-07-20 18:33 +0200
    Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2022-07-20 15:55 -0400
      Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-07-21 12:58 +0200
        Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Grant Edwards <invalid@invalid.invalid> - 2022-07-21 15:05 +0000
          Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2022-07-21 13:18 -0400
            Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Clifford Heath <no_spam@please.net> - 2022-07-22 13:00 +1000
              Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2022-07-22 09:27 -0400
              Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? boB <boB@K7IQ.com> - 2022-08-25 19:14 -0700
                Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? chris <chris-nospam@tridac.net> - 2022-08-26 17:17 +0100
                Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-08-26 18:45 +0200
    Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Paul Rubin <no.email@nospam.invalid> - 2022-07-21 11:10 -0700
      Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Niklas Holsti <niklas.holsti@tidorum.invalid> - 2022-07-21 21:56 +0300
      Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-07-21 20:56 +0200
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? chris <chris-nospam@tridac.net> - 2022-07-22 12:04 +0100
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Don Y <blockedofcourse@foo.invalid> - 2022-09-01 23:25 -0700
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Michael Schwingen <news-1513678000@discworld.dascon.de> - 2022-09-04 20:39 +0000
  Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Philipp Klaus Krause <pkk@spth.de> - 2022-09-05 17:33 +0200
    Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Don Y <blockedofcourse@foo.invalid> - 2022-09-05 10:32 -0700
      Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Philipp Klaus Krause <pkk@spth.de> - 2022-09-06 09:22 +0200
        Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Don Y <blockedofcourse@foo.invalid> - 2022-09-06 01:59 -0700
          Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Philipp Klaus Krause <pkk@spth.de> - 2022-09-06 12:12 +0200
            Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Don Y <blockedofcourse@foo.invalid> - 2022-09-06 04:26 -0700
        Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-09-06 11:09 +0200
          Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? Philipp Klaus Krause <pkk@spth.de> - 2022-09-06 12:41 +0200
            Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC? David Brown <david.brown@hesbynett.no> - 2022-09-06 15:00 +0200

csiph-web