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
