diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index b2eb55d047..02155fe126 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -383,7 +383,7 @@
- Archictecture- and Chip-Specific Directories.
+ Architecture- and Chip-Specific Directories.
All processor architecture-specific directories are maintained in sub-directories of
the arch/
directory.
Different chips or SoC's may implement the same processor core.
@@ -394,7 +394,7 @@
arch/sim
:
A user-mode port of NuttX to the x86 Linux platform is available.
- The purpose of this port is primarily to support OS feature developement.
+ The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete.
The configs/
<board-name>/
sub-directory holds all of the
- files that are necessary to configure Nuttx for the particular board.
+ 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 three files: Make.defs
, defconfig
, and setenv.sh
.
Typically, each set of configuration files is retained in a separate configuration sub-directory
@@ -610,7 +610,7 @@
setenv.sh
: This is a script that you can include that will be installed at
- the toplevel of the directory structure and can be sourced to set any
+ the top level of the directory structure and can be sourced to set any
necessary environment variables.
configs/ntosd-dm320
:
This port uses the Neuros OSD with a GNU arm-elf toolchain* under Linux or Cygwin.
See Neuros Wiki
- for futher information.
+ for further information.
NuttX operates on the ARM9EJS of this dual core processor.
STATUS: This port is code complete, verified, and included in the
NuttX 0.2.1 release.
@@ -660,7 +660,7 @@
configs/olimex-strp711
:
This port uses the Olimex STR-P711 board arm-elf toolchain* under Linux or Cygwin.
See the Olimex web site
- for futher information.
+ for further information.
STATUS: Coding for the basic port -- serial console and system timer -- is complete
but untested to problems I am having using OpenOCD with a wiggler clone JTAG.
configs/sim
:
A user-mode port of NuttX to the x86 Linux platform is available.
- The purpose of this port is primarily to support OS feature developement.
+ The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete.
configs/xtrs
:
TRS80 Model 3. This port uses a vintage computer based on the Z80.
An emulator for this computer is available to run TRS80 programs on a
- linux platform (http://www.tim-mann.org/xtrs.html).
+ Linux platform (http://www.tim-mann.org/xtrs.html).
configs/z16f2800100zcog
@@ -701,7 +701,7 @@
That simulator can be found in the NuttX CVS
here.
This port also the SDCC toolchain
- under Linux or Cygwin(verfied with version 2.6.0).
+ under Linux or Cygwin(verified with version 2.6.0).
configs/z8encore000zco
@@ -782,7 +782,7 @@ graphics/
| `-- (NuttX graphics library source files)
|-- nx/
| |-- Make.defs
-| `-- (Nuttx X-server source files)
+| `-- (NuttX X-server source files)
`-- (common file system source files)
@@ -818,7 +818,7 @@ include/
This directory holds a collection of standard libc-like functions with custom - interfaces into Nuttx. + interfaces into NuttX.
This directory contains the implementation of the socket APIs.
- The subdirectory, uip
contians the uIP port.
+ The subdirectory, uip
contains the uIP port.
.config
that describes the current configuration.Make.defs
that provides customized build targers, andMake.defs
that provides customized build targets, andsetenv.sh
that sets up the configuration environment for the build.
@@ -1051,7 +1051,7 @@ The system can be re-made subsequently by just typing make
.
the processor specific portions of the new TCB.
- This function must setup the intial architecture registers + This function must setup the initial architecture registers and/or stack so that execution will begin at tcb->start on the next context switch.
@@ -1156,7 +1156,7 @@ The system can be re-made subsequently by just typingmake
.
tcb
: Refers to the tcb to be unblocked. This tcb is
in one of the waiting tasks lists. It must be moved to
the ready-to-run list and, if it is the highest priority
- ready to run taks, executed.
+ ready to run tasks, executed.
make
.
Unlike other UP APIs, this function may be called directly from user programs in various states. The - implementation of this function should diable interrupts + implementation of this function should disable interrupts before performing scheduling operations.
@@ -1272,7 +1272,7 @@ The system can be re-made subsequently by just typingmake
.
This function is called by the OS when one or more
signal handling actions have been queued for execution.
The architecture specific code must configure things so
- that the 'igdeliver' callback is executed on the thread
+ that the 'sigdeliver' callback is executed on the thread
specified by 'tcb' as soon as possible.
@@ -1337,7 +1337,7 @@ The system can be re-made subsequently by just typing make
.
#ifndef CONFIG_ARCH_NOINTC void up_disable_irq(int irq); -#endf +#endif
Description.
@@ -1364,7 +1364,7 @@ The system can be re-made subsequently by just typing make
.
#ifndef CONFIG_ARCH_NOINTC void up_enable_irq(int irq); -#endf +#endif
Description.
@@ -1385,7 +1385,7 @@ The system can be re-made subsequently by just typing make
.
#ifdef CONFIG_ARCH_IRQPRIO void up_enable_irq(int irq); -#endf +#endif
Description.
Set the priority of an IRQ.
@@ -1436,8 +1436,8 @@ The system can be re-made subsequently by just typing make
.
Prototype: void irq_dispatch(int irq, FAR void *context);
Description. - This function must be called from the achitecture- - specific logic in order to dispaly an interrupt to + This function must be called from the architecture- + specific logic in order to display an interrupt to the appropriate, registered handling logic.
@@ -1481,7 +1481,7 @@ The system can be re-made subsequently by just typingmake
.
The implementation of LED support is very specific to a board architecture.
Some boards have several LEDS, others have only one or two.
Some have none.
- Others LED matrices and show alphnumeric data, etc.
+ Others LED matrices and show alphanumeric data, etc.
The NuttX logic does not refer to specific LEDS, rather, it refers to an event to be shown on the LEDS
in whatever manner is appropriate for the board;
the way that this event is presented depends upon the hardware available on the board.
@@ -1587,27 +1587,27 @@ extern void up_ledoff(int led);
Overview. NuttX includes an optional, scalable file system. - This file-system may be omitted altogther; NuttX does not depend on the presence + This file-system may be omitted altogether; NuttX does not depend on the presence of any file system.
Pseudo Root File System.
- Or, a simple in-memory, psuedo file system can be enabled.
+ Or, a simple in-memory, pseudo file system can be enabled.
This simple file system can be enabled setting the CONFIG_NFILE_DESCRIPTORS
option to a non-zero value (see Appendix A).
This is an in-memory file system because it does not require any
storage medium or block driver support.
Rather, file system contents are generated on-the-fly as referenced via
standard file system operations (open, close, read, write, etc.).
- In this sense, the file system is psuedo file system (in the
+ In this sense, the file system is pseudo file system (in the
same sense that the Linux /proc
file system is also
- referred to as a psuedo file system).
+ referred to as a pseudo file system).
- Any user supplied data or logic can be accessed via the psuedo-file system.
+ Any user supplied data or logic can be accessed via the pseudo-file system.
Built in support is provided for character and block drivers in the
- /dev
psuedo file system directory.
+ /dev
pseudo file system directory.
Mounted File Systems
@@ -1615,7 +1615,7 @@ extern void up_ledoff(int led);
devices that provide access to true file systems backed up via some
mass storage device.
NuttX supports the standard mount()
command that allows
- a block driver to be bound to a mountpoint within the psuedo file system
+ a block driver to be bound to a mountpoint within the pseudo file system
and to a file system.
At present, NuttX supports only the VFAT file system.
drivers/loop.c
, drivers/mmcds/mmcsd_spi.c
, drivers/ramdisk.c
, etc.
+ drivers/loop.c
, drivers/mmcsd/mmcsd_spi.c
, drivers/ramdisk.c
, etc.
int netdev_register(FAR struct uip_driver_s *dev);
.
- Each Eterhenet driver registers itself by calling netdev_register()
.
+ Each Ethernet driver registers itself by calling netdev_register()
.
ubyte status(FAR struct spi_dev_s *dev, enum spi_dev_e devid);
uint16 send(FAR struct spi_dev_s *dev, uint16 wd);
void exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer, FAR void *rxbuffer, size_t nwords);
int registercallback(FAR struct spi_dev_s *dev, mediachange_t callback, void *arg);
int mmcsd_spislotinitialize(int minor, int slotno, FAR struct spi_dev_s *spi)
in drivers/mmcsd/mmcsd_spi.c
.
+ In general, the binding sequence is:
+ struct spi_dev_s
from the hardware-specific SPI device driver, and drivers/loop.c
, drivers/mmcds/mmcsd_spi.c
, drivers/ramdisk.c
, etc.
+ drivers/loop.c
, drivers/mmcsd/mmcsd_spi.c
, drivers/ramdisk.c
, etc.
struct i2c_dev_s
from the hardware-specific I2C device driver, and uart_register()
, passing it the
path
where it will appear in the pseudo-file-system and it's
initialized instance of struct uart_ops_s
.
- By convention, serial device drivers are registered at pathes like /dev/ttyS0
, /dev/ttyS1
, etc.
+ By convention, serial device drivers are registered at paths like /dev/ttyS0
, /dev/ttyS1
, etc.
See the uart_register()
implementation in drivers/serial.c
.
- The following configuration itemes select the architecture, chip, and + The following configuration items select the architecture, chip, and board configuration for the build.
CONFIG_ARCH_IRQPRIO
:
- Define if the architecture suports prioritizaton of interrupts and the
+ Define if the architecture supports prioritization of interrupts and the
up_prioritize_irq() API.CONFIG_INTELHEX_BINARY
:
Make the Intel HEX binary format used with many different loaders using the GNU objcopy program
- This option hould not be selected if you are not using the GNU toolchain.
+ This option should not be selected if you are not using the GNU toolchain.
CONFIG_MOTOROLA_SREC
:
Make the Motorola S-Record binary format used with many different loaders using the GNU objcopy program
Should not be selected if you are not using the GNU toolchain.
CONFIG_RAW_BINARY
:
- mmke a raw binary format file used with many different loaders using the GNU objcopy program.
+ Make a raw binary format file used with many different loaders using the GNU objcopy program.
This option should not be selected if you are not using the GNU toolchain.
CONFIG_HAVE_LIBM
:
@@ -1954,7 +1964,7 @@ extern void up_ledoff(int led);
CONFIG_HAVE_CXX
:
Toolchain supports C++ and CXX
, CXXFLAGS
, and COMPILEXX
- have been defined in the configuratins Make.defs
file.
+ have been defined in the configurations Make.defs
file.
CONFIG_DEBUG_SCHED
: enable OS debug output (disabled by default)
CONFIG_DEBUG_MM
: enable memory management debug output (disabld by default)
+ CONFIG_DEBUG_MM
: enable memory management debug output (disabled by default)
CONFIG_DEBUG_NET
: enable network debug output (disabled by default)
@@ -2003,7 +2013,7 @@ extern void up_ledoff(int led);
interval other than 10 msec.
CONFIG_RR_INTERVAL
: The round robin timeslice will be set
+ CONFIG_RR_INTERVAL
: The round robin time slice will be set
this number of milliseconds; Round robin scheduling can
be disabled by setting this value to zero.
CONFIG_TASK_NAME_SIZE
: Spcifies that maximum size of a
+ CONFIG_TASK_NAME_SIZE
: Specifies that maximum size of a
task name to save in the TCB. Useful if scheduler
instrumentation is selected. Set to zero to disable.
CONFIG_PRIORITY_INHERITANCE
: Set to enable support for
priority inheritance on mutexes and semaphores.
- Priority inheritance is a strategy of addessing
+ Priority inheritance is a strategy of addressing
priority inversion.
Details of the NuttX implementation of priority inheritance is
discussed elsewhere.
@@ -2096,7 +2106,7 @@ extern void up_ledoff(int led);
The architecture can provide optimized versions of the - following to improve sysem performance. + following to improve system performance.
CONFIG_MQ_MAXMSGSIZE
: Message structures are allocated with
- a fixed payload size given by this settin (does not include
+ a fixed payload size given by this setting (does not include
other message structure overhead.
CONFIG_IDLETHREAD_STACKSIZE
: The size of the initial stack.
- This is the thread that (1) performs the inital boot of the system up
+ This is the thread that (1) performs the initial boot of the system up
to the point where user_start() is spawned, and (2) there after is the
IDLE thread that executes only when there is no other thread ready to
run.
@@ -2517,7 +2527,7 @@ extern void up_ledoff(int led);