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


Groups > comp.arch.embedded > #31193

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

From Don Y <blockedofcourse@foo.invalid>
Newsgroups comp.arch.embedded
Subject Re: Why use non-free compilers (Keil, etc) for architectures supported by SDCC?
Date 2022-09-05 10:32 -0700
Organization A noiseless patient Spider
Message-ID <tf5bsg$3ktct$1@dont-email.me> (permalink)
References <tb8q43$ftri$1@solani.org> <tf54sg$tamn$1@solani.org>

Show all headers | View raw


On 9/5/2022 8:33 AM, Philipp Klaus Krause wrote:
> Thanks for all the replies, here and elsewhere. Since by now, further ones are 
> arriving very slowly only, I'd like to give a quick summary.
> 
> I'll quote just one reply in full, since in just a few lines it illustrates the 
> main points:
> 
> "In my case the customer requested SDCC based project but it failed to
> compile into the small flash size. Debugging was quite difficult. Using
> the Simplicity Studio and Keil Compiler pairing made the code small
> enough to fit into the device and made debugging much easier."
> 
> The 3 most-cited reasons to not use SDCC were:
> 
> * Lack of efficiency of the code generated by SDCC.
> * Better debug support and integration in non-free toolchains.
> * Availability of paid support for non-free compilers.

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.

To that end, the biggest win was vendor responsiveness; knowing
that reporting a bug will result in prompt attention to fix *that*
bug (so I don't have to explore alternative ways of writing the code
to avoid triggering it -- and then leaving a "FIXME" to remind myself
to restore the code to its "correct" form once the compiler is fixed.

When I was doing small processors (early 80's thru 90's), I developed
relationships with a few vendors that let me get overnight turnaround
on bug reports.  In addition to the quick response, I *knew* that
the changes in the tools were only oriented towards my reported bug;
I didn't have to worry about some "major rewrite" that likely introduced
NEW bugs, elsewhere!

[I abandoned MS's tools when I reported a bug -- a pointer to a member
function -- and was offered a completely new version of the compiler,
"for free" (what, so I can debug THIS compiler, too??)]

Unfortunately (for you, supporting a product), the only way to get that
sort of responsiveness is to make "support" your full-time job.  <frown>

The other big win I found in tools of that era was how well the "under
the hood" aspects of the code generator and support routines were
documented.  As I would have to modify the generated code to exist in
a multitasking environment, I wanted to know where helper routines
stored any static data on which they relied.  Or, rewrite standard
libraries to support reentrancy.  Or, hook the debugger so I could
see *a* task's evolving state regardless of the actions of other tasks
(this isn't always trivial)

[The devices I used were unlike current offerings in that they didn't require
large "vendor/manufacturer libraries" to implement basic functionality
of on-chip components]

> In my opinion, the best way forward from here to make SDCC more competitive vs. 
> non-free compilers is:
> 
> 0) Improve machine-independent optimizations
> 1) Improve machine-dependent optimizations for mcs51
> 2) Improve debug support and integration
> 3) Find and fix bugs

If "uptake" is your goal, you might focus on just a single processor (8051
family seems a common application) and be known for how well you address
*that* segment of the market -- rather than trying to bring the quality
of all code generators up simultaneously.

Good luck!

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