diff --git a/Documentation/NXGraphicsSubsystem.html b/Documentation/NXGraphicsSubsystem.html index 27ef359b4a4..6dbb7be3df6 100644 --- a/Documentation/NXGraphicsSubsystem.html +++ b/Documentation/NXGraphicsSubsystem.html @@ -13,7 +13,7 @@
Last Updated: May 16, 2019
+Last Updated: August 8, 2019
@@ -960,7 +960,7 @@ struct nx_callback_s
The NX server may be started in your board startup logic by simply calling the function nxmu_start().
- The board startup logic usually resides the the boards/board/src directory.
+ The board startup logic usually resides the the boards/arch/chip/board/src directory.
The board startup logic can run automatically during the early system if CONFIG_BOARD_LATE_INITIALIZE is defined in the configuration.
Or, the board startup logic can execute under control of the application by calling the boardctl(BOARDIOC_INIT, arg) OS interface.
Building apps/examples/nx.
NX testing was performed using apps/examples/nx with the
Linux/Cygwin-based NuttX simulator.
- Configuration files for building this test can be found in boards/sim/configs/nx
- and boards/sim/configs/nx11.
+ Configuration files for building this test can be found in boards/sim/sim/sim/configs/nx
+ and boards/sim/sim/sim/configs/nx11.
There are two alternative configurations for building the simulation:
boards/sim/configs/nx/defconfig.
+ The configuration using the configuration file at boards/sim/sim/sim/configs/nx/defconfig.
This default configuration exercises the NX logic a 8 BPP but provides no visual feedback.
In this configuration, a very simple, simulated framebuffer driver is used that is
based upon a simple region of memory posing as video memory.
@@ -4222,7 +4222,7 @@ make
- The preferred configuration is at boards/sim/configs/nx11/defconfig.
+ The preferred configuration is at boards/sim/sim/sim/configs/nx11/defconfig.
This configuration extends the test with a simulated framebuffer driver
that uses an X window as a framebuffer.
This is a superior test configuration because the X window appears at your desktop
@@ -4266,7 +4266,7 @@ sudo ln -s libXext.so.6.4.0 libXext.so
Refer to the readme file in sim configuration - README.txt file for additional information. + README.txt file for additional information.
Last Updated: February 11, 2019
+Last Updated: August 8, 2019
NOTE:
apps/nshlib/rcS.template generates the standard, default nsh_romfsimg.h file.
- If CONFIG_NSH_ARCHROMFS is defined in the NuttX configuration file, then a custom, board-specific nsh_romfsimg.h file residing in boards/<board>/include will be used.
- NOTE when the OS is configured, include/arch/board will be linked to boards/<board>/include.
+ If CONFIG_NSH_ARCHROMFS is defined in the NuttX configuration file, then a custom, board-specific nsh_romfsimg.h file residing in the boards/<arch>/<chip>/<board>/include directory will be used.
+ NOTE when the OS is configured, include/arch/board will be linked to boards/<arch>/<chip>/<board>/include.
All of the startup-behavior is contained in rcS.template. The
@@ -4022,7 +4022,7 @@ nsh>
The behavior of NSH can be modified with the following settings in
- the boards/<board-name>/defconfig file:
+ the boards/<arch>/<chip>/<board>/defconfig file:
CONFIG_NSH_ARCHROMFS |
- May be defined to specify an alternative ROMFS image that can be found at boards/<board>/include/nsh_romfsimg.h.
+ May be defined to specify an alternative ROMFS image that can be found at boards/<arch>/<chip>/<board>/include/nsh_romfsimg.h.
|
These board-specific configuration files can be found in the
- boards/<board-name>/ sub-directories and are discussed
+ boards/<arch-name>/<chip-name>/<board-name>/ sub-directories and are discussed
in a paragraph below.
- The directory boards/stm32f4disovery/, as an example, holds board-specific logic for the STM32F4 Discovery board and is selected via the CONFIG_ARCH_BOARD="stm32f4discovery" configuration setting.
+ The directory boards/arm/stm32/stm32f4disovery/, as an example, holds board-specific logic for the STM32F4 Discovery board and is selected via the CONFIG_ARCH_BOARD="stm32f4discovery" configuration setting.
- The boards/ subdirectory contains configuration data for each board.
- These board-specific configurations plus the architecture-specific configurations in
- the arch/ subdirectory complete define a customized port of NuttX.
+ The boards/ subdirectory contains custom logic and board configuration data for each board.
+ These board-specific configurations plus the architecture-specific configurations in the arch/ subdirectory complete define a customized port of NuttX.
The boards/ directory contains board specific configuration files. Each board must
- provide a subdirectory <board-name> under boards/ with the following characteristics:
+ provide a sub-directory <board-name> under boards/<arch-name>/><chip-name>/ with the following characteristics:
<board-name> @@ -852,7 +855,7 @@2.5.2.2 Board Specific Configuration Sub-Directories
- The
boards/<board-name>/configssub-directory holds all of the + Theboards/<arch-name>/<chip-name>/<board-name>/configssub-directory holds all of the files that are necessary to configure NuttX for the particular board. A board may have various different configurations using the common source files. Each board configuration is described by two files:Make.defsanddefconfig. @@ -922,7 +925,7 @@2.5.3 Supported Boards
- All of the specific boards supported by NuttX are identified in the README.txt file. + All of the specific boards supported by NuttX are identified in the README.txt file.
2.5.4 Adding a New Board Configuration
@@ -932,7 +935,7 @@
You will need modify the file
@@ -982,7 +985,7 @@ config ARCH_BOARDboards/Kconfig. Let's look at the STM32F4-Discovery configuration in theKconfigfile and see how we would add a new board directory to the configuration. - For this configuration let's say that you new board resides in the directoryboards/myboard; + For this configuration let's say that you new board resides in the directoryboards/myarch/mychip/myboard; It uses an MCU selected withCONFIG_ARCH_CHIP_MYMCU; and you want the board to be selected withCONFIG_ARCH_BOARD_MYBOARD. Then here is how you can clone the STM32F4-Discovery configuration inboards/Kconfigto support your new board configuration.
This logic will assign string value to a configuration variable called CONFIG_ARCH_BOARD that will name the directory where the board-specific files reside.
- In our case, these files reside in boards/myboard and we add the following to the long list of defaults (again in alphabetical order):
+ In our case, these files reside in boards/myarch/mychip/myboard and we add the following to the long list of defaults (again in alphabetical order):
default "myboard" if ARCH_BOARD_MYBOARD
@@ -991,15 +994,15 @@ config ARCH_BOARD
Now the build system knows where to find your board configuration!
- And finally, add something like this near the bottom of boards/myboard:
+ And finally, add something like this near the bottom of boards/myarch/mychip/myboard:
if ARCH_BOARD_MYBOARD -source "boards/myboard/Kconfig" +source "boards/myarch/mychip/myboard/Kconfig" endif
- This includes additional, board-specific configuration variable definitions in boards/myboard/Kconfig.
+ This includes additional, board-specific configuration variable definitions in boards/myarch/mychip/myboard/Kconfig.
boards/<board-name>/configs/[<config-dir>/]Make.defs to ${TOPDIR}/Make.defs (see NOTE below),boards/<board-name>/configs/[<config-dir>/]defconfig to ${TOPDIR}/.configboards/<arch-name>/<chip-name>/<board-name>/configs/[<config-dir>/]Make.defs to ${TOPDIR}/Make.defs (see NOTE below),boards/<arch-name>/<chip-name>/<board-name>/configs/[<config-dir>/]defconfig to ${TOPDIR}/.config@@ -1570,7 +1573,7 @@ tools/ And <app-dir> is the location of the optional application directory.
- NOTE: Recall that the Make.defs file may reside in either the boards/<board-name>/configs/[<config-dir> directory or in the boards/<board-name>/scripts.
+ NOTE: Recall that the Make.defs file may reside in either the boards/<arch-name>/<chip-name>/<board-name>/configs/[<config-dir> directory or in the boards/<arch-name>/<chip-name>/<board-name>/scripts.
Automated Configuration. @@ -1717,8 +1720,8 @@ The specific environmental definitions are unique for each board but should incl
${TOPDIR}/.version with version 0.0 if one does not exist.include/nuttx/version.h using the ${TOPDIR}/.version file.${TOPDIR}/arch/<arch-name>/include at ${TOPDIR}/include/arch.${TOPDIR}/boards/<board-name>/include at ${TOPDIR}/include/arch/board.${TOPDIR}/boards/<board-name>/src at ${TOPDIR}/arch/<arch-name>/src/board${TOPDIR}/boards/<arch-name>/<chip-name>/<board-name>/include at ${TOPDIR}/include/arch/board.${TOPDIR}/boards/<arch-name>/<chip-name>/<board-name>/src at ${TOPDIR}/arch/<arch-name>/src/board${APPDIR}/include at ${TOPDIR}/include/appsstm32f4discovery_.
Sometimes the board name is too long so stm32_ would be okay too.
- These should be prototyped in boards/<board>/src/<board>.h and should not be used outside of that directory since board-specific definitions have no meaning outside of the board directory.
+ These should be prototyped in boards/<arch>/<chip>/<board>/src/<board>.h and should not be used outside of that directory since board-specific definitions have no meaning outside of the board directory.
@@ -1799,7 +1802,7 @@ The specific environmental definitions are unique for each board but should incl
Keeping in the spirit of the layered architecture, these publicly visible header files must not export platform-specific definitions; Only platform-specific realizations of standardized declarations should be visible.
Those standardized declarations should appear in common header files such as those provided by include/nuttx/arch.h and include/nuttx/board.h.
Similarly, these publicly visible header file must not include files that reside in the inaccessible platform-specific source directories.
- For example, the board-specific boards/<board>/include/board.h header file must never include microcontroller-specific header files that reside in arch/<arch>/src/<mcu>.
+ For example, the board-specific boards/<arch>/<chip>/<board>/include/board.h header file must never include microcontroller-specific header files that reside in arch/<arch>/src/<mcu>.
That practice will cause inclusion failures when the publicly visible file is included in common logic outside of the platform-specific source directories.
drivers/input.
arch/<architecture>/src/<hardware> directory for the processor architectures that have build in touchscreen controllers or (2) the boards/<board>/src/ directory for boards that use an external touchscreen controller chip.
+ Platform-specific touchscreen drivers reside in either: (1) The arch/<architecture>/src/<hardware> directory for the processor architectures that have build in touchscreen controllers or (2) the boards/<arch>/<chip>/<board>/src/ directory for boards that use an external touchscreen controller chip.
Examples:
- drivers/lcd/p14201.c, boards/sam3u-ek/src/up_lcd.c.
+ drivers/lcd/p14201.c, boards/arm/sam34/sam3u-ek/src/up_lcd.c.
See also the usage of the LCD driver in the graphics/ directory.
Examples:
- The function nsh_waiter() in the file boards/olimex-lpc1766stk/src/lpc17_40_appinit.c.
+ The function nsh_waiter() in the file boards/arm/lpc17xx_40xx/olimex-lpc1766stk/src/lpc17_40_appinit.c.