comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Ada, the best language with the not-so-best tool chain
Date: Mon, 08 Oct 2012 23:28:32 +0200
Date: 2012-10-08T23:28:32+02:00	[thread overview]
Message-ID: <877gr0hcvz.fsf@ludovic-brenta.org> (raw)
In-Reply-To: fd2f8ee2-0ad6-49df-842b-2a6954970fa1@googlegroups.com

Patrick writes on comp.lang.ada:
> "Why are people so obsessed with ARM? You could have a decent
> Atom-based board for same money. AMD Geode LX could be an alternative.
>
> Anyway, the thingy should run Linux. I believe there was a GNAT for
> ARM somewhere. Maybe others could point out its status. "
>
> Yes but my main point was the lack of GPIO, please comment on this

The Raspberry Pi has, IIRC, 17 GPIO ports.  See it in action here:

http://www.youtube.com/watch?v=RuYLTudcOaM

For what it's worth, here is my opinion on your problem as you describe
it.

* bare-metal programming is _very_ difficult in any language.

* there are so many options to choose from that none is "standard"
  enough to gather a community around it; whatever "bare metal" you
  chose, you'll be alone or almost alone with it.  The various
  processors and µcontrollers are just one aspect of this diversity; at
  the bare metal level, each and every other device on the board
  (e.g. Flash storage, USB, GPIO, whatnot) has its own peculiar
  programming interface.  That's why GNAT supports so few bare-metal
  targets.

* learning bare-metal programming (especially the most difficult part:
  the bootstrapping process) can distract you from building software
  that works.

* I think you should consider basing your development on the Raspberry
  Pi.  It is inexpensive and has the necessary GPIO ports.  It is
  powerful enough that you can program natively on it, avoiding the
  pesky issues of cross-compiling and programming in an environment with
  no memory protection or filesystem.  Yes, that means you'll run
  GNU/Linux on it.  Why should that be a problem?

* once you have built *software* that satisfies your needs on the
  Raspberry Pi, you can *then* look at porting it to an even smaller
  device.  Then you will tackle the difficult bootstrapping and
  toolchain problems.

* Nobody has yet mentioned the Lego Mindstorms, which AdaCore (with
  their staffing and expertise) have programmed to the bare metal. They
  provide a multitasking kernel and a cross-compiler, for free!  If that
  particular target doesn't meet your hardware requirements, you can at
  least base your hypothetical bare-metal toolchain on it.

Last thing: I think your quest is so noble that it deserves
encouragement and help; but you are getting distracted by hardware and
toolchain problems that you imagine and do not fully understand; I think
you should rather spend your time solving the problem that you do
understand - helping children with disabilities to communicate.  It
doesn't matter if your first device has wires all over it, so long as it
works.  If you can demonstrte such a device, you'll be in a position to
attract funding to develop dedicated hardware and bare-metal software.

