comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: GNAT stm34f4 zfp question.
Date: Wed, 04 Mar 2015 18:28:13 +0000
Date: 2015-03-04T18:28:13+00:00	[thread overview]
Message-ID: <lytwy01ute.fsf@pushface.org> (raw)
In-Reply-To: 05f8f7cc-a934-4a2b-aa58-4f40fc540e66@googlegroups.com

jan.de.kruyf@gmail.com writes:

> I managed to make a reasonable looking runtime libgnat.a by diligently
> reading the gnathie_ug.pdf and the gnat_ugx.pdf manuals.

Thanks a lot for this hint! lots of work indicated. Mostly tidying, I
think; it's good to see the rationale for the switches in system.ads.

> The biggest issue is to sort out the board support files, since I now
> wanted to do away with threads and some other cruft in there, sine we
> have ravenscar if I need that.

My approach was to use the BSP and FreeRTOS code supplied by STM and map
the compiler-generated RTS calls onto that. This is not the approach
adopted by AdaCore; on the whole they implement tasking in the System.BB
family, which they access via System.OS_Interface; however there seemed
to be a lot of code in the full RTS packages such as System.Tasking
which had been left out of the ravenscar-sfp version.

I'm beginning to think that there's not much to be gained by using STM's
HAL, compared to accessing the hardware directly, except possibly for
complex board features such as the STM32F429I's on-board LCD. And even
then I'm concerned about multiplexed GPIO interrupts; as I understand
it, there is only one EXTI0 interrupt, corresponding to pin 0 on any
GPIO, so if you need more than one pin 0 interrupt you'll need to manage
all of them in one super-handler, or arrange to chain handlers (which I
don't think AdaCore's RTS supports??)

  reply	other threads:[~2015-03-04 18:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03  7:45 GNAT stm34f4 zfp question jan.de.kruyf
2015-03-03  9:20 ` jan.de.kruyf
2015-03-03 17:15   ` Patrick Noffke
2015-03-03 20:13     ` jan.de.kruyf
2015-03-04 15:22     ` jan.de.kruyf
2015-03-04 18:28       ` Simon Wright [this message]
2015-03-04 20:03         ` jan.de.kruyf
2015-03-18 17:58         ` Simon Wright
replies disabled

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