From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,3025dd6d917b499c X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,UTF8 Received: by 10.216.202.93 with SMTP id c71mr805053weo.3.1350352587678; Mon, 15 Oct 2012 18:56:27 -0700 (PDT) Path: q10ni65138160wif.0!nntp.google.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!216.196.110.144.MISMATCH!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news.panservice.it!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: Ada, the best language with the not-so-best tool chain Date: Mon, 08 Oct 2012 23:28:32 +0200 Organization: A noiseless patient Spider Message-ID: <877gr0hcvz.fsf@ludovic-brenta.org> References: <38af7fb8-b0a4-4a31-87aa-b7b698cc89c3@googlegroups.com> <3ca0ffd0-1764-484b-8fab-17c0d2dd9463@googlegroups.com> <1f645050-cf4c-40bf-a797-9687b69e4a54@googlegroups.com> <18ats2960nsvm$.kfufsnul13aq$.dlg@40tude.net> <5072c9ae$0$6562$9b4e6d93@newsspool4.arcor-online.net> <4keoa6epdxt7.1nnwxy7v7ar90.dlg@40tude.net> <5072dc68$0$6554$9b4e6d93@newsspool4.arcor-online.net> <1f7cmfp1l65w1.1deog8cfxbs0u$.dlg@40tude.net> <5072e37a$0$6556$9b4e6d93@newsspool4.arcor-online.net> Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="fcfbc60f1d355e635eb37b0790e70ef9"; logging-data="31625"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19WXCAzg2HlL+GYOcpMK4iF" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) Cancel-Lock: sha1:NVYtTnrXDH/qztupAEPaHI0+IZM= sha1:3LIlQcGBuMyPJsheTSVq97lPtO8= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Date: 2012-10-08T23:28:32+02:00 List-Id: 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.