[PATCH] eng: Add register block specification types

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Sep 13 06:27:04 UTC 2021


On 11/09/2021 19:59, Joel Sherrill wrote:
> 
> 
> On Fri, Sep 10, 2021, 9:41 AM Sebastian Huber 
> <sebastian.huber at embedded-brains.de 
> <mailto:sebastian.huber at embedded-brains.de>> wrote:
> 
>     A register block may be used to specify the memory-mapped interface to
>     the hardware.  Register blocks consist of register block members.
>     Register block members are either instances of registers or instances of
>     other register blocks.  Registers consists of bit fields.
> 
> 
> I hope you don't mean C bit fields. They are quite non-portable.

This register block specification is independent of an interface in a 
particular programming language.  It is similar to a machine readable 
manual. From the register block specification you could generate code 
for C, C++, Rust, Ada, Python, and so on. Currently, there is only a C 
header file generator (which doesn't use C bit fields), for example:

https://git.rtems.org/sebh/rtems.git/tree/bsps/include/grlib/gptimer-regs.h?h=qual-35

> 
> And I hope we are avoiding packed in this definition of requirements set.

What do you mean with "packed"?


> Unfortunately it seems there are more things you can get wrong here 
> which leads to negative requirements and negative requirements are bad

Sorry, what do you mean with "negative requirements" here?

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list