Doumentation/NuttxPortingGuide.html: Add description of board_early_initialize() and board_late_initialize().

This commit is contained in:
Gregory Nutt 2019-02-18 17:36:11 -06:00
parent 32a300806e
commit 2fbec4cdf6
4 changed files with 288 additions and 239 deletions

File diff suppressed because it is too large Load Diff

View File

@ -72,19 +72,10 @@
* 3. Common Board Interfaces.
*
* Any interface that is common across all boards should be prefixed
* with board_ and should be prototyped in this header file. These
* board_ definitions provide the interface between the board-level
* with board_ and should be prototyped in the board.h header file.
* These board_ definitions provide the interface between the board-level
* logic and the architecture-specific logic.
*
* Board related declarations are retained the file include/nuttx/board.h.
*
* There is also a configs/<board>/include/board.h header file that
* can be used to communicate other board-specific information between
* the architecture logic and even application logic. Any definitions
* which are common between a single architecture and several boards
* should go in this board.h header file; this file is reserved for
* board-related definitions common to all architectures.
*
* 4. Board-Specific Interfaces.
*
* Any interface which is unique to a board should be prefixed with

View File

@ -1151,8 +1151,8 @@ config BOARD_EARLY_INITIALIZE
bool "Custom board early initialization"
default n
---help---
By default, there are three points in time where you can insert
custom initialization logic:
There are three points in time where you can insert custom,
board-specific initialization logic:
1) <arch>_board_initialize(): This function is used only for
initialization of very low-level things like configuration of
@ -1167,7 +1167,7 @@ config BOARD_EARLY_INITIALIZE
At this same point in time, the OS will also call a board-
specific initialization function named board_early_initialize()
if CONFIG_BOARD_EARLY_INITIALIZE is selectd. The context in
if CONFIG_BOARD_EARLY_INITIALIZE is selected. The context in
which board_early_initialize() executes is suitable for early
initialization of most, simple device drivers and is a logical,
board-specific extension of up_initialize().
@ -1199,8 +1199,8 @@ config BOARD_LATE_INITIALIZE
bool "Custom board late initialization"
default n
---help---
By default, there are three points in time where you can insert
custom initialization logic:
There are three points in time where you can insert custom,
board-specific initialization logic:
1) <arch>_board_initialize(): This function is used only for
initialization of very low-level things like configuration of
@ -1215,7 +1215,7 @@ config BOARD_LATE_INITIALIZE
At this same point in time, the OS will also call a board-
specific initialization function named board_early_initialize()
if CONFIG_BOARD_EARLY_INITIALIZE is selectd. The context in
if CONFIG_BOARD_EARLY_INITIALIZE is selected. The context in
which board_early_initialize() executes is suitable for early
initialization of most, simple device drivers and is a logical,
board-specific extension of up_initialize().

View File

@ -573,6 +573,7 @@ void nx_start(void)
g_nx_initstate = OSINIT_TASKLISTS;
/* Initialize RTOS facilities *********************************************/
/* Initialize the semaphore facility. This has to be done very early
* because many subsystems depend upon fully functional semaphores.
*/
@ -711,6 +712,8 @@ void nx_start(void)
net_initialize();
#endif
/* Initialize Hardware Facilities *****************************************/
/* The processor specific details of running the operating system
* will be handled here. Such things as setting up interrupt
* service routines and starting the clock are some of the things
@ -732,6 +735,8 @@ void nx_start(void)
g_nx_initstate = OSINIT_HARDWARE;
/* Setup for Multi-Tasking ************************************************/
#ifdef CONFIG_MM_SHM
/* Initialize shared memory support */