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!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Getting started with bare-board development Date: Mon, 14 Nov 2016 18:17:52 +0000 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="97525e62f5a525fcecc9984747a041c8"; logging-data="6686"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+R91eO6O8kYIP8VRpjikIRiENdkVptPCE=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (darwin) Cancel-Lock: sha1:M2cBcD5x8isdhKKCzzJIWd+TOuQ= sha1:YZ3ycycGeSGZgFPsx6M1kp02U7w= Xref: news.eternal-september.org comp.lang.ada:32313 Date: 2016-11-14T18:17:52+00:00 List-Id: Adam Jensen writes: > * How does one develop and verify a Board Support Package (device > drivers, bootloader, etc.)? The Cortex-M4 boards developed for e.g.PixRacer[1], based on STM32F427, support DFU[2] and JTAG. Starting from AdaCore's STM32F429 offering, only a very few packages need to be modified for the BSP: setting up the board's clocks to use a 24 MHz crystal rather than 8 MHz, and terminal i/o via UART7 rather than USART1. [1] https://pixhawk.org/modules/pixracer [2] https://en.wikipedia.org/wiki/USB#Device_Firmware_Upgrade > * Do the various typical embedded platform profiles (e.g., Ravenscar) > require any Run-Time System implementation or extension? Yes, indeed! you can see AdaCore's implementations at [3]. [3] https://github.com/AdaCore/embedded-runtimes > * Is the BSP and RTS the kind of software that might/should be > implemented in Spark? AdaCore have certainly added pre- and post-conditions on a couple of the tasking RTS components. My feeling is that it would be quite hard to retrofit SPARK to their RTS. This may be conditioned by trying to use SPARK to prove exception freedom for device drivers - but things like volatility, pointers and time would be much better addressed in a context that had budget for training and support.