From: lyttlec <lyttlec@removegmail.com>
Subject: Re: Ada in command / control systems
Date: Tue, 26 Feb 2019 17:10:03 -0500
Date: 2019-02-26T17:10:03-05:00 [thread overview]
Message-ID: <q54dfq$1t0o$1@gioia.aioe.org> (raw)
In-Reply-To: lyimx6tupg.fsf@pushface.org
On 2/26/19 10:50 AM, Simon Wright wrote:
> "J-P. Rosen" <rosen@adalog.fr> writes:
>
>> Le 25/02/2019 à 20:21, russ lyttle a écrit :
>
>>> Some items need to be specified to be
>>> allocated to EEPROM, some to RAM, etc.
>> You can do that with address clauses.
>
> The compiler will straightforwardly distinguish between text, read-only,
> read-write, and bss.
>
> If you need more, you can (GNAT) use pragma Linker_Section: for
> interrupt vectors for an STM32F4,
>
> Vectors : array (-14 .. Ada.Interrupts.Names.FPU_IRQ) of Handler :=
> (-9 .. -6 | -4 .. -3 => null, -- reserved
> -14 => Dummy_Handler'Access, -- NMI
> -13 => HardFault_Handler'Access, -- HardFault
> -12 => Dummy_Handler'Access, -- MemManagement
> -11 => Dummy_Handler'Access, -- BusFault
> -10 => Dummy_Handler'Access, -- UsageFault
> -5 => SVC_Handler'Access, -- SVCall
> -2 => PendSV_Handler'Access, -- PendSV
> -1 => SysTick_Handler'Access, -- SysTick
> others => IRQ_Handler'Access)
> with
> Export,
> Convention => Ada,
> External_Name => "isr_vector";
> pragma Linker_Section (Vectors, ".isr_vector");
>
> and then use the linker script to place that section appropriately.
>
The "use linker script" part is where I am having difficulty with gnat
targeting a PC. Haven't tried the STM32F4 yet.
All I've found so far, including tutorial on AdaCore, apply only to
Windows and produce errors in Linux. For example the advice to use
"-Xlinker -Wl --stack = ..." is Windows only.
We may have to give up and switch back to using Makefile, which
probably isn't such a bad idea anyway.
next prev parent reply other threads:[~2019-02-26 22:10 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-25 6:51 Ada in command / control systems Jesper Quorning
2019-02-25 8:24 ` Dmitry A. Kazakov
2019-02-25 9:44 ` Jesper Quorning
2019-02-25 15:54 ` Dmitry A. Kazakov
2019-02-25 13:50 ` russ lyttle
2019-02-25 14:29 ` gautier_niouzes
2019-02-25 15:25 ` Simon Wright
2019-02-25 19:21 ` russ lyttle
2019-02-26 4:50 ` J-P. Rosen
2019-02-26 15:50 ` Simon Wright
2019-02-26 22:10 ` lyttlec [this message]
2019-02-26 22:39 ` Niklas Holsti
2019-02-26 23:09 ` Simon Wright
2019-02-27 13:22 ` russ lyttle
2019-02-27 14:17 ` Niklas Holsti
2019-02-27 17:49 ` russ lyttle
2019-02-25 19:53 ` Tero Koskinen
2019-02-25 20:15 ` russ lyttle
2019-03-01 14:56 ` fabien.chouteau
2019-03-01 16:58 ` Simon Wright
2019-03-01 21:19 ` russ lyttle
2019-03-01 22:32 ` fabien.chouteau
2019-03-01 23:24 ` russ lyttle
2019-02-25 21:18 ` Jesper Quorning
2019-02-26 9:28 ` Maciej Sobczak
2019-02-26 11:01 ` Dmitry A. Kazakov
2019-02-26 21:25 ` Maciej Sobczak
2019-02-27 9:33 ` Dmitry A. Kazakov
2019-02-27 20:46 ` Maciej Sobczak
2019-02-27 21:55 ` Dmitry A. Kazakov
2019-02-28 13:12 ` Maciej Sobczak
2019-02-28 17:43 ` Dmitry A. Kazakov
2019-03-01 9:22 ` Maciej Sobczak
2019-03-01 10:46 ` Dmitry A. Kazakov
2019-03-04 7:03 ` Maciej Sobczak
2019-03-04 14:38 ` Dmitry A. Kazakov
2019-03-05 9:33 ` Maciej Sobczak
2019-03-05 16:09 ` Dmitry A. Kazakov
2019-03-06 9:05 ` Maciej Sobczak
2019-03-06 14:14 ` Dmitry A. Kazakov
2019-03-07 7:02 ` Maciej Sobczak
2019-03-07 9:25 ` Dmitry A. Kazakov
2019-03-08 7:19 ` Maciej Sobczak
2019-03-08 11:08 ` Dmitry A. Kazakov
2019-03-08 17:00 ` Simon Wright
2019-03-08 17:38 ` Dmitry A. Kazakov
2019-03-05 7:18 ` G. B.
2019-03-05 9:28 ` Dmitry A. Kazakov
2019-03-05 9:51 ` Maciej Sobczak
2019-03-05 16:15 ` Dmitry A. Kazakov
2019-03-06 22:02 ` Randy Brukardt
2019-03-05 17:55 ` Niklas Holsti
2019-03-05 21:06 ` Simon Wright
2019-03-06 7:26 ` G. B.
2019-03-06 8:22 ` Dmitry A. Kazakov
2019-03-06 12:04 ` Simon Wright
2019-03-07 7:35 ` G. B.
2019-03-07 9:25 ` Dmitry A. Kazakov
2019-03-06 9:17 ` Maciej Sobczak
2019-03-08 22:45 ` russ lyttle
2019-03-09 8:16 ` Simon Wright
2019-03-09 8:59 ` Dmitry A. Kazakov
2019-03-09 18:47 ` russ lyttle
2019-03-09 20:06 ` G.B.
2019-03-09 20:38 ` Dmitry A. Kazakov
2019-03-09 18:34 ` russ lyttle
2019-03-09 19:28 ` Simon Wright
2019-03-10 21:13 ` lyttlec
2019-03-11 8:56 ` Simon Wright
2019-03-11 14:27 ` russ lyttle
2019-03-11 17:01 ` Simon Wright
2019-03-11 21:55 ` russ lyttle
2019-03-05 11:59 ` russ lyttle
2019-03-05 18:18 ` Dmitry A. Kazakov
2019-03-06 2:01 ` lyttlec
2019-03-06 8:29 ` Dmitry A. Kazakov
2019-02-26 15:54 ` Simon Wright
2019-02-26 21:43 ` Maciej Sobczak
2019-02-26 22:45 ` Simon Wright
2019-02-27 8:41 ` Dmitry A. Kazakov
2019-02-27 20:55 ` Maciej Sobczak
2019-02-27 21:26 ` Simon Wright
2019-02-27 22:08 ` Dmitry A. Kazakov
2019-02-27 11:04 ` Jesper Quorning
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox