> On Jul 18, 2019, at 01:16 , Sebastian Huber 
> <sebastian.hu...@embedded-brains.de> wrote:
> 
>>> I think the <bsp.h> should not include the low level io.h header file.

Is there an up-to-date definition of what should be in <bsp.h>?  The latest 
"RTEMS BSP and Driver Guide” says:

"The file include/bsp.h contains prototypes and definitions specific to this 
board. Every BSP is required to provide a bsp.h. The best approach to writing a 
bsp.h is copying an existing one as a starting point.
"Many bsp.h files provide prototypes of variables defined in the linker script 
(linkcmds).”

- The advice “The best approach… is copying an existing one…” is suspect;
- The above is a poster-child for that EARS document you pointed out.

Removing <libcpu/io.h> from <bsp.h> leaves definitions such as the following 
that depend definitions from <libcpu/io.h>.  That seem to require a header such 
as <bsp/io.h> that <libcpu/io.h> would include.

/* fundamental addresses for BSP (CHRPxxx and PREPxxx are from libcpu/io.h) */
#define _IO_BASE            0xe0000000 /* Motload's PCI IO base */
#define _ISA_MEM_BASE       CHRP_ISA_MEM_BASE
/* address of our ram on the PCI bus   */
#define PCI_DRAM_OFFSET     CHRP_PCI_DRAM_OFFSET


Peter
-----------------
Peter Dufault
HD Associates, Inc.      Software and System Engineering

This email is delivered through the public internet using protocols subject to 
interception and tampering.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to