comp.lang.ada
 help / color / mirror / Atom feed
* STM32F4 GNAT Run Time System - roadmap
@ 2015-06-09 12:02 Simon Wright
  2015-06-09 19:44 ` Tero Koskinen
                   ` (6 more replies)
  0 siblings, 7 replies; 39+ messages in thread
From: Simon Wright @ 2015-06-09 12:02 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2016-01-30 14:21 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-09 12:02 STM32F4 GNAT Run Time System - roadmap Simon Wright
2015-06-09 19:44 ` Tero Koskinen
2015-06-12 17:31   ` MIchael Erdmann
2015-06-12 18:19     ` Simon Wright
2015-06-09 20:08 ` jan.de.kruyf
2015-06-10 17:47   ` Simon Wright
2015-06-10 19:54     ` jan.de.kruyf
2015-06-10 21:11       ` Simon Wright
2015-06-10  8:19 ` jan.de.kruyf
2015-06-10  8:24 ` jan.de.kruyf
2015-06-10 17:55   ` Simon Wright
2015-06-10 19:30     ` jan.de.kruyf
2015-06-10 11:20 ` Brian Drummond
2015-06-10 21:19   ` Simon Wright
2015-06-11 10:10     ` Brian Drummond
2015-06-13 13:21     ` Jedi Tek'Unum
2015-06-13 14:15       ` Dmitry A. Kazakov
2015-06-13 14:55       ` Simon Wright
2015-06-13 17:43         ` Jedi Tek'Unum
2015-12-06 18:34   ` Simon Wright
2015-12-07 10:39     ` Brian Drummond
2016-01-28 20:52       ` Simon Wright
2016-01-30 14:21         ` Brian Drummond
2015-12-07 15:13     ` Jere
2015-12-07 16:31       ` Simon Wright
2015-12-07 16:49       ` Simon Wright
2015-12-07 17:56         ` Jere
2015-12-07 22:02           ` Simon Wright
2015-12-08 14:03             ` Jere
2015-12-08 15:07               ` Tero Koskinen
2015-12-09  1:46                 ` Jere
2015-12-08  2:11     ` Randy Brukardt
2015-12-09 18:46       ` Simon Clubley
2015-12-09 22:47         ` Randy Brukardt
2015-12-10 18:22           ` Simon Clubley
2015-12-11 14:59       ` AI12-0128 (was: STM32F4 GNAT Run Time System - roadmap) Simon Wright
2015-12-11 21:18         ` Randy Brukardt
2015-06-10 15:20 ` STM32F4 GNAT Run Time System - roadmap Patrick Noffke
2015-06-15 19:03 ` Simon Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox