diff --git a/Documentation/NXGraphicsSubsystem.html b/Documentation/NXGraphicsSubsystem.html index 27ef359b4a..6dbb7be3df 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>/configs
sub-directory holds all of the + Theboards/
<arch-name>/
<chip-name>/
<board-name>/configs
sub-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.defs
anddefconfig
. @@ -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 theKconfig
file 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/Kconfig
to 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 ofboards/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}/.config
boards/
<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/apps
stm32f4discovery_
.
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
.