This patch is a part of the BSP source reorganization. Update #3285. --- bsp-howto/target_dependant_files.rst | 104 +++++++++++++---------------------- 1 file changed, 38 insertions(+), 66 deletions(-)
diff --git a/bsp-howto/target_dependant_files.rst b/bsp-howto/target_dependant_files.rst index fdfe5d2..bbd13ae 100644 --- a/bsp-howto/target_dependant_files.rst +++ b/bsp-howto/target_dependant_files.rst @@ -165,69 +165,41 @@ appropriate subdirectories for the specific CPU model your BSP has. Board Support Package Structure =============================== -The BSPs are all under the ``c/src/lib/libbsp`` directory. Below this -directory, there is a subdirectory for each CPU family. Each BSP is found -under the subdirectory for the appropriate processor family (arm, powerpc, -sparc, etc.). In addition, there is source code available which may be shared -across all BSPs regardless of the CPU family or just across BSPs within a -single CPU family. This results in a BSP using the following directories: - -.. code-block:: c - - c/src/lib/libbsp/shared - c/src/lib/libbsp/<CPU>/shared - c/src/lib/libbsp/<CPU>/<BSP> - -Under each BSP specific directory, there is a collection of subdirectories. -For commonly provided functionality, the BSPs follow a convention on -subdirectory naming. The following list describes the commonly found -subdirectories under each BSP. - -- ``console``: - is technically the serial driver for the BSP rather than just a console - driver, it deals with the board UARTs (i.e. serial devices). - -- ``clock``: - support for the clock tick - a regular time basis to the kernel. - -- ``timer``: - support of timer devices. - -- ``rtc`` or ``tod``: - support for the hardware real-time clock. - -- ``nvmem``: - support for non-volatile memory such as EEPROM or Flash. - -- ``network``: - the Ethernet driver. - -- ``shmsupp``: - support of shared memory driver MPCI layer in a multiprocessor system, - -- ``include``: - include files for this BSP. - -- ``gnatsupp``: - BSP specific support for the GNU Ada run-time. Each BSP that wishes to have - the possibility to map faults or exceptions into Ada language exceptions or - hardware interrupts into Ada interrupt tasks must provide this support. - -There may be other directories in the BSP tree and the name should be -indicative of the functionality of the code within that directory. - -The build order of the BSP is determined by the Makefile structure. This -structure is discussed in more detail in the :ref:`Makefiles` chapter. - -.. sidebar: - -This manual refers to the gen68340 BSP for numerous concrete examples. You -should have a copy of the gen68340 BSP available while reading this piece of -documentation. This BSP is located in the following directory: - -.. code-block:: c - - c/src/lib/libbsp/m68k/gen68340 - -Later in this document, the $BSP340_ROOT label will be used to refer to this -directory. +The BSPs are all under the `bsps <https://git.rtems.org/rtems/tree/bsps>`_ +directory. The structure in the source subtree is: + +* :file:`bsps/shared` +* :file:`bsps/@RTEMS_CPU@/shared` +* :file:`bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@` + +The ``@RTEMS_CPU@`` is a particular architecture, e.g. arm, +powerpc, sparc, etc. The ``@RTEMS_BSP_FAMILY@`` directories +contain BSPs for a particular system on chip (SoC) or processor family. + +Use the following structure under the :file:`bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@`: + +* :file:`ata` - the legacy ATA/IDE driver. +* :file:`cache` - cache controller support. +* :file:`clock` - the clock driver. +* :file:`config` - build system configuration files. +* :file:`console` - the console driver. +* :file:`contrib` - imports of external sources. + + * The layout of external sources should be used as is if possible. + +* :file:`i2c` - the I2C driver. +* :file:`include` - public header files. +* :file:`irq` - the interrupt controller support. +* :file:`mpci` - support for heterogeneous multiprocessing + (``RTEMS_MULTIPROCESSING``). +* :file:`net` - legacy network stack drivers. +* :file:`rtc` - the RTC driver. +* :file:`spi` - the SPI driver. +* :file:`start` - everything required to run a minimal application without + devices. + + * :file:`start.S` - lowest level startup code. + * :file:`bspstart.c` - low level startup code. + * :file:`bspsmp.c` - SMP support. + * :file:`linkcmds` - the linker command file. +* :file:`btimer` - the benchmark timer driver. -- 2.12.3 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel