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!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: what does your Ada + hardware look like ? Date: Wed, 07 Oct 2015 15:21:48 +0100 Organization: A noiseless patient Spider Message-ID: References: <57249af6-7148-46c4-8547-4e803526eb46@googlegroups.com> <6yxmfz7olgap$.11tccqb9hkwdq.dlg@40tude.net> <4c54c2a9-050c-41ba-82ef-8bedc1eb3416@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="82b7f55adeea1ed21a93abb5e24a046f"; logging-data="9635"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18s3sICJRlnisbZZaaMMxo7cTV2c8Y03D0=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:hMpSY3QCm+KXEHziAJu3xXvWjTs= sha1:c7lvKCRdcNr61hdnco1PgJr/r7M= Xref: news.eternal-september.org comp.lang.ada:27930 Date: 2015-10-07T15:21:48+01:00 List-Id: halfmaddad@gmail.com writes: > Do you run with an OS ? I know we can run without one but then we lose > tasking, nested subprograms and exception handling, no? Not at all. The pure-GPL AdaCore offering for Cortex-M{3,4,7} comes with a 'full' version that includes exception handling (but not Ada.Containers); the 'small footprint' version doesn't have exception handling (and obviously other features, can't recall what). I have an RTS[1] which currently targets Cortex-M{4,3} (STM32F429I, Arduino Due), without exception handling but wth some Containers, based on FreeRTOS. The Arduino port has 13 board-specific files (startup and interrupts, mainly). All the above use Ravenscar tasking[2]. > I was wondering about using SPI with a GPIO card but I have not done > this before. I know there are also USB-GPIO adapters. You could do a lot worse than the RPi as a controller. I made an I2C interface[3], particularly for the MCP23017 I/O multiplexer. I never got round to simulating interrupts (which you'd do via /proc, I think). I found the Pi didn't offer enough of a challenge, because it runs Debian (Raspbian) and Ada "just works". [1] http://sourceforge.net/projects/cortex-gnat-rts/ [2] http://www.ada-auth.org/standards/12rm/html/RM-D-13.html [3] https://sourceforge.net/projects/raspi-i2c-ada/