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: STM32F4 GNAT Run Time System - roadmap Date: Tue, 09 Jun 2015 13:02:22 +0100 Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="2c7d8f71a176d2eaa78ec9fbd86e1d4a"; logging-data="30070"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Uv5EK0jfkSpNnOkDktZM4Qg4eBhzQ6XQ=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:prW0I5wytTxdQyOIGK06abKjUj0= sha1:T03R71Z1rW0WDsou3XdtBUtIVBA= Xref: news.eternal-september.org comp.lang.ada:26237 Date: 2015-06-09T13:02:22+01:00 List-Id: Looking for some input on priorities for work. * Standard library packages. * Other MCUs. * Finalization. * ? Standard library packages ------------------------- An obvious omission is the rest of the Ada.Containers.Bounded* packages: Doubly_Linked_Lists Ordered_Maps Hashed_Sets Ordered_Sets Multiway_Trees Synchronized_Queues Priority_Queues Any other nice-to-haves? (I haven't looked at Annex G, might be problematic!) Other MCUs ---------- STM have just released a significant number of affordable Nucleo development kits. The NUCLEO-F091RC has 48 MHz Cortex-M0 core, 256-KB Flash, 32-KB SRAM, which would just-about take my current testbed program; for the princely sum of UKP7.94 + p&p, 88 in stock in UK for next day delivery from Farnell[0]. The problem with this is that different MCUs require different compiler options, and building GCC for ARM with multilibs is only supported in the ARM fork at [1]; so far there are only GCC 4.9-based releases. GCC 4.9 is a perfectly competent compiler, of course. Finalization ------------ It would be very nice to be able to use the generalized container iterators of Ada 2012 (generalized array iterators are already OK). They require finalization: I've implemented finalization and generalized iteration over Bounded_Vectors in the 'finalization' branch at [2]. Unfortunately, adding finalization to a restricted runtime triggers bugs in GCC. I've raised two GCC PRs; "gnatbind generates invalid code when finalization is enabled in restricted runtime"[3], and "Front-end error if exception propagation disabled"[4]. ===================================================================== [0] http://uk.farnell.com/stm32-mcu-nucleo-board-flexible-prototyping [1] https://launchpad.net/gcc-arm-embedded [2] https://sourceforge.net/p/stm32f4-gnat-rts/code/ci/finalization/tree/ [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66205 [4] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66242