comp.lang.ada
 help / color / mirror / Atom feed
* ANN: STM32F4 GNAT Run Time Systems 20141207
@ 2014-12-07 15:48 Simon Wright
  2014-12-22  1:20 ` RasikaSrinivasan
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Wright @ 2014-12-07 15:48 UTC (permalink / raw)


I've been working on a GNAT RTS with the GCC Runtime Library exception
for STM32F4 boards, and this is the first release; offered for
criticism, suggestions etc ...

(a) The RTS produced by AdaCore works to the bare metal when dealing
    with the board hardware. This seems to me to be a lot more work than
    necessary, given that the manufacturer provides a free-to-use BSP.

(b) I've included minimal interfaces to the board hardware: clock,
    buttons, LEDs. Given that the Ada RTS is minimal, these could have
    been put in their own library, not part of the RTS; but I was
    concerned that the board requires clock initialization before the
    other hardware can be used, and the Ada RTS will require clock
    initialization .. will probably revisit this decision.

(c) For tasking, I'm going to investigate FreeRTOS, which
    STMicroelectronics provide a copy of with their BSP. Does anyone
    know whether this is a completely stupid idea?

The release is at [1]: from the README,

This is an Ada Runtime System (RTS) for the GCC Ada compiler (GNAT),
targeted to the STMicroelectronics STM32F429I Discovery board (see
http://www.st.com/).

The RTS is a true zero-footprint system. Package System contains the
following restrictions:

   pragma Restrictions (No_Allocators);
   pragma Restrictions (No_Delay);
   pragma Restrictions (No_Dispatch);
   pragma Restrictions (No_Enumeration_Maps);
   pragma Restrictions (No_Exception_Propagation);
   pragma Restrictions (No_Finalization);
   pragma Restrictions (No_Implicit_Dynamic_Code);
   pragma Restrictions (No_Protected_Types);
   pragma Restrictions (No_Recursion);
   pragma Restrictions (No_Secondary_Stack);
   pragma Restrictions (No_Tasking);

The RTS contains object code for all the relevant drivers from
STMicroelectronics' STM32Cube_FW_F4_V1.3.0 package, but not the source
code. Makefile.inc (altered as necessary to match the place where you
have installed the STM32Cube package) can be included in your own
Makefiles to provide access to the drivers' header and source files;
see the demonstration's Makefile.

The RTS has been built with no optimisation (-O0) and for debugging
(-g), using GNAT GPL 2014 for arm-eabi-darwin-bin on Mac OS X (it
should work out of the box with a Linux-hosted cross-compiler). Ada, C
and C++ demo programs are included.

The RTS is intended to support commercial binary distributions[2]. The
Ada source code has either been derived from FSF GCC (4.9.1) or
written for this work; see the files COPYING3 and COPYING.RUNTIME. The
C source has either been derived from STMCube or written for this
work: see the file COPYING.STMicroelectronics.

[1] https://sourceforge.net/projects/stm32f4-gnat-rts/files/20141207/


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

* Re: ANN: STM32F4 GNAT Run Time Systems 20141207
  2014-12-07 15:48 ANN: STM32F4 GNAT Run Time Systems 20141207 Simon Wright
@ 2014-12-22  1:20 ` RasikaSrinivasan
  2014-12-22 18:41   ` Simon Wright
  0 siblings, 1 reply; 3+ messages in thread
From: RasikaSrinivasan @ 2014-12-22  1:20 UTC (permalink / raw)


Simon

This is exciting. if i understand correctly\x10:

with this work - you are able to develop with gnat targeting the STM32 discovery board. so theoretically other ARM targets should also be p\x10ossible. Does this include debugging that talks to the ST-Link on the board? 

i am just getting myself setup for some development targeting another Cortex M4. Currently my p\x10lan is to use Ubuntu 12.04 as my platform. If I run into difficulties, my plan is to (reluctantly) setup my MAC for Windows dual boot. In any case, my intention is to use the distribution from adacore.

I am excited that I will be able to do most of this directly from MAC. Unfortunately I am not too comfortable with building/configuring of gcc and so on.

If you could provide some detailed guidance as to how I could setup my development environment, I would start on it as soon as the discovery board arrives - any\x10 time now! Perhaps they are available on the sf.net site - which i will checkout.

Cheers, srini

On Sunday, December 7, 2014 10:48:37 AM UTC-5, Simon Wright wrote:

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

* Re: ANN: STM32F4 GNAT Run Time Systems 20141207
  2014-12-22  1:20 ` RasikaSrinivasan
@ 2014-12-22 18:41   ` Simon Wright
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Wright @ 2014-12-22 18:41 UTC (permalink / raw)


"RasikaSrinivasan@gmail.com" <RasikaSrinivasan@gmail.com> writes:

> with this work - you are able to develop with gnat targeting the STM32
> discovery board. so theoretically other ARM targets should also be
> possible.

> Does this include debugging that talks to the ST-Link on the board?

Yes. See AdaCore's instructions[1].

> i am just getting myself setup for some development targeting another
> Cortex M4. Currently my plan is to use Ubuntu 12.04 as my
> platform. If I run into difficulties, my plan is to (reluctantly)
> setup my MAC for Windows dual boot. In any case, my intention is to
> use the distribution from adacore.

I'm working on a GCC 4.9.1 version.

> I am excited that I will be able to do most of this directly from
> MAC. Unfortunately I am not too comfortable with building/configuring
> of gcc and so on.
>
> If you could provide some detailed guidance as to how I could setup my
> development environment, I would start on it as soon as the discovery
> board arrives - any time now! Perhaps they are available on the
> sf.net site - which i will checkout.

See INSTALL in the distribution. Tell me how you think it could be
improved!

[1] http://libre.adacore.com/tools/gnat-gpl-for-bare-board-arm/

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

end of thread, other threads:[~2014-12-22 18:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-07 15:48 ANN: STM32F4 GNAT Run Time Systems 20141207 Simon Wright
2014-12-22  1:20 ` RasikaSrinivasan
2014-12-22 18:41   ` Simon Wright

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