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!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: for X'Address use - and Volatile Date: Thu, 01 Sep 2016 06:41:07 +0100 Organization: A noiseless patient Spider Message-ID: References: <7595494c-3398-4fd9-ab4b-80a79383ae33@googlegroups.com> <315a724f-0b77-47fd-9448-369e4670fc99@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="90a7515de723fda2443060f3e878f4b0"; logging-data="24892"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+H9GarcJTjcG3YcrwkPHLSmEFWIkSMAWo=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:qu1/Je6oAT1/1IOA4Wqy80DoLg8= sha1:a9ztsauNIEx7meMx6tUVEXnaQmM= Xref: news.eternal-september.org comp.lang.ada:31669 Date: 2016-09-01T06:41:07+01:00 List-Id: Maciej Sobczak writes: >> Indeed, address clauses ought to be avoided for all but their >> intended purpose (mapping to hardware registers); > > I'd disagree here. Mapping to hardware registers (or mapping to memory > regions in general) should be performed at the linker and loader > level, which have much better tools for handling such tasks And I'd disagree with that. By the time you have * many registers to be described to the bit level * many peripherals in your SOC * more than a couple of teams involved * a need to handle interrupts at the Ada level (i.e. with POs) a linker script is *not* the best place to specify addresses. Especially if you can call in a tool like AdaCore's svd2ada - https://github.com/AdaCore/svd2ada