Look for "include_bsp_HEADERS" in another BSP Makefile.am.
Those files become available as <bsp/XXX.h>.
Similarly include_rtems_HEADERS become available
as <rtems/XXX.h>
Confusing
On 7/31/2013 10:07 AM, Gedare Bloom wrote:
In brief, the include files are relocated by the build system. The
magic is in the Makefile.am files, which specify various HEADERS and
their locations. Probably if you study some of the other BSPs in the
ARM family you will get some ideas. You will have to look at those
files to determine how the header is referenced. In general, this
header situation is troublesome and is being worked on to make
simpler.
When you change/add headers in Makefile.am you usually have to run
bootstrap -p i order to regenerate the preinstall.am file, which does
some of the heavy lifting of copying headers into their respective
locations in the build tree. It is all a mess.
-Gedare
On Wed, Jul 31, 2013 at 10:56 AM, R. Diez <[email protected]> wrote:
Hi all:
I am finding it difficult to choose a place in the source tree for my new .c
and .h files. In a previous message in this mailing list, I read that there is
some potential confusion between libbsp and libcpu, but I'm not sure what to do
now and I need to get further with my particular case.
I am developing a Board Support Package for an Arduino Due, which I've placed
here on my PC:
c/src/lib/libbsp/arm/arduinodue/
The board has an AT91SAM3X8E microcontroller, but the UART driver is probably
generic enough for the whole AT91SAM3 family (at least).
I tried placing that UART driver here:
c/src/lib/libbsp/arm/shared/include/arm-at91sam3x-uart-regs.h
c/src/lib/libbsp/arm/shared/include/arm-at91sam3x-uart.h
c/src/lib/libbsp/arm/shared/arm-at91sam3x-uart.c
This is what the existing driver for an 'arm-pl050' does.
However, both the BSP and that driver need a shared header file for the whole
AT91SAM3 family, let's call it arm-at91sam3x-defs.h . The question is where
that file should go. I tried this path first:
c/src/lib/libbsp/arm/shared/include
But the BSP does not reference it. In fact, the only additional include path
while building the BSP seems to be:
c/src/lib/libbsp/arm/arduinodue/include
I had a look and it does seem that no BSP includes any header files under
libbsp/arm/shared , which seems counterintuitive.
I tried place the file in that include file directory mentioned about, but that
didn't compile (!). I have a question in this area. If you look at this file:
c/src/lib/libbsp/arm/stm32f4/include/rcc.h
You'll see the following statement:
#include <bsp/stm32f4.h>
However, file stm32f4.h lives here:
c/src/lib/libbsp/arm/stm32f4/include
And that path does not end in "bsp/", like in the #include statement above, so
I do not understand how the compiler finds that include file.
Going back to my Arduino Due USART driver, I think I could add a new AT91SAM3
CPU type under libcpu instead, like this:
c/src/lib/libcpu/arm/at91sam3
I am looking at the existing at91rm9200 as an example.
The idea is as follows: the Arduino Due is a board, therefore it should have a
Board Support Package. That BSP should reference the at91sam3 CPU, which lives
under libcpu. I am not sure where to place the UART driver, maybe under libchip
instead of under libbsp?
What's the best way to do this? I tried to find an example BSP under libbsp
that references a CPU under libcpu, but couldn't find a link between any
existing BSP and an existing CPU. Or does the user need to specify both a BSP
and a CPU when configuring RTEMS?
Many thanks in advance,
rdiez
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel
--
Joel Sherrill, Ph.D. Director of Research & Development
[email protected] On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel