diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index ce18662b6da..01abeba222b 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -149,7 +149,7 @@
4.5.16 up_addrenv_kstackfree()
4.6 boardctl() Application Interface
- 4.7 Symmetric Multiprocssing (SMP) Application Interface
+ 4.7 Symmetric Multiprocessing (SMP) Application Interface
up_testset()up_cpu_index()Directory Structure. - The general directly layout for NuttX is very similar to the directory structure + The general directory layout for NuttX is very similar to the directory structure of the Linux kernel -- at least at the most superficial layers. At the top level is the main makefile and a series of sub-directories identified below and discussed in the following paragraphs: @@ -423,7 +423,7 @@ Chip/SoC specific files. Each processor processor architecture is embedded in chip or System-on-a-Chip (SoC) architecture. The full chip architecture includes the processor architecture plus chip-specific interrupt logic, - clocking logic, general purpose I/O (GIO) logic, and specialized, internal peripherals (such as UARTs, USB, etc.). + clocking logic, general purpose I/O (GPIO) logic, and specialized, internal peripherals (such as UARTs, USB, etc.).
These chip-specific files are contained within chip-specific sub-directories in the
arch/<arch-name>/ directory and are selected via
@@ -908,7 +908,7 @@ config ARCH_BOARD
In our case, these files reside in configs/myboard and we add the following to the long list of defaults (again in alphabetical order):
- default "myboar" if ARCH_BOARD_MYBOARD + default "myboard" if ARCH_BOARD_MYBOARD
Now the build system knows where to find your board configuration! @@ -1011,7 +1011,7 @@ drivers/ |-- spi/ | |-- Kconfig | |-- Make.defs -| `-- (Common SPI-related drivers and helper fuctions) +| `-- (Common SPI-related drivers and helper functions) |-- syslog/ | |-- Kconfig | |-- Make.defs @@ -1141,7 +1141,7 @@ include/ | |-input/ | | `-- (Input device driver header files) | |-ioexpander/ -| | `-- (I/O exander and GPIO drvier header files) +| | `-- (I/O expander and GPIO driver header files) | |-lcd/ | | `-- (LCD driver header files) | |-leds/ @@ -1184,7 +1184,7 @@ include/
This is a (almost) empty directory that has a holding place for generated static libraries. - The NuttX build system generates a collection of such static libraries in this directory during the compile phaase. + The NuttX build system generates a collection of such static libraries in this directory during the compile phase. These libraries are then in a known place for the final link phase where they are accessed to generated the final binaries.
@@ -1309,7 +1309,7 @@ tools/ |-- cnvwindeps.c |-- copydir.sh / copydir.bat |-- define.sh / define.bat -|-- incdir.sh / indir.bat +|-- incdir.sh / incdir.bat |-- indent.sh |-- link.sh / link.bat |-- mkconfig.c @@ -2137,7 +2137,7 @@ elseCONFIG_RTC_EXTERNAL will configure the operating
system so that it defers initialization of its time facilities.
@@ -2165,7 +2165,7 @@ else
up_rtc_initialize().
- Initialize the builtin, MCU hardware RTC per the selected configuration.
+ Initialize the built-in, MCU hardware RTC per the selected configuration.
This function is called once very early in the OS initialization sequence.
NOTE that initialization of external RTC hardware that depends on the
availability of OS resources (such as SPI or I2C) must be deferred
@@ -2309,14 +2309,14 @@ config ARCH_SIM
The interfaces that must be provided by the platform specified code are defined in include/nuttx/arch.h, listed below, and summarized in the following paragraphs:
_timer_initialize():
- Initializes the timer facilities. Called early in the intialization sequence (by up_intialize()).
+ Initializes the timer facilities. Called early in the initialization sequence (by up_initialize()).
up_timer_gettime():
@@ -2336,7 +2336,7 @@ config ARCH_SIM
up_alarm_start():
- Enables (or re-enables) the alaram.
+ Enables (or re-enables) the alarm.
@@ -2379,7 +2379,7 @@ void <arch>_timer_initialize()(void);
Description:
up_intialize(). On return, the current up-time should be available from up_timer_gettime() and the interval timer is ready for use (but not actively timing).
+ Initializes all platform-specific timer facilities. This function is called early in the initialization sequence by up_initialize(). On return, the current up-time should be available from up_timer_gettime() and the interval timer is ready for use (but not actively timing).
Input Parameters:
Assumptions:
up_alarm_start()Description:
- Start the alarm.sched_timer_expiration() will be called when the alarm occurs (unless up_alaram_cancel is called to stop it).
+ Start the alarm. sched_timer_expiration() will be called when the alarm occurs (unless up_alarm_cancel is called to stop it).
Input Parameters:
@@ -2484,7 +2484,7 @@ int up_timer_cancel(FAR struct timespec *ts);Assumptions:
up_timer_start()
#include <nuttx/wdog.h>
- Sint wd_gettime(WDOG_ID wdog);
+ int wd_gettime(WDOG_ID wdog);
Description: @@ -2787,7 +2787,7 @@ typedef uint32_t wdparm_t;
CONFIG_SCHED_HPWORK.
- Enables the hight prioirity work queue.
+ Enables the hight priority work queue.
CONFIG_SCHED_HPWORKPRIORITY.
The execution priority of the high-priority worker thread. Default: 224
@@ -2815,7 +2815,7 @@ typedef uint32_t wdparm_t;
Compared to the High Priority Work Queue. - The lower priority work queue runs at a lower priority than the high priority work queue, of course, and so is inapproperiate to serve as a driver bottom half. The lower priority work queue has the other advantages, however, that make it better suited for some tasks: + The lower priority work queue runs at a lower priority than the high priority work queue, of course, and so is inappropriate to serve as a driver bottom half. The lower priority work queue has the other advantages, however, that make it better suited for some tasks:
struct work_s.
- Defines one entry in the work queue. This is a client-allocated structure. Work queue clients should not reference any field in this structure since they are subjec to change. The user only needs this structure in order to declare instances of the work structure. Handling of all fields is performed by the work queue interfaces described below.
+ Defines one entry in the work queue. This is a client-allocated structure. Work queue clients should not reference any field in this structure since they are subject to change. The user only needs this structure in order to declare instances of the work structure. Handling of all fields is performed by the work queue interfaces described below.
CPUs that support memory management units (MMUs) may provide address environments within which tasks and their child threads execute.
The configuration indicates the CPUs ability to support address environments by setting the configuration variable CONFIG_ARCH_HAVE_ADDRENV=y.
- That will enable the selection of the actual address evironment support which is indicated by the selection of the configuration variable CONFIG_ARCH_ADDRENV=y.
+ That will enable the selection of the actual address environment support which is indicated by the selection of the configuration variable CONFIG_ARCH_ADDRENV=y.
These address environments are created only when tasks are created via exec() or exec_module() (see include/nuttx/binfmt/binfmt.h).
@@ -3697,7 +3697,7 @@ void lpwork_restorepriority(uint8_t reqprio);
-1 (ERROR) is returned on failure with the errno variable to to indicate the nature of the failure.
According to Wikipedia: "Symmetric multiprocessing (SMP) involves a symmetric multiprocessor system hardware and software architecture where two or more identical processors connect to a single, shared main memory, have full access to all I/O devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes. Most multiprocessor systems today use an SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors.
@@ -3780,7 +3780,7 @@ int up_cpu_start(int cpu);Description:
- In an SMP configution, only one CPU is initially active (CPU 0). + In an SMP configuration, only one CPU is initially active (CPU 0). System initialization occurs on that single thread. At the completion of the initialization of the OS, just before beginning normal multitasking, the additional CPUs would be started by calling this function.
@@ -3926,7 +3926,7 @@ void sched_timer_expiration(void); Base code implementation assumes that this function is called from interrupt handling logic with interrupts disabled.sched_alaram_expiration()sched_alarm_expiration()Function Prototype:
#include <nuttx/arch.h> @@ -4156,11 +4156,11 @@ void board_autoled_off(int led);NOTE: In most architectures,board_autoled_initialize()is called from board-specific initialization logic. But there are a few architectures where this initialization function is still called from common chip architecture logic. - This interface is nott, however, a common board interface in any event. + This interface is not, however, a common board interface in any event.WARNING: This interface name will eventually be removed; do not use it in new board ports. - New implementations should not use the naming convention for common board interfaces, but should instted use the naming conventions for microprocessor-specific interfaces or the board-specific interfaces (such asstm32_led_initialize()). + New implementations should not use the naming convention for common board interfaces, but should instead use the naming conventions for microprocessor-specific interfaces or the board-specific interfaces (such asstm32_led_initialize()).
CONFIG_IOB_THROTTLE
CONFIG_IOB_DEBUG
CONFIG_DEBUG_FEATURES) with IOBs are being used to syslog buffering logic (CONFIG_SYSLOG_BUFFER).
+ NOTE that this selection is not available if DEBUG features are not enabled (CONFIG_DEBUG_FEATURES) with IOBs are being used to syslog buffering logic (CONFIG_SYSLOG_BUFFER).
- This structure epresents one I/O buffer. A packet is contained by one or more I/O buffers in a chain. The io_pktlen is only valid for the I/O buffer at the head of the chain.
+ This structure represents one I/O buffer. A packet is contained by one or more I/O buffers in a chain. The io_pktlen is only valid for the I/O buffer at the head of the chain.
@@ -6116,7 +6116,7 @@ int setlogmask(int mask);
- Kernel Build: The kernel build is compliant with the POSIX requirement: There will be one mask for for each user process, controlling the SYSLOG output only form that process. There will be a separate mask accessable only in the kernel code to control kernel SYSLOG output. + Kernel Build: The kernel build is compliant with the POSIX requirement: There will be one mask for for each user process, controlling the SYSLOG output only form that process. There will be a separate mask accessible only in the kernel code to control kernel SYSLOG output.
The above are all standard interfaces as defined at OpenGroup.org. Those interfaces are available for use by application software. The remaining interfaces discussed in this section are non-standard, OS-internal interfaces. @@ -6124,7 +6124,7 @@ int setlogmask(int mask);
- In NuttX, syslog output is really synonymous to debug output and, herefore, the debugging interface macros defined in the header file
+ In NuttX, syslog output is really synonymous to debug output and, therefore, the debugging interface macros defined in the header file
include/debug.h are also syslogging interfaces. Those macros are simply wrappers around syslog(). The debugging interfaces differ from the syslog interfaces in that:
warn(). The warn() macro has medium priority (LOG_WARN) and is controlled by CONFIG_DEBUG_subsystem_WARN. The warn() is intended to
- note exceptional or unexpected conditions that meigh be potential
+ note exceptional or unexpected conditions that might be potential
errors or, perhaps, minor errors that easily recovered.
syslog_channel() is a non-standard, internal OS interface and is not available to applications. It may be called numerous times as necessary to change channel interfaces.
By default, all system log output goes to console (/dev/console).
-Input Parmeters: +
Input Parameters:
@@ -6331,7 +6331,7 @@ int syslog_initialize(enum syslog_init_e phase);
- The output generated by up_putc() is immediate and in real-time. The normal SYSLOG output, on the other hand, is buffered in the serial driver and may be delayed with respect to the immediate output by many lines. Therefore, the interrupt level SYSLOG ouput provided throug up_putc() is grossly out of synchronization with other debug output
+ The output generated by up_putc() is immediate and in real-time. The normal SYSLOG output, on the other hand, is buffered in the serial driver and may be delayed with respect to the immediate output by many lines. Therefore, the interrupt level SYSLOG output provided through up_putc() is grossly out of synchronization with other debug output
- CONFIG_SYSLOG_CONSOLE. This configuration option is manually selected from the SYSLOG menu. This is the option that acutally enables the SYSLOG console device. It depends on CONFIG_DEV_CONSOLE and it will automatically select CONFIG_SYSLOG_SERIAL_CONSOLE if CONFIG_SERIAL_CONSOLE is selected.
+ CONFIG_SYSLOG_CONSOLE. This configuration option is manually selected from the SYSLOG menu. This is the option that actually enables the SYSLOG console device. It depends on CONFIG_DEV_CONSOLE and it will automatically select CONFIG_SYSLOG_SERIAL_CONSOLE if CONFIG_SERIAL_CONSOLE is selected.
@@ -6412,7 +6412,7 @@ int syslog_initialize(enum syslog_init_e phase);
The system console device, /dev/console, is a character driver with some special properties. However, any character driver may be used as the SYSLOG output channel. For example, suppose you have a serial console on /dev/ttyS0 and you want SYSLOG output on /dev/ttyS1. Or suppose you support only a Telnet console but want to capture debug output /dev/ttyS0.
- This SYSLOG device channel is selected with CONFIG_SYSLOG_CHAR and has no other dependencies. Differences fromthe SYSLOG console channel include:
+ This SYSLOG device channel is selected with CONFIG_SYSLOG_CHAR and has no other dependencies. Differences from the SYSLOG console channel include:
- Monitors activity from drivers (and from other parts of the syste), and + Monitors activity from drivers (and from other parts of the system), and
IDLE and some simple simple steps to reduce power
consumption provided that they do not interfere with normal
Operation. Simply dimming the a backlight might be an example
- somethat that would be done when the system is idle.
+ some that that would be done when the system is idle.
STANDBY