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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Getting started with embedded programming Date: Sun, 26 Nov 2017 11:00:28 +0000 Organization: A noiseless patient Spider Message-ID: References: <2dc79fcf-9726-4347-83e1-bcd0c4019c2f@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="3882a0aa8cc3486cc472a0dacd57e044"; logging-data="25277"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18bCdM4XhNPlZwqae0eU02OHLM/s2cyy0I=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:14NGSyEGHQaJ6rbWdm8ybij0nyM= sha1:scLI81Ust3EEFG3e0nbMuyAb4EM= Xref: feeder.eternal-september.org comp.lang.ada:49163 Date: 2017-11-26T11:00:28+00:00 List-Id: Andrew Shvets writes: > I'd like to get started with embedded programming next year. What > would you recommend for hardware as well as OS? I'm looking to spend > no more than $50 for the hardware and this will be used for hobby > projects only. > > Is Raspberry PI my only option or is there something else that you > have tried in the past? Assuming you want to use Ada -- For hardware, I know (some of) the STMicroelectronics range and Arduino Due, all based on 32-bit ARM Cortex-M. I doubt any of these are going to run Linux, though there are some RTOSs (FreeRTOS, Nuttx(?)). For Ada you can write for the bare metal (e.g. Maciej's articles[1]) - which are an excellent start, anyway - or for something higher-level try a Ravenscar-based implementation (that's with a subset of Ada tasking designed for small boards/higher integrity). AdaCore's GNAT GPL 2017 for arm-elf supports these boards: crazyflie lm3s rpi2 stm32f4 (this is the stm32f407disco board) stm32f429disco stm32f469disco stm32f746disco stm32f769disco tms570 zynq7000 and there's the Ada Drivers Library[2]. I've been working on Cortex GNAT RTS[3], which is based on FreeRTOS - so far it only supports arduino-due and stm32f4, stm32f429disco from the above list. Its USP is that it's released as GPL with the GCC Runtime Library Exception[4], so that you can release proprietary binaries using it. Not that I expect this will be much of an inducement for you! [1] http://www.inspirel.com/articles/Ada_On_Cortex.html [2] https://github.com/AdaCore/Ada_Drivers_Library [3] https://github.com/simonjwright/cortex-gnat-rts [4] https://www.gnu.org/licenses/gcc-exception-3.1.en.html