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: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.nBeL617r2Zbx34e1uUUY4w.user.gioia.aioe.org!not-for-mail From: lyttlec Newsgroups: comp.lang.ada Subject: Re: Ada in command / control systems Date: Tue, 26 Feb 2019 17:10:03 -0500 Organization: Aioe.org NNTP Server Message-ID: References: <2199b15b-d704-403f-a6c4-00fab29792d5@googlegroups.com> NNTP-Posting-Host: nBeL617r2Zbx34e1uUUY4w.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 Autocrypt: addr=lyttlec@removegmail.com; keydata= xsFNBFk1VfQBEADVV619VW6hNAFg6ZMQbGXco7m1ILiJZAqmUXYndislpVFMTKfwupB1CnIC 5EPRwByXe7+JT4QHkxtPmbJT2pEfFvBvj9bYHuynWFHBAAWNGsZQR/82GZFE82Xv/yZZAhB0 yFKwObNYGyqukW+rGdJIzuURwniC7ZhQeC1OdBhxQ+wctPO057SfruOZvzMmR67FKuPRawO6 nh7mi3rLQDhe34EoNEX6GTh5mpwMZE1pjy2iMjQxWVXN0MmqaQBp1X6cUtUW1+cqO8XV5f1v q07q9YdNMhIiY06DPQS/41H7+OnZqr6Hhc5OfydMvKtI1G8bV9NRKf3IQl7kXMBcwmPMlwZB SwWSkLQroQvk+jDumtndRrdyoGIEIqYx/4ok48IiDLnxYX4O077xogGPxme7Vt/g9Pv+XHE5 1GyC4I1h6wvq9CUuVqS3ZAx2AVfN1NW7a8yN03hQNrdrhZXffk0M92Sk+f9Bc6UD0BELPDdu fdo55IsIca50qDjm4t5QteYlFSr7Frhmr/Q8nblMj/KkrW4uz8VphqMhYWheAwAgfTp2qGkM feb9+tI7AO8rxOy/0mfzYpJqP7OiA2rzL4icXob5ZFRcXgeVDORR5Cq+nr9c9Oj1GKjnWiVB 2Qu6CR31QyKhmwB6U14Q9ONHOQayRw7tbqBSdtisaFwA9ejTwQARAQABzR9ydXNzIGx5dHRs ZSA8bHl0dGxlY0BnbWFpbC5jb20+wsF9BBMBCAAnBQJZNVX0AhsjBQkJZgGABQsJCAcCBhUI CQoLAgQWAgMBAh4BAheAAAoJEKRFgqwK49Mum2AQAII8VA7PeLOvjuJ3TN6HYzn4JIO1TBnY VrWTM55O9aiRSA5YMy7TGmTHq9KSm/WYSgvKUTh0T1ujVl7+AzoSVS8D99fcRPTGdFUDYAzW zCFWQvCbPzOl5cYpycf40XpwA3vAIhAVX3zU3VtgI2BuxrTVg/GwdWHCg4l8ZjNJJQq9REuk MAzLbSKKcf6hUJp9gzEaJSRKtbeffuIlTUnHc/ewZE6BheFGvFM0qXuysc6nlsHNRiN0ESI+ ANJZrmVY0bl5QZ3sbXd+Sph7dfWyWSQFGIFaF9AK2nX/Vg0FJz0dnPqWZ8gGFmKOfdM1KH2G ZL2vee2vQPQkuH0+6kXEnlXVZ86fdNcFWdajEI1X9E9iE4XXKAgdWgr09ccO4dvfk1q4oSqy XZPI4HLYf2jPKiLjjTxRl27Zs+tHXESGHgtbzCVSzsuz+iRLX38T/TzcuxdT/tjTKHSwmoYm hXRDgm0A99uVv56MYG78xM2F7ke/FaEq8doxlmvdBE3B48U14MlWwXBIikKwwtSAc3aVylcq OG2jMiI0+Hl0h/GbibZjkgofAdAf5e4q8zCuU8xxJWyyl/yvb2alG5edvaHlYW1fonteoXRQ l8RxqSsVY9rP+wtGWFKcqso33KqJeNjROrcRwpRDrqPL8Rr5jLis0tqGO4f7vWtUQfJ3RwUJ sSXOzsFNBFk1VfQBEADIUSbxY2dwcKTuh6wFM4VKREj4fT184WojWSowxIemC0JPz01CEEo9 MqKX6Zbkm+H7d9oBy/PiZNgj5gptDgh5X1FVjZNDrc3zelYjMd7IpWANBJFgllFE1rSjFrfm p1YawRfV70KWF6/4ahNDIo7+KS2odO36XwxniUgh3FeLtA/RJ2yFXI0ZboDbq9wBgNnpl61H f97Z2S/6HU8nGd6yL3YXAOqtn2zwc+pWTNNzbGZWt5qp/cfLIBO7TJRgjzssrvERUxGPsN8D bZfCcn99diL7CPam+fzWklpgNNUa80AVC3PAjCmSUFV/byXabSfA2TF28SKyU/oEzIaQ4vm1 +MfxQYdO9a1ZoJF940quHI+vCIQeag0BsZQ/V19c+/SpHiU72XKPEN+5mBe88C24kswe7aQO XK2WH/lH216cD6izueDGxDtPGkaJVoeJQ0t6f2venVO555vpeuXOyXoCY191zwPsIsZIhj3v ZxtolwFVPAaDKLZ3KIon4lX/oh9+5+SCTYmtG43ygZf69XLdccaluDRMYQGMHrSN4pE+zTsW eCyMtTn1tnES6Kw5xMaLy375ESEUWZpN1RZmi0esxb7hbfuSHVfmGnqgAjKMR1iuE7tPwGAD i3FKi1MBkKbQ+voF2wCBqV4NkWdiiyPhvFo2hcM3lpw2YEanuuP7SQARAQABwsFlBBgBCAAP BQJZNVX0AhsMBQkJZgGAAAoJEKRFgqwK49Mu4jgQAM6BybV499Q7Df371Zu/XGgtElF7cjjk Vy44xa+o0k31ed6ScZ8e7isVEBtu400d2jNs4188kI6J+DGhdNtnMsqBjWuZXN4h7rh22IGO KLYOVVG72O5+8znZTsYW8ielLQEtlme6vBFn0tJo1tXX+8j23I4JEJCe/bBNuiOaG6QtLIIe SLOeUg4jiIl28BegSyG4qf2xci3RA/r+cWIiLfZWvjYOjWf//8AItki49YIezrPOtyOEnrWj wqqHRcay5nhqYPL/F4EJHqqObzupJknY2ng1O+UBWxGMD4ephLB2U/149MBcGv+9Iq6DCdBx X1xvEr85gnkIfxukSVQTSWoUy7rq6JULibXyB2h6rWoLqRvaP95UV8aLfGH8IdTXkOutJCuk a2749miM22zk1mXf0SbrQccqDR1xmMO/KdGRcCNMtTqV5PL/pXJkduFruwLhIVamEaYvUBAd 8PKiXL+c9ktaZLctK287o48Bh7UPUtTcHL3AdU7zpRDDmByzEE0iebDDhHRdz6ZRrolQDEen DmVhBWaJga2JwU+0lOcXu4S/nkAotI+YrgDpx/xHJ2XKm6l68FZEePi5/ChMEmggOhJ2N1IR RhgHfGvJCzwflitwlzpJRnqTzcxPnfxGDUau0W+yWApcxziLHLclm1hG7CzRcTKTxHl/kM6y c+mR Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Openpgp: preference=signencrypt Xref: reader01.eternal-september.org comp.lang.ada:55678 Date: 2019-02-26T17:10:03-05:00 List-Id: On 2/26/19 10:50 AM, Simon Wright wrote: > "J-P. Rosen" 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.