diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 285d274b5d..ef444506f5 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@
Last Updated: March 23, 2011
+Last Updated: April 1, 2011
@@ -57,11 +57,12 @@ 2.11 nuttx/mm/include/irq.h
:
This file needs to define some architecture specific functions (usually
- inline if the compiler supports inlining) and structure. These include:
+ inline if the compiler supports inlining) and some structures. These include:
struct xcptcontext
:
@@ -397,6 +402,57 @@
by the board.
include/syscall.h
:
+ This file needs to define some architecture specific functions (usually
+ inline if the compiler supports inlining) to support software interrupts
+ or syscalls that can be used all from user-mode applications into
+ kernel-mode NuttX functions.
+ This directory must always be provided to prevent compilation errors.
+ However, it need only contain valid function declarations if the architecture
+ supports the CONFIG_NUTTX_KERNEL
configuration.
+ uintptr_t sys_call0(unsigned int nbr)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with no (additional) parameters.
+ uintptr_t sys_call1(unsigned int nbr, uintptr_t parm1)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with one (additional) parameter.
+ uintptr_t sys_call2(unsigned int nbr, uintptr_t parm1, uintptr_t parm2)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with two (additional) parameters.
+ uintptr_t sys_call3(unsigned int nbr, uintptr_t parm1, uintptr_t parm2, uintptr_t parm3)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with three (additional) parameters.
+ uintptr_t sys_call4(unsigned int nbr, uintptr_t parm1, uintptr_t parm2, uintptr_t parm3, uintptr_t parm4)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with four (additional) parameters.
+ uintptr_t sys_call5(unsigned int nbr, uintptr_t parm1, uintptr_t parm2, uintptr_t parm3, uintptr_t parm4, uintptr_t parm5)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with five (additional) parameters.
+ uintptr_t sys_call6(unsigned int nbr, uintptr_t parm1, uintptr_t parm2, uintptr_t parm3, uintptr_t parm4, uintptr_t parm5, uintptr_t parm6)
:
+ nbr
is one of the system call numbers that can be found in include/sys/syscall.h
.
+ This function will perform a system call with six (additional) parameters.
+
+ This file must also define NR_IRQS
, the total number of IRQs supported
+ by the board.
+
src/
<chip-name>/
This sub-directory contains chip-specific source files.
@@ -909,7 +965,15 @@ include/
The files forming core of the NuttX RTOS reside here.
-+ If NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y), + then the contents of this directory are built. + This directory holds a syscall interface that can be used for communication + between user-mode applications and the kernel-mode RTOS. +
+ +This directory holds a collection of tools and scripts to simplify configuring, building and maintaining NuttX. @@ -931,14 +995,14 @@ tools/ `-- zipme
The top-level Makefile
in the ${TOPDIR}
directory contains all of the top-level control
logic to build NuttX.
Use of this Makefile
to build NuttX is described below.
This directory contains most of the network applications. Some of these are original with NuttX (like tftpc and dhcpd) and others were leveraged from the uIP-1.0 apps directory. @@ -980,12 +1044,12 @@ netutils/ `-- (netutils common files)
This directory contains for the core of the NuttShell (NSH) application.
-Example and test programs to build against.
@@ -2791,6 +2855,15 @@ buildCONFIG_ARCH_LOWPUTC
: architecture supports low-level, boot
time console output
+ CONFIG_NUTTX_KERNEL
:
+ With most MCUs, NuttX is built as a flat, single executable image
+ containing the NuttX RTOS along with all application code.
+ The RTOS code and the application run in the same address space and at the same kernel-mode privileges.
+ If this option is selected, NuttX will be built separately as a monolithic, kernel-mode module and the applications
+ can be added as a separately built, user-mode module.
+ In this a system call layer will be built to support the user- to kernel-mode interface to the RTOS.
+ CONFIG_MM_REGIONS
: If the architecture includes multiple
regions of memory to allocate from, this specifies the