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


Groups > comp.arch.embedded > #28376

Re: Makefile or not?

From Grant Edwards <invalid@invalid.invalid>
Newsgroups comp.arch.embedded
Subject Re: Makefile or not?
Date 2018-12-03 23:19 +0000
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <pu4dlv$d8a$1@reader1.panix.com> (permalink)
References <pu2orv$702$1@dont-email.me> <pu3i71$o79$1@reader1.panix.com> <xn5zwal9bv.fsf@delorie.com> <pu40ki$iis$1@reader1.panix.com> <b8iND.1176491$RN2.920681@fx40.iad>

Show all headers | View raw


On 2018-12-03, Clifford Heath <no.spam@please.net> wrote:
> On 4/12/18 6:36 am, Grant Edwards wrote:
>
>> Never, ever, use any software written or provided by the silicon
>> vendor.  Everytime I've failed to obey that rule, I've regretted it.
>
> [Difficult to apply that rule for an FPGA (except some Lattice parts).]

True

> Also, ARM seems to require that its licensee support CMSIS. This truly 
> excellent idea seems to be terribly poorly thought-out and implemented.

You're putting that mildly.  I recently development some firmware for
an NXP KL03 (Cortex-M0) part.  It's a tiny part with something like
8KB of flash and a coule hundred bytes of RAM.  Of course NXP provides
IDE based "sample apps" that take up a gigabyte of disk space and
includes CMSIS (which itself is hundreds (if not thousands) of files
which define APIs for all of the peripherals that comprise layer upon
layer of macros calling macros calling functions calling functions
full of other macros calling macros.  Trying to build even an empty
main() using the CMSIS libraries resulted in executable images several
times larger than available flash.

I finally gave up and tossed out everything except a couple of the
lowest level include files that defined register addresses for the
peripherals I cared about. Then I wrote my own functions to access
peripherals and a Makefile to build the app.

In the end, I cursed myself for forgetting the rule of "no silicon
vendor software".  It would have been faster to start with nothing and
begin by typing register addresses from the user manual into a .h
file.

> You get header files that pollute your program namespace with
> hundreds or thousands of symbols and macros with unintelligible
> names, many of which are manufacturer-specific not even
> CMSIS-related.

Yep, CMSIS is spectacularly, mind-numingly awful.

> I know there's opencm3 which seems to be better, but still...
>
> Standard APIs like CMSIS need *very* disciplined design and rigorous 
> management to minimise namespace pollution. Unfortunately we don't seem 
> to be there, yet, unless I've missed something major.
>
> How do people handle this?

Lots of teeth-gritting and quiet swearing.

-- 
Grant Edwards               grant.b.edwards        Yow! Mr and Mrs PED, can I
                                  at               borrow 26.7% of the RAYON
                              gmail.com            TEXTILE production of the
                                                   INDONESIAN archipelago?

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


Thread

Makefile or not? pozz <pozzugno@gmail.com> - 2018-12-03 09:18 +0100
  Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-03 11:06 +0100
    Re: Makefile or not? pozz <pozzugno@gmail.com> - 2018-12-03 12:13 +0100
      Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-03 12:57 +0100
        Re: Makefile or not? pozz <pozzugno@gmail.com> - 2018-12-03 23:29 +0100
    Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-03 15:39 +0000
      Re: Makefile or not? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2018-12-03 15:49 +0000
        Re: Makefile or not? Dave Nadler <drn@nadler.com> - 2018-12-03 09:41 -0800
        Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-03 21:31 +0100
  Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-03 15:30 +0000
    Re: Makefile or not? DJ Delorie <dj@delorie.com> - 2018-12-03 14:05 -0500
      Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-03 19:36 +0000
        Re: Makefile or not? Clifford Heath <no.spam@please.net> - 2018-12-04 09:30 +1100
          Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-03 23:19 +0000
            Re: Makefile or not? raimond.dragomir@gmail.com - 2018-12-03 22:02 -0800
            Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-04 12:18 +0100
              Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-04 15:46 +0000
                Re: Makefile or not? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2018-12-04 20:22 +0000
          Re: Makefile or not? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2018-12-03 15:38 -0800
        Re: Makefile or not? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2018-12-04 21:25 -0500
          Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-05 03:22 +0000
          Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-05 09:06 +0100
        Re: Makefile or not? George Neuner <gneuner2@comcast.net> - 2018-12-05 11:37 -0500
        Re: Makefile or not? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2018-12-05 15:37 -0500
          Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-05 22:34 +0000
            Re: Makefile or not? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2018-12-05 14:56 -0800
              Re: Makefile or not? Grant Edwards <invalid@invalid.invalid> - 2018-12-05 23:50 +0000
                Re: Makefile or not? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2018-12-05 16:27 -0800
                Re: Makefile or not? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2018-12-05 17:47 -0800
                Re: Makefile or not? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2018-12-06 08:12 +0000
                Re: Makefile or not? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2018-12-06 10:17 -0800
                Re: Makefile or not? gtwrek@sonic.net (gtwrek) - 2018-12-06 18:35 +0000
                Re: Makefile or not? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2018-12-06 18:39 +0000
            Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-06 09:22 +0100
            Re: Makefile or not? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2018-12-06 18:46 +0000
              Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-06 21:51 +0100
                Re: Makefile or not? Dave Nadler <drn@nadler.com> - 2018-12-06 13:47 -0800
                Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-06 22:48 +0100
                Re: Makefile or not? Dave Nadler <drn@nadler.com> - 2018-12-06 14:01 -0800
                Re: Makefile or not? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2018-12-07 14:54 +0200
    Re: Makefile or not? David Brown <david.brown@hesbynett.no> - 2018-12-03 21:34 +0100
  Re: Makefile or not? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2018-12-03 11:06 -0500
    Re: Makefile or not? Jacob Sparre Andersen <jacob@jacob-sparre.dk> - 2018-12-03 22:05 +0100
      Re: Makefile or not? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2018-12-04 21:19 -0500
  Re: Makefile or not? queequeg@trust.no1 (Queequeg) - 2018-12-07 13:45 +0000

csiph-web