From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!news.gegeweb.eu!gegeweb.org!news.muarf.org!nntpfeed.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed2-b.proxad.net!nnrp4-2.free.fr!not-for-mail Subject: Re: Record initialisation question Newsgroups: comp.lang.ada References: <5ff9779d$0$24281$426a74cc@news.free.fr> From: DrPi <314@drpi.fr> Date: Sun, 17 Jan 2021 18:08:52 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <5ff9779d$0$24281$426a74cc@news.free.fr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Message-ID: <60046f27$0$6450$426a74cc@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 17 Jan 2021 18:08:55 CET NNTP-Posting-Host: 82.65.30.55 X-Trace: 1610903335 news-3.free.fr 6450 82.65.30.55:49271 X-Complaints-To: abuse@proxad.net Xref: reader02.eternal-september.org comp.lang.ada:61162 List-Id: Le 09/01/2021 à 10:30, DrPi a écrit : > Hi, > > I'm working on a µP BSP. The boot sequence of this µP requires byte > structures located in FLASH memory. > For example : > >    type t_Dcd_Header is record >       Tag     : Unsigned_8  := 16#D2#; >       Length  : Unsigned_16 := 4;      -- Length in byte of the DCD > structure (this header included) >       Version : Unsigned_8  := 16#41#; >    end record >      with Object_Size => 32, >           Bit_Order => System.Low_Order_First; > >    for t_Dcd_Header use record >       Tag     at 0 range  0 .. 7; >       Length  at 0 range  8 .. 23; >       Version at 0 range 24 .. 31; >    end record; > > The t_Dcd_Header is part of t_Dcd record. > The Length field of t_Dcd_Header must contain the length of t_Dcd. > >    Dcd : constant t_Dcd := >     ( Dcd_Header => ( Length => ???, -- Length of Dcd >                       others => <>), >       ... >     ); > > Is there a way to automatically set Length ? > Dcd goes in a dedicated .txt section. > > Nicolas I tried to use a C module as a workaround. I added C to my .gpr file : for Languages use ("Ada", "C"); The C module is compiled correctly. However, it is not linked. This is not a surprise since it contains no object used by Ada modules.