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 10:59:59 +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="24605"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19BjoCCDURYphS9pKshVAJtjkOkjmOjv7g=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:Sk1SHc4UFajMy/t+e70y6/bII1c= sha1:TpHtScmWxILkdy50XMaj0AozS0A= Xref: feeder.eternal-september.org comp.lang.ada:49162 Date: 2017-11-26T10:59:59+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