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: border1.nntp.dca1.giganews.com!nntp.giganews.com!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: ANN: STM32F4 GNAT Run Time Systems 20150204 Date: Thu, 05 Feb 2015 11:26:44 +0000 Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="8cd79d7ffa75567f93d907bdfb272368"; logging-data="17766"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/NPlrZQlgwtSvXhe3KQmU0/5ILXcGdfQI=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (darwin) Cancel-Lock: sha1:xMrtWxbzn7wQNGbBSItBeaUqUrA= sha1:FFGTfZU8kA2K0TGEkvywWpEgu2Q= Xref: number.nntp.giganews.com comp.lang.ada:192192 Date: 2015-02-05T11:26:44+00:00 List-Id: This is the third release of a GNAT RTS with the GCC Runtime Library exception for STM32F4 boards. (a) Tasking is implemented using FreeRTOS[3], which STMicroelectronics provide a copy of with their 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 requires clock initialization .. will probably revisit this decision. The release is at [4]: it contains two RTSs, one (in stm32f429i-disco-bsp; demonstrators in demo-stm32f429i-disco-bsp) has the barest minimum for Ada support, while the more interesting one (in stm32f429i-disco-rtos; demonstrators in demo-stm32f429i-disco-rtos) supports Ravenscar tasking, allocators, tagged types, and the secondary stack. From its 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 supports Ravenscar tasking. Package System contains the following additional restrictions: pragma Restrictions (No_Enumeration_Maps); pragma Restrictions (No_Exception_Propagation); pragma Restrictions (No_Finalization); pragma Restrictions (No_Recursion); 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 GCC 4.9.1 for arm-eabi-darwin13-bin[1] on Mac OS X (it should work out of the box (but after recompilation!) with a Linux-hosted cross-compiler. 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. The RTS is based on FreeRTOS[3], as customised by STMicroelectronics in the STM32Cube package. See COPYING.FreeRTOS. The following non-original files don't form part of a binary deliverable, so don't affect the status of the binary: o build_runtime.gpr and runtime.xml originated in AdaCore's GNAT GPL 2014 arm-eabi distribution (for Linux). o The linker script stm32f429i-flash.ld is under an MIT licence: see COPYING.MIT. [1] https://sourceforge.net/projects/gnuada/files/GNAT_GCC%20Mac%20OS%20X/4.9.1bis/arm-eabi/ [2] STMicroelectronics' evaluation product licence agreement at www.st.com/epla forbids the sale of products including this board, so this work would have to be reconfigured for a different board anyway. [3] http://www.freertos.org [4] https://sourceforge.net/projects/stm32f4-gnat-rts/files/20150204/