-- 
Ludovic Brenta.



  parent reply	other threads:[~2012-10-16  1:56 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-07 17:34 Ada, the best language with the not-so-best tool chain Patrick
2012-10-07 18:43 ` Dmitry A. Kazakov
2012-10-07 22:35   ` Simon Clubley
2012-10-08  7:35     ` Dmitry A. Kazakov
2012-10-08 12:10       ` The Ada community's attitude, was: " Simon Clubley
2012-10-09  9:20     ` pavel.klinkovsky
2012-10-12 12:09     ` Lucretia
2012-10-12 12:47       ` Simon Clubley
2012-10-12 12:59         ` Lucretia
2012-10-16 20:05           ` Simon Clubley
2012-10-16 20:10             ` phone.john.kern
2012-10-18 14:14             ` Lucretia
2012-10-18 17:05               ` Simon Clubley
2012-10-12 13:28       ` kalvin.news
2012-10-11  4:04   ` Yannick Duchêne (Hibou57)
2012-10-07 18:49 ` Shark8
2012-10-07 20:21   ` Patrick
2012-10-08  7:31     ` Dmitry A. Kazakov
2012-10-08 11:28       ` Simon Clubley
2012-10-08 12:49         ` Dmitry A. Kazakov
2012-10-08 12:40       ` Georg Bauhaus
2012-10-08 13:00         ` Dmitry A. Kazakov
2012-10-08 13:57           ` Patrick
2012-10-08 14:02             ` Patrick
2012-10-08 19:53             ` Rego, P.
2012-10-08 20:27             ` Niklas Holsti
2012-10-08 14:00           ` Georg Bauhaus
2012-10-08 14:22             ` Dmitry A. Kazakov
2012-10-08 14:30               ` Georg Bauhaus
2012-10-08 16:12                 ` Dmitry A. Kazakov
2012-10-08 16:54                   ` Patrick
2012-10-08 18:22                     ` Dmitry A. Kazakov
2012-10-08 18:29                       ` Patrick
2012-10-08 19:27                         ` Dmitry A. Kazakov
2012-10-08 20:44                           ` Simon Clubley
2012-10-09  9:13                             ` Dmitry A. Kazakov
2012-10-09  9:59                               ` Georg Bauhaus
2012-10-09 12:16                                 ` Dmitry A. Kazakov
2012-10-09 15:06                                   ` Georg Bauhaus
2012-10-09 16:53                                     ` Dmitry A. Kazakov
2012-10-18 21:53                             ` Randy Brukardt
2012-10-19 11:23                               ` Mark Lorenzen
2012-10-19 14:09                               ` Patrick
2012-10-19 14:47                                 ` Yannick Duchêne (Hibou57)
2012-10-19 14:56                                   ` Patrick
2012-10-19 15:04                                     ` Vinzent Höfler
2012-10-19 17:30                                     ` Simon Clubley
2012-10-19 18:07                                       ` Yannick Duchêne (Hibou57)
2012-10-19 19:05                                       ` Georg Bauhaus
2012-10-19 19:14                                       ` Jeffrey Carter
2012-10-19 18:24                                     ` Anh Vo
2012-10-19 18:40                                       ` Adam Beneschan
2012-10-19 21:44                                     ` Jeffrey Carter
2012-10-19 22:28                                     ` Brian Drummond
2012-10-20 10:57                                       ` Yannick Duchêne (Hibou57)
2012-10-20 23:08                                         ` Brian Drummond
2012-10-19 15:38                                 ` Dmitry A. Kazakov
2012-10-19 22:08                                 ` Brian Drummond
2012-10-24  9:56                               ` Paul Rubin
2012-10-24 11:21                                 ` Simon Clubley
2012-10-24 13:13                                   ` kalvin.news
2012-10-24 16:16                                     ` Paul Rubin
2012-10-24 16:27                                       ` Yannick Duchêne (Hibou57)
2012-10-24 16:41                                         ` Paul Rubin
2012-10-24 16:57                                           ` Yannick Duchêne (Hibou57)
2012-10-24 17:36                                             ` Paul Rubin
2012-10-24 17:55                                             ` Niklas Holsti
2012-10-24 21:17                                           ` Brian Drummond
2012-10-24 22:08                                             ` Paul Rubin
     [not found]                                               ` <4dqg885bcf05isnup07a28jrq8lbq5fknd@invalid.netcom.com>
2012-10-24 22:31                                                 ` Paul Rubin
2012-10-25  8:42                                               ` Brian Drummond
2012-10-29 14:51                                   ` mjsilva
2012-10-08 23:04                           ` Patrick
2012-10-08 23:07                           ` Patrick
2012-10-09  8:35                             ` Dmitry A. Kazakov
2012-10-08 21:28                         ` Ludovic Brenta [this message]
2012-10-08 23:58                           ` Patrick
2012-10-09  5:59                           ` Niklas Holsti
2012-10-09  8:02                             ` kalvin.news
2012-10-09  8:06                               ` kalvin.news
2012-10-10  5:56                               ` Stephen Leake
2012-10-10  6:48                                 ` Niklas Holsti
2012-10-10  7:06                                   ` Ludovic Brenta
2012-10-10  8:17                                     ` Niklas Holsti
2012-10-12 12:27                               ` Lucretia
2012-10-12 12:45                                 ` Simon Clubley
2012-10-12 12:58                                   ` Lucretia
2012-10-09  8:10                             ` Brian Drummond
2012-10-10 15:26                               ` Tero Koskinen
2012-11-08  9:36                               ` Jacob Sparre Andersen
2012-11-08 13:52                                 ` Rego, P.
2012-11-08 21:50                                 ` Brian Drummond
2012-11-09  1:24                                 ` Randy Brukardt
2012-11-09 10:16                                   ` Brian Drummond
2012-11-10  8:05                                     ` Randy Brukardt
     [not found]                                       ` <ulat9855qcom15kt7lk68rsidf44uau4q5@invalid.netcom.com>
2012-11-15  1:21                                         ` Randy Brukardt
2012-12-17 16:33                                 ` Brian Drummond
2012-12-17 17:57                                   ` Shark8
2012-12-25  9:29                                   ` Paul Rubin
2012-12-26 10:38                                     ` Brian Drummond
2012-12-25 10:11                                   ` Niklas Holsti
2012-12-26 10:40                                     ` Brian Drummond
2012-10-08 19:17                       ` kalvin.news
2012-10-08 20:16                       ` Simon Clubley
2012-10-09  9:33                         ` Dmitry A. Kazakov
2012-10-09  9:57                           ` kalvin.news
2012-10-09 12:31                             ` Dmitry A. Kazakov
2012-10-09 12:51                               ` kalvin.news
2012-10-09 13:01                                 ` Dmitry A. Kazakov
2012-10-09 12:04                           ` Simon Clubley
2012-10-09 13:18                             ` Dmitry A. Kazakov
2012-10-09 15:53                               ` kalvin.news
2012-10-09 17:08                                 ` Dmitry A. Kazakov
2012-10-09 18:26                                   ` kalvin.news
2012-10-09 20:40                                     ` Dmitry A. Kazakov
2012-10-09 23:23                                   ` Simon Clubley
2012-10-10  7:36                                     ` Dmitry A. Kazakov
2012-10-10 13:13                                       ` Simon Clubley
2012-10-10 13:45                                         ` kalvin.news
2012-10-10 15:44                                         ` Rego, P.
2012-10-10 17:52                                           ` Simon Clubley
2012-10-10 15:40                                       ` Rego, P.
2012-10-10 16:09                                         ` Dmitry A. Kazakov
2012-10-11  9:41                               ` Yannick Duchêne (Hibou57)
2012-10-11 12:01                                 ` Dmitry A. Kazakov
2012-10-09 12:29                           ` Vinzent Hoefler
2012-10-09 12:55                             ` Dmitry A. Kazakov
     [not found]                           ` <hok878l1k7s5i37k8uejv91t82ad41pipg@invalid.netcom.com>
2012-10-09 17:23                             ` Dmitry A. Kazakov
2012-10-11 15:44                           ` mjsilva
2012-10-11 16:20                             ` Dmitry A. Kazakov
2012-10-11 16:55                               ` mjsilva
2012-10-08 20:29                       ` Simon Clubley
2012-10-08 20:49                         ` Simon Clubley
2012-10-11 15:22                       ` mjsilva
2012-10-11 15:52                         ` Yannick Duchêne (Hibou57)
2012-10-11 16:00                           ` Patrick
2012-10-11 16:31                         ` Dmitry A. Kazakov
2012-10-11 16:52                           ` Niklas Holsti
2012-10-16 20:15                         ` phone.john.kern
2012-10-18 22:33                         ` Randy Brukardt
2012-10-18 22:52                           ` Jeffrey Carter
2012-10-18 23:14                             ` Randy Brukardt
2012-10-19  0:46                               ` Jeffrey Carter
2012-10-18 23:58                             ` Yannick Duchêne (Hibou57)
2012-10-19 22:49                           ` Tero Koskinen
2012-10-22 14:25                           ` mjsilva
     [not found]                             ` <be26881c-6662-4830-b86f-34a7d8b25bf4@googlegroups.com>
2012-10-22 15:04                               ` Yannick Duchêne (Hibou57)
2012-10-16 20:08                       ` phone.john.kern
2012-10-08 18:34                     ` Simon Wright
2012-10-08 18:57                       ` Patrick
2012-10-08 20:13             ` Rego, P.
2012-10-07 20:33 ` Niklas Holsti
2012-10-11 16:22   ` mjsilva
2012-10-08 12:02 ` kalvin.news
2012-10-08 20:48   ` Niklas Holsti
2012-10-09  3:03 ` Stephen Leake
2012-10-09  3:24   ` Patrick
2012-10-09  5:44     ` Niklas Holsti
2012-10-10  5:52     ` Stephen Leake
2012-11-08  8:07       ` Jacob Sparre Andersen
2012-11-09 12:29         ` Stephen Leake
2012-11-09 12:56           ` Dmitry A. Kazakov
2012-11-20 21:25         ` Tero Koskinen
2012-11-20 22:15           ` Niklas Holsti
2012-11-21 16:18           ` Lucretia
2012-10-10 11:04 ` kalvin.news
2012-10-11 17:44 ` mjsilva
2012-10-16 20:13   ` phone.john.kern
2012-11-07 14:02 ` Kristoffer Nyborg Gregertsen
2013-01-02  7:01 ` Diogenes
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox