Docs: Fix broken links and references in docs

Also add to the CI a problem matcher to better report issues

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
This commit is contained in:
Brennan Ashton 2020-10-20 01:40:45 -07:00 committed by Matias N
parent c412021904
commit 23cd1e030e
31 changed files with 379 additions and 198 deletions

View File

@ -16,7 +16,7 @@ on:
push: push:
jobs: jobs:
docs: build-html:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
@ -28,6 +28,7 @@ jobs:
cd Documentation/ cd Documentation/
pip3 install pipenv pip3 install pipenv
pipenv lock -r > requirements.txt pipenv lock -r > requirements.txt
- uses: ammaraskar/sphinx-problem-matcher@master
- uses: ammaraskar/sphinx-action@master - uses: ammaraskar/sphinx-action@master
with: with:
docs-folder: "Documentation/" docs-folder: "Documentation/"
@ -35,3 +36,17 @@ jobs:
with: with:
name: sphinx-docs name: sphinx-docs
path: Documentation/_build/html/ path: Documentation/_build/html/
linkcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v2
with:
python-version: '3.8'
- uses: ammaraskar/sphinx-problem-matcher@master
- name: Run linkcheck
run: |
cd Documentation/
pip3 install pipenv
pipenv install
pipenv run make linkcheck

View File

@ -1,9 +1,11 @@
******** ========
Commands Commands
******** ========
.. _cmdtest:
Evaluate Expression (test) Evaluate Expression (test)
-------------------------- **************************
**Command Syntax:** **Command Syntax:**
@ -38,8 +40,10 @@ the conditional command following the ``if`` in the
numeric-binary = integer -eq integer | integer -ge integer | integer -gt integer | integer -le integer | integer -lt integer | integer -ne integer numeric-binary = integer -eq integer | integer -ge integer | integer -gt integer | integer -le integer | integer -lt integer | integer -ne integer
.. _cmdaddroute:
Add a Routing Table Entry (addroute) Add a Routing Table Entry (addroute)
------------------------------------ ************************************
**Command Syntax:** **Command Syntax:**
@ -71,6 +75,8 @@ which is equivalent to
The second form of the addroute command can be used to set the The second form of the addroute command can be used to set the
default gateway. default gateway.
.. _cmdarp:
Access the ARP table (arp) Access the ARP table (arp)
************************** **************************
@ -102,6 +108,8 @@ Access the ARP table (arp)
nsh> arp -a 10.0.0.1 nsh> arp -a 10.0.0.1
nsh: arp: no such ARP entry: 10.0.0.1 nsh: arp: no such ARP entry: 10.0.0.1
.. _cmdbase64dec:
Base64 Decode (base64dec) Base64 Decode (base64dec)
************************* *************************
@ -111,6 +119,8 @@ Base64 Decode (base64dec)
**Synopsis**. *To be provided.* **Synopsis**. *To be provided.*
.. _cmdbase64enc:
Base64 Encode (base64enc) Base64 Encode (base64enc)
************************* *************************
@ -120,6 +130,8 @@ Base64 Encode (base64enc)
**Synopsis**. *To be provided.* **Synopsis**. *To be provided.*
.. _cmdbasename:
Extract Base File/Directory Name (basename) Extract Base File/Directory Name (basename)
******************************************* *******************************************
@ -131,6 +143,8 @@ Extract Base File/Directory Name (basename)
removing the preceding path segments and (optionally) removing any removing the preceding path segments and (optionally) removing any
trailing ``<suffix>``. trailing ``<suffix>``.
.. _cmdbreak:
Terminate a Loop (break) Terminate a Loop (break)
************************ ************************
@ -139,13 +153,15 @@ Terminate a Loop (break)
break break
**Synopsis**. The ``break`` command is only meaningful within the **Synopsis**. The ``break`` command is only meaningful within the
body of the a `while <#looping>`__ or `until <#looping>`__ loop, body of the a ``while`` or ``until`` loop,
between the ``do`` and ``done`` tokens. Outside of a loop, between the ``do`` and ``done`` tokens. Outside of a loop,
``break`` command does nothing. If the ``break`` command is ``break`` command does nothing. If the ``break`` command is
executed within the body of a loop, the loop will immediately executed within the body of a loop, the loop will immediately
terminate and execution will continue with the next command terminate and execution will continue with the next command
immediately following the ``done`` token. immediately following the ``done`` token.
.. _cmdcat:
Concatenate Files (cat) Concatenate Files (cat)
*********************** ***********************
@ -157,6 +173,8 @@ Concatenate Files (cat)
files at ``<path>`` to the console (or to another file if the files at ``<path>`` to the console (or to another file if the
output is redirected). output is redirected).
.. _cmdcd:
Change Current Working Directory (cd) Change Current Working Directory (cd)
************************************* *************************************
@ -180,6 +198,8 @@ Also sets the previous working directory environment variable
``cd ..`` sets the current working directory to the parent directory. ``cd ..`` sets the current working directory to the parent directory.
================== ===================================== ================== =====================================
.. _cmdcmp:
Compare Files (cmp) Compare Files (cmp)
******************* *******************
@ -191,6 +211,8 @@ Compare Files (cmp)
with the contents of the file at ``<path2>``. Returns an with the contents of the file at ``<path2>``. Returns an
indication only if the files differ. indication only if the files differ.
.. _cmdcp:
Copy Files (cp) Copy Files (cp)
*************** ***************
@ -202,6 +224,8 @@ Copy Files (cp)
``<source-path>`` to the location in the file system indicated by ``<source-path>`` to the location in the file system indicated by
``<dest-path>``. ``<dest-path>``.
.. _cmddate:
Show or set the date and time (date) Show or set the date and time (date)
************************************ ************************************
@ -216,6 +240,8 @@ date/time: ``MMM DD HH:MM:SS YYYY``. For example,
24-hour time is used. 24-hour time is used.
.. _cmddd:
Copy and Convert Files (dd) Copy and Convert Files (dd)
*************************** ***************************
@ -257,6 +283,8 @@ bucket::
brw-rw-rw- 0 ram0 brw-rw-rw- 0 ram0
nsh> dd if=/dev/ram0 of=/dev/null nsh> dd if=/dev/ram0 of=/dev/null
.. _cmddelroute:
Delete a Routing Table Entry (delroute) Delete a Routing Table Entry (delroute)
*************************************** ***************************************
@ -279,6 +307,8 @@ which is equivalent to::
nsh> delroute 11.0.0.0/24 nsh> delroute 11.0.0.0/24
.. _cmddf:
Show Volume Status (df) Show Volume Status (df)
*********************** ***********************
@ -304,6 +334,8 @@ configuration, then the ``df`` will also support an option ``-h``
which may be used to show the volume information in *human which may be used to show the volume information in *human
readable* format. readable* format.
.. _cmddirname:
Extract Path to a File/Directory (dirname) Extract Path to a File/Directory (dirname)
****************************************** ******************************************
@ -314,6 +346,8 @@ Extract Path to a File/Directory (dirname)
**Synopsis**. Extract the path string leading up to the full **Synopsis**. Extract the path string leading up to the full
``<path>`` by removing the final directory or file name. ``<path>`` by removing the final directory or file name.
.. _cmddmesg:
Dump Buffered SYSLOG Output (dmesg) Dump Buffered SYSLOG Output (dmesg)
*********************************** ***********************************
@ -330,6 +364,8 @@ that in-memory, circular buffer to the NSH console output.
``dmesg`` has the side effect of clearing the buffered data so ``dmesg`` has the side effect of clearing the buffered data so
that entering ``dmesg`` again will show only newly buffered data. that entering ``dmesg`` again will show only newly buffered data.
.. _cmdecho:
Echo Strings and Variables (echo) Echo Strings and Variables (echo)
********************************* *********************************
@ -343,6 +379,8 @@ output is re-directed).
The ``-n`` option suppresses the trailing newline character. The ``-n`` option suppresses the trailing newline character.
.. _cmdenv:
Show Environment Variables (env) Show Environment Variables (env)
******************************** ********************************
@ -370,6 +408,8 @@ environment. Example::
.. note::NSH local variables are *not* shown by the ``env`` .. note::NSH local variables are *not* shown by the ``env``
command. command.
.. _cmdexec:
Execute User Code (exec) Execute User Code (exec)
************************ ************************
@ -381,6 +421,8 @@ Execute User Code (exec)
NSH will pause until the execution unless the user logic is NSH will pause until the execution unless the user logic is
executed in background via ``exec <hex-address> &``. executed in background via ``exec <hex-address> &``.
.. _cmdexit:
Exit NSH (exit) Exit NSH (exit)
*************** ***************
@ -393,6 +435,8 @@ you have started some other tasks (perhaps using the ``exec``
command) and you would like to have NSH out of the way. For the command) and you would like to have NSH out of the way. For the
telnet front-end, ``exit`` terminates the telnet session. telnet front-end, ``exit`` terminates the telnet session.
.. _cmdexport:
Set an Environment Variable (export) Set an Environment Variable (export)
************************************ ************************************
@ -438,6 +482,8 @@ examples:
The ``export`` command is not supported by NSH unless both The ``export`` command is not supported by NSH unless both
``CONFIG_NSH_VARS=y`` and ``CONFIG_DISABLE_ENVIRON``\ is not set. ``CONFIG_NSH_VARS=y`` and ``CONFIG_DISABLE_ENVIRON``\ is not set.
.. _cmdfree:
Show Memory Manager Status (free) Show Memory Manager Status (free)
********************************* *********************************
@ -462,6 +508,8 @@ free This is the total size of memory occupied by free (not in use) chunks.
largest Size of the largest free (not in use) chunk. largest Size of the largest free (not in use) chunk.
======= ====================================== ======= ======================================
.. _cmdget:
Get File Via TFTP (get) Get File Via TFTP (get)
*********************** ***********************
@ -480,6 +528,8 @@ whose IP address is identified by ``<ip-address>``.
``-b`` Selects binary ("octet") transfer mode ``-b`` Selects binary ("octet") transfer mode
=================== ============================================ =================== ============================================
.. _cmdhelp:
Show Usage Command Usage (help) Show Usage Command Usage (help)
******************************* *******************************
@ -497,6 +547,8 @@ console.
``<cmd>`` Show full command usage only for this command. ``<cmd>`` Show full command usage only for this command.
========= ==================== ========= ====================
.. _cmdhexdump:
Hexadecimal Dump of File or Device (hexdump) Hexadecimal Dump of File or Device (hexdump)
******************************************** ********************************************
@ -516,6 +568,8 @@ The ``skip`` and ``count`` options are only available if
``CONFIG_NSH_CMDOPT_HEXDUMP`` is defined in the NuttX ``CONFIG_NSH_CMDOPT_HEXDUMP`` is defined in the NuttX
configuration. configuration.
.. _cmdifconfig:
Manage Network Configuration (ifconfig) Manage Network Configuration (ifconfig)
*************************************** ***************************************
@ -556,6 +610,8 @@ supported:
nsh> mount -t procfs /proc nsh> mount -t procfs /proc
.. _cmdifdown:
Take a network down (ifdown) Take a network down (ifdown)
**************************** ****************************
@ -570,6 +626,8 @@ Take a network down (ifdown)
ifdown eth0 ifdown eth0
.. _cmdifup:
Bring a network up (ifup) Bring a network up (ifup)
************************* *************************
@ -584,6 +642,8 @@ Bring a network up (ifup)
ifup eth0 ifup eth0
.. _cmdinsmod:
Install an OS module (insmod) Install an OS module (insmod)
***************************** *****************************
@ -620,6 +680,7 @@ module <module-name>.
NAME INIT UNINIT ARG TEXT SIZE DATA SIZE NAME INIT UNINIT ARG TEXT SIZE DATA SIZE
mydriver 20404659 20404625 0 20404580 552 204047a8 0 mydriver 20404659 20404625 0 20404580 552 204047a8 0
.. _cmdirqinfo:
Show Interrupt Status (irqinfo) Show Interrupt Status (irqinfo)
******************************* *******************************
@ -639,6 +700,8 @@ attached interrupts.
15 0000800d 00000000 817 100.000 15 0000800d 00000000 817 100.000
30 00000fd5 20000018 20 2.490 30 00000fd5 20000018 20 2.490
.. _cmdkill:
Send a signal to a task (kill) Send a signal to a task (kill)
****************************** ******************************
@ -681,6 +744,8 @@ Send a signal to a task (kill)
and to strand resource since there is insufficient clean-up in and to strand resource since there is insufficient clean-up in
certain build configurations. certain build configurations.
.. _cmdlosetup:
Setup/teardown the Loop Device (losetup) Setup/teardown the Loop Device (losetup)
**************************************** ****************************************
@ -724,6 +789,8 @@ on the loop-mounted file::
**Synopsis**. Teardown the setup for the loop device at **Synopsis**. Teardown the setup for the loop device at
<dev-path>. <dev-path>.
.. _cmdln:
Link to a File or Directory (ln) Link to a File or Directory (ln)
******************************** ********************************
@ -735,14 +802,16 @@ Link to a File or Directory (ln)
at <link> for the existing file or directory, <target>. This at <link> for the existing file or directory, <target>. This
implementation is simplified for use with NuttX in these ways: implementation is simplified for use with NuttX in these ways:
- Links may be created only within the NuttX top-level, `pseudo - Links may be created only within the NuttX top-level,
file system <NuttXUserGuide.html#FileSystemOverview>`__. No :ref:`pseudo file system <file_system_overview>` No
file system currently supported by NuttX provides symbolic file system currently supported by NuttX provides symbolic
links. links.
- For the same reason, only soft links are implemented. - For the same reason, only soft links are implemented.
- File privileges are ignored. - File privileges are ignored.
- ``c_time`` is not updated. - ``c_time`` is not updated.
.. _cmdls:
List Directory Contents (ls) List Directory Contents (ls)
**************************** ****************************
@ -762,6 +831,8 @@ no other file system object.
``-l`` Show size and mode information along with the filenames in the listing. ``-l`` Show size and mode information along with the filenames in the listing.
====== ================================ ====== ================================
.. _cmdlsmod:
Show information about installed OS modules (lsmod) Show information about installed OS modules (lsmod)
*************************************************** ***************************************************
@ -793,6 +864,8 @@ modules. This information includes:
NAME INIT UNINIT ARG TEXT SIZE DATA SIZE NAME INIT UNINIT ARG TEXT SIZE DATA SIZE
mydriver 20404659 20404625 0 20404580 552 204047a8 0 mydriver 20404659 20404625 0 20404580 552 204047a8 0
.. _cmdmd5:
Calculate MD5 (md5) Calculate MD5 (md5)
******************* *******************
@ -802,6 +875,8 @@ Calculate MD5 (md5)
**Synopsis**. *To be provided.* **Synopsis**. *To be provided.*
.. _cmdmx:
Access Memory (mb, mh, and mw) Access Memory (mb, mh, and mw)
****************************** ******************************
@ -839,6 +914,8 @@ accesses (mh), or 32-bit access (mw). In each case,
14 = 0x0c1e 14 = 0x0c1e
nsh> nsh>
.. _cmdps:
Show Current Tasks and Threads (ps) Show Current Tasks and Threads (ps)
*********************************** ***********************************
@ -863,6 +940,8 @@ have been mounted with a command like::
nsh> mount -t procfs /proc nsh> mount -t procfs /proc
.. _cmdmkdir:
Create a Directory (mkdir) Create a Directory (mkdir)
************************** **************************
@ -875,10 +954,10 @@ of ``<path>`` except the final directory name must exist on a
mounted file system; the final directory must not. mounted file system; the final directory must not.
**Limited to Mounted File Systems**. Recall that NuttX uses a **Limited to Mounted File Systems**. Recall that NuttX uses a
`pseudo file system <NuttXUserGuide.html#FileSystemOverview>`__ :ref:`pseudo file system <file_system_overview>`
for its root file system. The ``mkdir`` command can only be used for its root file system. The ``mkdir`` command can only be used
to create directories in volumes set up with the to create directories in volumes set up with the
```mount`` <#cmdmount>`__ command; it cannot be used to create :ref:`mount <cmdmount>` command; it cannot be used to create
directories in the *pseudo* file system. directories in the *pseudo* file system.
**Example**:: **Example**::
@ -890,6 +969,8 @@ directories in the *pseudo* file system.
drw-rw-rw- 0 TMP/ drw-rw-rw- 0 TMP/
nsh> nsh>
.. _cmdmkfatfs:
Create a FAT File System (mkfatfs) Create a FAT File System (mkfatfs)
********************************** **********************************
@ -914,11 +995,12 @@ The reported number of root directory entries used with FAT32 is
zero because the FAT32 root directory is a cluster chain. zero because the FAT32 root directory is a cluster chain.
NSH provides this command to access the NSH provides this command to access the
```mkfatfs()`` <mkfatfs>`__ NuttX API. This block device must ``mkfatfs()`` NuttX API. This block device must
reside in the NuttX `pseudo file reside in the NuttX :ref:`pseudo file system <file_system_overview>`
system <NuttXUserGuide.html#FileSystemOverview>`__ and must have and must have been created by some call to ``register_blockdriver()``
been created by some call to ``register_blockdriver()`` (see (see ``include/nuttx/fs/fs.h``).
``include/nuttx/fs/fs.h``).
.. _cmdmkfifo:
Create a FIFO (mkfifo) Create a FIFO (mkfifo)
********************** **********************
@ -933,7 +1015,7 @@ be needed to complete the ``<path>``. By convention, however,
device drivers are place in the standard ``/dev`` directory. After device drivers are place in the standard ``/dev`` directory. After
it is created, the FIFO device may be used as any other device it is created, the FIFO device may be used as any other device
driver. NSH provides this command to access the driver. NSH provides this command to access the
```mkfifo()`` <NuttXUserGuide.html#mkfifo>`__ NuttX API. ```mkfifo()`` NuttX API.
**Example**:: **Example**::
@ -952,6 +1034,8 @@ driver. NSH provides this command to access the
brw-rw-rw- 0 ram0 brw-rw-rw- 0 ram0
nsh> nsh>
.. _cmdmkrd:
Create a RAMDISK (mkrd) Create a RAMDISK (mkrd)
*********************** ***********************
@ -995,6 +1079,8 @@ Once the ramdisk has been created, it may be formatted using the
/tmp: /tmp:
nsh> nsh>
.. _cmdmount:
Mount a File System (mount) Mount a File System (mount)
*************************** ***************************
@ -1017,24 +1103,23 @@ way association, binding:
``<block-device>``. As of this writing, ``vfat`` is the only ``<block-device>``. As of this writing, ``vfat`` is the only
supported value for ``<fstype>`` supported value for ``<fstype>``
#. **Block Device.** The ``<block-device>`` argument is the full #. **Block Device.** The ``<block-device>`` argument is the full
or relative path to a block driver inode in the `pseudo file or relative path to a block driver inode in the
system <NuttXUserGuide.html#FileSystemOverview>`__. By :ref:`pseudo file system <file_system_overview>`. By
convention, this is a name under the ``/dev`` sub-directory. convention, this is a name under the ``/dev`` sub-directory.
This ``<block-device>`` must have been previously formatted This ``<block-device>`` must have been previously formatted
with the same file system type as specified by ``<fstype>`` with the same file system type as specified by ``<fstype>``
#. **Mount Point.** The mount point, ``<dir-path>``, is the #. **Mount Point.** The mount point, ``<dir-path>``, is the
location in the `pseudo file location in the :ref:`pseudo file system <file_system_overview>`
system <NuttXUserGuide.html#FileSystemOverview>`__ where the where the mounted volume will appear. This mount point can only
mounted volume will appear. This mount point can only reside in reside in the NuttX
the NuttX `pseudo file :ref:`pseudo file system <file_system_overview>`. By
system <NuttXUserGuide.html#FileSystemOverview>`__. By
convention, this mount point is a subdirectory under ``/mnt``. convention, this mount point is a subdirectory under ``/mnt``.
The mount command will create whatever pseudo directories that The mount command will create whatever pseudo directories that
may be needed to complete the full path but the full path must may be needed to complete the full path but the full path must
not already exist. not already exist.
After the volume has been mounted in the NuttX `pseudo file After the volume has been mounted in the NuttX
system <NuttXUserGuide.html#FileSystemOverview>`__, it may be :ref:`pseudo file system <file_system_overview>`, it may be
access in the same way as other objects in the file system. access in the same way as other objects in the file system.
**Examples**: **Examples**:
@ -1068,6 +1153,8 @@ Using ``mount`` to enumerate mounts::
/mnt/fs type vfat /mnt/fs type vfat
/tmp type vfat /tmp type vfat
.. _cmdmv:
Rename a File (mv) Rename a File (mv)
****************** ******************
@ -1079,6 +1166,8 @@ Rename a File (mv)
``<new-path>``. Both paths must reside in the same mounted file ``<new-path>``. Both paths must reside in the same mounted file
system. system.
.. _cmdnfsmount:
Mount an NFS file system (nfsmount) Mount an NFS file system (nfsmount)
*********************************** ***********************************
@ -1090,6 +1179,8 @@ Mount an NFS file system (nfsmount)
at <mount-point> on the target machine. <server-address> is the IP at <mount-point> on the target machine. <server-address> is the IP
address of the remote server. address of the remote server.
.. _cmdnslookup:
Lookup a network address (nslookup) Lookup a network address (nslookup)
*********************************** ***********************************
@ -1100,6 +1191,8 @@ Lookup a network address (nslookup)
**Synopsis**. Lookup and print the IP address associated with **Synopsis**. Lookup and print the IP address associated with
``<host-name>``. ``<host-name>``.
.. _cmdpasswd:
Change a User's Password (passwd) Change a User's Password (passwd)
********************************* *********************************
@ -1110,6 +1203,8 @@ Change a User's Password (passwd)
**Synopsis**. Set the password for the existing user <username> to **Synopsis**. Set the password for the existing user <username> to
<password>. <password>.
.. _cmdpmconfig:
Manage Power Management Subsystem (pmconfig) Manage Power Management Subsystem (pmconfig)
******************************************** ********************************************
@ -1119,6 +1214,8 @@ Manage Power Management Subsystem (pmconfig)
**Synopsis**. Control power management subsystem. **Synopsis**. Control power management subsystem.
.. _cmdpoweroff:
Shut the system down (poweroff) Shut the system down (poweroff)
******************************* *******************************
@ -1134,6 +1231,8 @@ to provide power off mode to board-specific power off logic.
NOTE: Supporting both the ``poweroff`` and ``shutdown`` commands NOTE: Supporting both the ``poweroff`` and ``shutdown`` commands
is redundant. is redundant.
.. _cmdput:
Send File Via TFTP (put) Send File Via TFTP (put)
************************ ************************
@ -1153,6 +1252,8 @@ whose IP address is identified by ``<ip-address>``.
transfer mode. Default: text. transfer mode. Default: text.
==================== ============================================= ==================== =============================================
.. _cmdpwd:
Show Current Working Directory (pwd) Show Current Working Directory (pwd)
************************************ ************************************
@ -1173,6 +1274,8 @@ Same as ``echo $PWD``::
/dev /dev
nsh> nsh>
.. _cmdreadlink:
Show target of a link (readlink) Show target of a link (readlink)
******************************** ********************************
@ -1183,6 +1286,8 @@ Show target of a link (readlink)
**Synopsis**. Show the target of the soft link at the path **Synopsis**. Show the target of the soft link at the path
``<link>``. ``<link>``.
.. _cmdreboot:
Reboot the system (reboot) Reboot the system (reboot)
************************** **************************
@ -1198,6 +1303,8 @@ a reboot mode to board-specific reboot logic.
NOTE: Supporting both the ``reboot`` and ``shutdown`` commands is NOTE: Supporting both the ``reboot`` and ``shutdown`` commands is
redundant. redundant.
.. _cmdrm:
Remove a File (rm) Remove a File (rm)
****************** ******************
@ -1206,11 +1313,11 @@ Remove a File (rm)
rm <file-path> rm <file-path>
**Synopsis**. Remove the specified ``<file-path>`` name from the **Synopsis**. Remove the specified ``<file-path>`` name from the
mounted file system. Recall that NuttX uses a `pseudo file mounted file system. Recall that NuttX uses a
system <NuttXUserGuide.html#FileSystemOverview>`__ for its root :ref:`pseudo file system <file_system_overview>` for its root
file system. The ``rm`` command can only be used to remove file system. The ``rm`` command can only be used to remove
(unlink) files in volumes set up with the (unlink) files in volumes set up with the
```mount`` <#cmdmount>`__ command; it cannot be used to remove :ref:`mount <cmdmount>` command; it cannot be used to remove
names in the *pseudo* file system. names in the *pseudo* file system.
**Example**:: **Example**::
@ -1225,6 +1332,8 @@ names in the *pseudo* file system.
TESTFILE.TXT TESTFILE.TXT
nsh> nsh>
.. _cmdrmdir:
Remove a Directory (rmdir) Remove a Directory (rmdir)
************************** **************************
@ -1233,11 +1342,11 @@ Remove a Directory (rmdir)
rmdir <dir-path> rmdir <dir-path>
**Synopsis**. Remove the specified ``<dir-path>`` directory from **Synopsis**. Remove the specified ``<dir-path>`` directory from
the mounted file system. Recall that NuttX uses a `pseudo file the mounted file system. Recall that NuttX uses a
system <NuttXUserGuide.html#FileSystemOverview>`__ for its root :ref:`pseudo file system <file_system_overview>` for its root
file system. The ``rmdir`` command can only be used to remove file system. The ``rmdir`` command can only be used to remove
directories from volumes set up with the ```mount`` <#cmdmount>`__ directories from volumes set up with the :ref:`mount <cmdmount>`
command; it cannot be used to remove directories from the *pseudo* command it cannot be used to remove directories from the *pseudo*
file system. file system.
**Example**:: **Example**::
@ -1253,6 +1362,8 @@ file system.
drw-rw-rw- 0 TESTDIR/ drw-rw-rw- 0 TESTDIR/
nsh> nsh>
.. _cmdrmmod:
Remove on OS Module (rmmod) Remove on OS Module (rmmod)
*************************** ***************************
@ -1274,6 +1385,8 @@ busy.
NAME INIT UNINIT ARG TEXT SIZE DATA SIZE NAME INIT UNINIT ARG TEXT SIZE DATA SIZE
nsh> nsh>
.. _cmdroute:
Show routing table (route) Show routing table (route)
************************** **************************
@ -1287,6 +1400,8 @@ If only IPv4 or IPv6 is enabled, then the argument is optional
but, if provided, must match the enabled internet protocol but, if provided, must match the enabled internet protocol
version. version.
.. _cmdrptun:
Start/Stop the OpenAMP RPC Tunnel (rptun) Start/Stop the OpenAMP RPC Tunnel (rptun)
***************************************** *****************************************
@ -1296,6 +1411,8 @@ Start/Stop the OpenAMP RPC Tunnel (rptun)
**Synopsis**. Start or stop the OpenAMP RPC tunnel device at <dev-path>. **Synopsis**. Start or stop the OpenAMP RPC tunnel device at <dev-path>.
.. _cmdset:
Set a Variable (set) Set a Variable (set)
******************** ********************
@ -1320,7 +1437,7 @@ is to set the local NSH variable. Otherwise, the group-wide environment
variable will be set. variable will be set.
If the local NSH variable has already been *promoted* to an environment If the local NSH variable has already been *promoted* to an environment
variable via the ```export`` <#cmdexport>`__, then the ``set`` command variable via the :ref:`export <cmdexport>`, then the ``set`` command
will set the value of the environment variable rather than the local NSH will set the value of the environment variable rather than the local NSH
variable. variable.
@ -1372,6 +1489,8 @@ script commands and set foobar to foovalue::
nsh> echo $foobar nsh> echo $foobar
foovalue foovalue
.. _cmdsh:
Execute an NSH Script (sh) Execute an NSH Script (sh)
************************** **************************
@ -1382,6 +1501,8 @@ Execute an NSH Script (sh)
**Synopsis**. Execute the sequence of NSH commands in the file referred **Synopsis**. Execute the sequence of NSH commands in the file referred
to by ``<script-path>``. to by ``<script-path>``.
.. _cmdshutdown:
Shut the system down (shutdown) Shut the system down (shutdown)
******************************* *******************************
@ -1397,6 +1518,8 @@ behavior may be supported.
NOTE: The ``shutdown`` command duplicates the behavior of the NOTE: The ``shutdown`` command duplicates the behavior of the
``poweroff`` and ``eboot`` commands. ``poweroff`` and ``eboot`` commands.
.. _cmdsleep:
Wait for Seconds (sleep) Wait for Seconds (sleep)
************************ ************************
@ -1406,6 +1529,8 @@ Wait for Seconds (sleep)
**Synopsis**. Pause execution (sleep) for ``<sec>`` seconds. **Synopsis**. Pause execution (sleep) for ``<sec>`` seconds.
.. _cmdtelnetd:
Time Start the Telnet Daemon (telnetd) Time Start the Telnet Daemon (telnetd)
************************************** **************************************
@ -1429,6 +1554,8 @@ command line or via other applications.
In that case, when ``nsh_telnetstart()`` is called before the the In that case, when ``nsh_telnetstart()`` is called before the the
network is initialized, it will fail. network is initialized, it will fail.
.. _cmdtime:
Time execution of another command (time) Time execution of another command (time)
**************************************** ****************************************
@ -1483,6 +1610,8 @@ command is run in background with the sleep command::
nsh> nsh>
2.0100 sec 2.0100 sec
.. _cmdtruncate:
Set the Size of a File (truncate) Set the Size of a File (truncate)
********************************* *********************************
@ -1500,6 +1629,8 @@ If a <file-path> is larger than the specified size, the extra data is
lost. If a <file-path> is shorter, it is extended and the extended part lost. If a <file-path> is shorter, it is extended and the extended part
reads as zero bytes. reads as zero bytes.
.. _cmdumount:
Unmount a File System (umount) Unmount a File System (umount)
****************************** ******************************
@ -1509,7 +1640,7 @@ Unmount a File System (umount)
**Synopsis**. Un-mount the file system at mount point ``<dir-path>``. **Synopsis**. Un-mount the file system at mount point ``<dir-path>``.
The ``umount`` command can only be used to un-mount volumes previously The ``umount`` command can only be used to un-mount volumes previously
mounted using ```mount`` <#cmdmount>`__ command. mounted using :ref:`mount <cmdmount>` command.
**Example**:: **Example**::
@ -1522,6 +1653,8 @@ mounted using ```mount`` <#cmdmount>`__ command.
nsh: ls: no such directory: /mnt/fs nsh: ls: no such directory: /mnt/fs
nsh> nsh>
.. _cmduname:
Print system information (uname) Print system information (uname)
******************************** ********************************
@ -1544,6 +1677,8 @@ output is the same as -s.
``-p`` Print "unknown" ``-p`` Print "unknown"
========== ======================================== ========== ========================================
.. _cmdunset:
Unset an Environment Variable (unset) Unset an Environment Variable (unset)
************************************* *************************************
@ -1562,6 +1697,8 @@ and the group-wide environment variables. For example::
nsh> nsh>
.. _cmdurldecode:
URL Decode (urldecode) URL Decode (urldecode)
********************** **********************
@ -1571,6 +1708,8 @@ URL Decode (urldecode)
**Synopsis**. *To be provided.* **Synopsis**. *To be provided.*
.. _cmdurlencode:
URL Encode (urlencode) URL Encode (urlencode)
********************** **********************
@ -1580,6 +1719,8 @@ URL Encode (urlencode)
**Synopsis**. *To be provided.* **Synopsis**. *To be provided.*
.. _cmduseradd:
Add a New User (useradd) Add a New User (useradd)
************************ ************************
@ -1589,6 +1730,8 @@ Add a New User (useradd)
**Synopsis**. Add a new user with <username> and <password>. **Synopsis**. Add a new user with <username> and <password>.
.. _cmduserdel:
Delete a user (userdel) Delete a user (userdel)
*********************** ***********************
@ -1598,6 +1741,8 @@ Delete a user (userdel)
**Synopsis**. Delete the user with the name <username>. **Synopsis**. Delete the user with the name <username>.
.. _cmdusleep:
Wait for Microseconds (usleep) Wait for Microseconds (usleep)
****************************** ******************************
@ -1607,6 +1752,8 @@ Wait for Microseconds (usleep)
**Synopsis**. Pause execution (sleep) of ``<usec>`` microseconds. **Synopsis**. Pause execution (sleep) of ``<usec>`` microseconds.
.. _cmdwget:
Get File Via HTTP (wget) Get File Via HTTP (wget)
************************ ************************
@ -1625,6 +1772,8 @@ directory.
unless <local-path> is provided. unless <local-path> is provided.
=================== ================================================= =================== =================================================
.. _cmdxd:
Hexadecimal Dump of Memory (xd) Hexadecimal Dump of Memory (xd)
******************************* *******************************
@ -1661,6 +1810,8 @@ There are several built-in applications in the ``apps/`` repository. No
attempt is made here to enumerate all of them. But a few of the more attempt is made here to enumerate all of them. But a few of the more
common, useful built-in applications are listed below. common, useful built-in applications are listed below.
.. _cmdping:
Check Network Peer (ping/ping6) Check Network Peer (ping/ping6)
******************************* *******************************

View File

@ -8,17 +8,19 @@ Configuration Settings
The availability of the above commands depends upon features that may or The availability of the above commands depends upon features that may or
may not be enabled in the NuttX configuration file. The following may not be enabled in the NuttX configuration file. The following
`table <#cmddependencies>`__ indicates the dependency of each command on :ref:`cmdtable <cmddependencies>` indicates the dependency of each command on
NuttX configuration settings. General configuration settings are NuttX configuration settings. General configuration settings are
discussed in the `NuttX Porting Guide. <NuttXPortingGuide.html>`__ discussed in the NuttX Porting Guide.
Configuration settings specific to NSH as discussed at the Configuration settings specific to NSH as discussed at the
`bottom <#nshconfiguration>`__ of this document. :ref:`cmdbottom <nshconfiguration>` of this document.
Note that in addition to general NuttX configuration settings, each NSH Note that in addition to general NuttX configuration settings, each NSH
command can be individually disabled via the settings in the rightmost command can be individually disabled via the settings in the rightmost
column. All of these settings make the configuration of NSH potentially column. All of these settings make the configuration of NSH potentially
complex but also allow it to squeeze into very small memory footprints. complex but also allow it to squeeze into very small memory footprints.
.. _cmddependencies:
Command Dependencies on Configuration Settings Command Dependencies on Configuration Settings
============================================== ==============================================
@ -26,125 +28,125 @@ Command Dependencies on Configuration Settings
Command Depends on Configuration Can Be Disabled with Command Depends on Configuration Can Be Disabled with
====================== =========================================== ====================== ====================== =========================================== ======================
``[`` ! ``CONFIG_NSH_DISABLESCRIPT`` ``CONFIG_NSH_DISABLE_TEST`` ``[`` ! ``CONFIG_NSH_DISABLESCRIPT`` ``CONFIG_NSH_DISABLE_TEST``
``addroute`` ``CONFIG_NET`` && ``CONFIG_NET_ROUTE`` ``CONFIG_NSH_DISABLE_ADDROUTE`` :ref:`cmdaddroute` ``CONFIG_NET`` && ``CONFIG_NET_ROUTE`` ``CONFIG_NSH_DISABLE_ADDROUTE``
``arp`` ``CONFIG_NET`` && ``CONFIG_NET_ARP`` ``CONFIG_NSH_DISABLE_ARP`` :ref:`cmdarp` ``CONFIG_NET`` && ``CONFIG_NET_ARP`` ``CONFIG_NSH_DISABLE_ARP``
``base64dec`` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_BASE64DEC`` :ref:`cmdbase64dec` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_BASE64DEC``
``CONFIG_CODECS_BASE64`` ``CONFIG_CODECS_BASE64``
``base64enc`` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_BASE64ENC`` :ref:`cmdbase64enc` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_BASE64ENC``
``CONFIG_CODECS_BASE64`` ``CONFIG_CODECS_BASE64``
``basename`` . ``CONFIG_NSH_DISABLE_BASENAME`` :ref:`cmdbasename` . ``CONFIG_NSH_DISABLE_BASENAME``
``break`` ! ``CONFIG_NSH_DISABLESCRIPT`` && . :ref:`cmdbreak` ! ``CONFIG_NSH_DISABLESCRIPT`` && .
! ``CONFIG_NSH_DISABLE_LOOPS``   ! ``CONFIG_NSH_DISABLE_LOOPS``  
``cat`` ``CONFIG_NSH_DISABLE_CAT`` . :ref:`cmdcat` ``CONFIG_NSH_DISABLE_CAT`` .
``cd`` ! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_CD`` :ref:`cmdcd` ! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_CD``
``cmp`` ``CONFIG_NSH_DISABLE_CMP`` . :ref:`cmdcmp` ``CONFIG_NSH_DISABLE_CMP`` .
``cp`` ``CONFIG_NSH_DISABLE_CP`` . :ref:`cmdcp` ``CONFIG_NSH_DISABLE_CP`` .
``date`` ``CONFIG_NSH_DISABLE_DATE`` . :ref:`cmddate` ``CONFIG_NSH_DISABLE_DATE`` .
``dd`` ``CONFIG_NSH_DISABLE_DD`` . :ref:`cmddd` ``CONFIG_NSH_DISABLE_DD`` .
``delroute`` ``CONFIG_NET`` && ``CONFIG_NET_ROUTE`` ``CONFIG_NSH_DISABLE_DELROUTE`` :ref:`cmddelroute` ``CONFIG_NET`` && ``CONFIG_NET_ROUTE`` ``CONFIG_NSH_DISABLE_DELROUTE``
``df`` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_DF`` :ref:`cmddf` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_DF``
``dirname`` ``CONFIG_NSH_DISABLE_DIRNAME`` . :ref:`cmddirname` ``CONFIG_NSH_DISABLE_DIRNAME`` .
``dmesg`` ``CONFIG_RAMLOG_SYSLOG`` ``CONFIG_NSH_DISABLE_DMESG`` :ref:`cmddmesg` ``CONFIG_RAMLOG_SYSLOG`` ``CONFIG_NSH_DISABLE_DMESG``
``echo`` ``CONFIG_NSH_DISABLE_ECHO`` . :ref:`cmdecho` ``CONFIG_NSH_DISABLE_ECHO`` .
``env`` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_ENV`` :ref:`cmdenv` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_ENV``
! ``CONFIG_DISABLE_ENVIRON`` && |br| ! ``CONFIG_DISABLE_ENVIRON`` && |br|
! ``CONFIG_PROCFS_EXCLUDE_ENVIRON`` ! ``CONFIG_PROCFS_EXCLUDE_ENVIRON``
``exec`` ``CONFIG_NSH_DISABLE_EXEC`` . :ref:`cmdexec` ``CONFIG_NSH_DISABLE_EXEC`` .
``exit`` ``CONFIG_NSH_DISABLE_EXIT`` . :ref:`cmdexit` ``CONFIG_NSH_DISABLE_EXIT`` .
``export`` ``CONFIG_NSH_VARS`` && :ref:`cmdexport` ``CONFIG_NSH_VARS`` &&
! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_EXPORT`` ! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_EXPORT``
``free`` ``CONFIG_NSH_DISABLE_FREE`` . :ref:`cmdfree` ``CONFIG_NSH_DISABLE_FREE`` .
``get`` ``CONFIG_NET`` && ``CONFIG_NET_UDP`` && ``CONFIG_NSH_DISABLE_GET`` :ref:`cmdget` ``CONFIG_NET`` && ``CONFIG_NET_UDP`` && ``CONFIG_NSH_DISABLE_GET``
*MTU* >= 58\ [#1]_ *MTU* >= 58\ [#1]_
``help`` [#3]_ ``CONFIG_NSH_DISABLE_HELP`` . :ref:`cmdhelp` [#3]_ ``CONFIG_NSH_DISABLE_HELP`` .
``hexdump`` ``CONFIG_NSH_DISABLE_HEXDUMP`` . :ref:`cmdhexdump` ``CONFIG_NSH_DISABLE_HEXDUMP`` .
``ifconfig`` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_IFCONFIG`` :ref:`cmdifconfig` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_IFCONFIG``
! ``CONFIG_FS_PROCFS_EXCLUDE_NET`` ! ``CONFIG_FS_PROCFS_EXCLUDE_NET``
``ifdown`` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_IFUPDOWN`` :ref:`cmdifdown` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_IFUPDOWN``
! ``CONFIG_FS_PROCFS_EXCLUDE_NET`` ! ``CONFIG_FS_PROCFS_EXCLUDE_NET``
``ifup`` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` && :ref:`cmdifup` ``CONFIG_NET`` && ``CONFIG_FS_PROCFS`` &&
! ``CONFIG_FS_PROCFS_EXCLUDE_NET`` ``CONFIG_NSH_DISABLE_IFUPDOWN`` ! ``CONFIG_FS_PROCFS_EXCLUDE_NET`` ``CONFIG_NSH_DISABLE_IFUPDOWN``
``insmod`` ``CONFIG_MODULE`` ``CONFIG_NSH_DISABLE_MODCMDS`` :ref:`cmdinsmod` ``CONFIG_MODULE`` ``CONFIG_NSH_DISABLE_MODCMDS``
``irqinfo`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && . :ref:`cmdirqinfo` ! ``CONFIG_DISABLE_MOUNTPOINT`` && .
``CONFIG_FS_PROCFS`` && |br| ``CONFIG_FS_PROCFS`` && |br|
``CONFIG_SCHED_IRQMONITOR`` ``CONFIG_SCHED_IRQMONITOR``
``kill`` ``CONFIG_NSH_DISABLE_KILL`` . :ref:`cmdkill` ``CONFIG_NSH_DISABLE_KILL`` .
``losetup`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_LOSETUP`` :ref:`cmdlosetup` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_LOSETUP``
``CONFIG_DEV_LOOP`` ``CONFIG_DEV_LOOP``
``ln`` ``CONFIG_PSEUDOFS_SOFTLINKS`` ``CONFIG_NSH_DISABLE_LN`` :ref:`cmdln` ``CONFIG_PSEUDOFS_SOFTLINKS`` ``CONFIG_NSH_DISABLE_LN``
``ls`` ``CONFIG_NSH_DISABLE_LS`` . :ref:`cmdls` ``CONFIG_NSH_DISABLE_LS`` .
``lsmod`` ``CONFIG_MODULE`` && ``CONFIG_FS_PROCFS`` ``CONFIG_NSH_DISABLE_MODCMDS`` :ref:`cmdlsmod` ``CONFIG_MODULE`` && ``CONFIG_FS_PROCFS`` ``CONFIG_NSH_DISABLE_MODCMDS``
&& |br| && |br|
! ``CONFIG_FS_PROCFS_EXCLUDE_MODULE`` ! ``CONFIG_FS_PROCFS_EXCLUDE_MODULE``
``md5`` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_MD5`` :ref:`cmdmd5` ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_MD5``
``CONFIG_CODECS_HASH_MD5`` ``CONFIG_CODECS_HASH_MD5``
``mb,mh,mw`` . ``CONFIG_NSH_DISABLE_MB``, |br| :ref:`cmdmx` . ``CONFIG_NSH_DISABLE_MB``, |br|
``CONFIG_NSH_DISABLE_MH``, |br| ``CONFIG_NSH_DISABLE_MH``, |br|
``CONFIG_NSH_DISABLE_MW`` ``CONFIG_NSH_DISABLE_MW``
``mkdir`` (! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_MKDIR`` :ref:`cmdmkdir` (! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_MKDIR``
! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS``) ! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS``)
``mkfatfs`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_MKFATFS`` :ref:`cmdmkfatfs` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_MKFATFS``
``CONFIG_FSUTILS_MKFATFS`` ``CONFIG_FSUTILS_MKFATFS``
``mkfifo`` ``CONFIG_PIPES`` && ``CONFIG_NSH_DISABLE_MKFIFO`` :ref:`cmdmkfifo` ``CONFIG_PIPES`` && ``CONFIG_NSH_DISABLE_MKFIFO``
``CONFIG_DEV_FIFO_SIZE`` > 0 ``CONFIG_DEV_FIFO_SIZE`` > 0
``mkrd`` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_MKRD`` :ref:`cmdmkrd` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_MKRD``
``mount`` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_MOUNT`` :ref:`cmdmount` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_MOUNT``
``mv`` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_MV`` :ref:`cmdmv` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_MV``
! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` ! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS``
``nfsmount`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_NFSMOUNT`` :ref:`cmdnfsmount` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_NFSMOUNT``
``CONFIG_NET`` && ``CONFIG_NFS`` ``CONFIG_NET`` && ``CONFIG_NFS``
``nslookup`` ``CONFIG_LIBC_NETDB`` && ``CONFIG_NSH_DISABLE_NSLOOKUP`` :ref:`cmdnslookup` ``CONFIG_LIBC_NETDB`` && ``CONFIG_NSH_DISABLE_NSLOOKUP``
``CONFIG_NETDB_DNSCLIENT`` ``CONFIG_NETDB_DNSCLIENT``
``passwd`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_PASSWD`` :ref:`cmdpasswd` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_PASSWD``
``CONFIG_NSH_LOGIN_PASSWD`` ``CONFIG_NSH_LOGIN_PASSWD``
``pmconfig`` ``CONFIG_PM`` ``CONFIG_NSH_DISABLE_PMCONFIG`` :ref:`cmdpmconfig` ``CONFIG_PM`` ``CONFIG_NSH_DISABLE_PMCONFIG``
``poweroff`` ``CONFIG_BOARDCTL_POWEROFF`` ``CONFIG_NSH_DISABLE_POWEROFF`` :ref:`cmdpoweroff` ``CONFIG_BOARDCTL_POWEROFF`` ``CONFIG_NSH_DISABLE_POWEROFF``
``ps`` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_PS`` :ref:`cmdps` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_PS``
! ``CONFIG_FS_PROCFS_EXCLUDE_PROC`` ! ``CONFIG_FS_PROCFS_EXCLUDE_PROC``
``put`` ``CONFIG_NET`` && ``CONFIG_NET_UDP`` && ``CONFIG_NSH_DISABLE_PUT`` :ref:`cmdput` ``CONFIG_NET`` && ``CONFIG_NET_UDP`` && ``CONFIG_NSH_DISABLE_PUT``
``MTU >= 558`` [#1]_, [#2]_ ``MTU >= 558`` [#1]_, [#2]_
``pwd`` ! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_PWD`` :ref:`cmdpwd` ! ``CONFIG_DISABLE_ENVIRON`` ``CONFIG_NSH_DISABLE_PWD``
``readlink`` ``CONFIG_PSEUDOFS_SOFTLINKS`` ``CONFIG_NSH_DISABLE_READLINK`` :ref:`cmdreadlink` ``CONFIG_PSEUDOFS_SOFTLINKS`` ``CONFIG_NSH_DISABLE_READLINK``
``reboot`` ``CONFIG_BOARD_RESET`` ``CONFIG_NSH_DISABLE_REBOOT`` :ref:`cmdreboot` ``CONFIG_BOARD_RESET`` ``CONFIG_NSH_DISABLE_REBOOT``
``rm`` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_RM`` :ref:`cmdrm` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\| ``CONFIG_NSH_DISABLE_RM``
! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` ! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS``
``rmdir`` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\ :ref:`cmdrmdir` ! ``CONFIG_DISABLE_MOUNTPOINT`` \|\
! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` ``CONFIG_NSH_DISABLE_RMDIR`` ! ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` ``CONFIG_NSH_DISABLE_RMDIR``
``rmmod`` ``CONFIG_MODULE`` ``CONFIG_NSH_DISABLE_MODCMDS`` :ref:`cmdrmmod` ``CONFIG_MODULE`` ``CONFIG_NSH_DISABLE_MODCMDS``
``route`` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_ROUTE`` :ref:`cmdroute` ``CONFIG_FS_PROCFS`` && ``CONFIG_NSH_DISABLE_ROUTE``
``CONFIG_FS_PROCFS_EXCLUDE_NET`` && |br| ``CONFIG_FS_PROCFS_EXCLUDE_NET`` && |br|
! ``CONFIG_FS_PROCFS_EXCLUDE_ROUTE`` && ! ``CONFIG_FS_PROCFS_EXCLUDE_ROUTE`` &&
``CONFIG_NET_ROUTE`` && |br| ``CONFIG_NET_ROUTE`` && |br|
! ``CONFIG_NSH_DISABLE_ROUTE`` && |br| ! ``CONFIG_NSH_DISABLE_ROUTE`` && |br|
(``CONFIG_NET_IPv4`` \|\ (``CONFIG_NET_IPv4`` \|\
``CONFIG_NET_IPv6``) ``CONFIG_NET_IPv6``)
``rptun`` ``CONFIG_RPTUN`` ``CONFIG_NSH_DISABLE_RPTUN`` :ref:`cmdrptun` ``CONFIG_RPTUN`` ``CONFIG_NSH_DISABLE_RPTUN``
``set`` ``CONFIG_NSH_VARS`` \|\| ``CONFIG_NSH_DISABLE_SET`` :ref:`cmdset` ``CONFIG_NSH_VARS`` \|\| ``CONFIG_NSH_DISABLE_SET``
! ``CONFIG_DISABLE_ENVIRON`` ! ``CONFIG_DISABLE_ENVIRON``
``shutdown`` ``CONFIG_BOARDCTL_POWEROFF`` \|\| ``CONFIG_NSH_DISABLE_SHUTDOWN`` :ref:`cmdshutdown` ``CONFIG_BOARDCTL_POWEROFF`` \|\| ``CONFIG_NSH_DISABLE_SHUTDOWN``
``CONFIG_BOARD_RESET`` ``CONFIG_BOARD_RESET``
``sleep`` . ``CONFIG_NSH_DISABLE_SLEEP`` :ref:`cmdsleep` . ``CONFIG_NSH_DISABLE_SLEEP``
``source`` ``CONFIG_FILE_STREAM`` && ``CONFIG_NSH_DISABLE_SOURCE`` ``cmdsource`` ``CONFIG_FILE_STREAM`` && ``CONFIG_NSH_DISABLE_SOURCE``
! ``CONFIG_NSH_DISABLESCRIPT`` ! ``CONFIG_NSH_DISABLESCRIPT``
``telnetd`` ``CONFIG_NSH_TELNET`` ``CONFIG_NSH_DISABLE_TELNETD`` :ref:`cmdtelnetd` ``CONFIG_NSH_TELNET`` ``CONFIG_NSH_DISABLE_TELNETD``
``test`` ! ``CONFIG_NSH_DISABLESCRIPT`` ``CONFIG_NSH_DISABLE_TEST`` :ref:`cmdtest` ! ``CONFIG_NSH_DISABLESCRIPT`` ``CONFIG_NSH_DISABLE_TEST``
``time`` . ``CONFIG_NSH_DISABLE_TIME`` :ref:`cmdtime` . ``CONFIG_NSH_DISABLE_TIME``
``truncate`` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_TRUNCATE`` :ref:`cmdtruncate` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_TRUNCATE``
``umount`` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_UMOUNT`` :ref:`cmdumount` ! ``CONFIG_DISABLE_MOUNTPOINT`` ``CONFIG_NSH_DISABLE_UMOUNT``
``uname`` . ``CONFIG_NSH_DISABLE_UNAME`` :ref:`cmduname` . ``CONFIG_NSH_DISABLE_UNAME``
``unset`` ``CONFIG_NSH_VARS`` \|\| ``CONFIG_NSH_DISABLE_UNSET`` :ref:`cmdunset` ``CONFIG_NSH_VARS`` \|\| ``CONFIG_NSH_DISABLE_UNSET``
! ``CONFIG_DISABLE_ENVIRON`` ! ``CONFIG_DISABLE_ENVIRON``
``urldecode`` ! ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_URLDECODE`` :ref:`cmdurldecode` ! ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_URLDECODE``
``CONFIG_CODECS_URLCODE`` ``CONFIG_CODECS_URLCODE``
``urlencode`` ! ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_URLENCODE`` :ref:`cmdurlencode` ! ``CONFIG_NETUTILS_CODECS`` && ``CONFIG_NSH_DISABLE_URLENCODE``
``CONFIG_CODECS_URLCODE`` ``CONFIG_CODECS_URLCODE``
``useradd`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_USERADD`` :ref:`cmduseradd` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_USERADD``
``CONFIG_NSH_LOGIN_PASSWD`` ``CONFIG_NSH_LOGIN_PASSWD``
``userdel`` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_USERDEL`` :ref:`cmduserdel` ! ``CONFIG_DISABLE_MOUNTPOINT`` && ``CONFIG_NSH_DISABLE_USERDEL``
``CONFIG_NSH_LOGIN_PASSWD`` ``CONFIG_NSH_LOGIN_PASSWD``
``usleep`` . ``CONFIG_NSH_DISABLE_USLEEP`` :ref:`cmdusleep` . ``CONFIG_NSH_DISABLE_USLEEP``
``wget`` ``CONFIG_NET`` && ``CONFIG_NET_TCP`` ``CONFIG_NSH_DISABLE_WGET`` :ref:`cmdwget` ``CONFIG_NET`` && ``CONFIG_NET_TCP`` ``CONFIG_NSH_DISABLE_WGET``
``xd`` . ``CONFIG_NSH_DISABLE_XD`` :ref:`cmdxd` . ``CONFIG_NSH_DISABLE_XD``
====================== =========================================== ====================== ====================== =========================================== ======================
.. [#1] Because of hardware padding, the actual required packet size may be larger .. [#1] Because of hardware padding, the actual required packet size may be larger
@ -165,6 +167,8 @@ Command Depends on Configuration
``ping6`` ``CONFIG_NET`` && ``CONFIG_NET_ICMPv6`` && ``CONFIG_NET_ICMPv6_SOCKET`` && ``CONFIG_SYSTEM_PING6`` ``ping6`` ``CONFIG_NET`` && ``CONFIG_NET_ICMPv6`` && ``CONFIG_NET_ICMPv6_SOCKET`` && ``CONFIG_SYSTEM_PING6``
============= ================================================================================================== ============= ==================================================================================================
.. _nshconfiguration:
NSH-Specific Configuration Settings NSH-Specific Configuration Settings
=================================== ===================================
@ -249,7 +253,7 @@ Configuration Description
command works very must like the set command except that is command works very must like the set command except that is
operates on environment variables. When CONFIG_NSH_VARS operates on environment variables. When CONFIG_NSH_VARS
is enabled, there are changes in the behavior of certain commands. is enabled, there are changes in the behavior of certain commands.
See following :ref:`table <nsh_vars_table>`. See following :ref:`cmdtable <nsh_vars_table>`.
``CONFIG_NSH_QUOTE`` Enables back-slash quoting of certain characters within the ``CONFIG_NSH_QUOTE`` Enables back-slash quoting of certain characters within the
command. This option is useful for the case where an NSH script command. This option is useful for the case where an NSH script

View File

@ -1,3 +1,5 @@
.. _binfmt:
============= =============
Binary Loader Binary Loader
============= =============
@ -26,8 +28,8 @@ At present, the following binary formats are support by NuttX:
- **ELF**. Standard ELF formatted files. - **ELF**. Standard ELF formatted files.
- **NXFLAT**. NuttX NXFLAT formatted files. More information about the - **NXFLAT**. NuttX NXFLAT formatted files. More information about the
NXFLAT binary format can be found in the `NXFLAT NXFLAT binary format can be found in the :ref:`NXFLAT
documentation <NuttXNxFlat.html>`__. documentation <nxflat>`.
**Executables and Libraries** The generic binary loader logic does not **Executables and Libraries** The generic binary loader logic does not
care what it is that it being loaded. It could load an executable care what it is that it being loaded. It could load an executable

View File

@ -14,7 +14,7 @@ Block device drivers have these properties:
- ``int register_blockdriver(const char *path, const struct block_operations *bops, mode_t mode, void *priv);``. - ``int register_blockdriver(const char *path, const struct block_operations *bops, mode_t mode, void *priv);``.
Each block driver registers itself by calling Each block driver registers itself by calling
``register_blockdriver()``, passing it the ``path`` where it ``register_blockdriver()``, passing it the ``path`` where it
will appear in the `pseudo-file-system <#NxFileSystem>`__ and will appear in the :ref:`pseudo file system <file_system_overview>` and
it's initialized instance of ``struct block_operations``. it's initialized instance of ``struct block_operations``.
- **User Access**. Users do not normally access block drivers - **User Access**. Users do not normally access block drivers

View File

@ -1,3 +1,5 @@
.. _chardev:
======================== ========================
Character Device Drivers Character Device Drivers
======================== ========================
@ -15,12 +17,12 @@ Character device drivers have these properties:
- ``int register_driver(const char *path, const struct file_operations *fops, mode_t mode, void *priv);``. - ``int register_driver(const char *path, const struct file_operations *fops, mode_t mode, void *priv);``.
Each character driver registers itself by calling Each character driver registers itself by calling
``register_driver()``, passing it the ``path`` where it will ``register_driver()``, passing it the ``path`` where it will
appear in the `pseudo-file-system <#NxFileSystem>`__ and it's appear in the :ref:`pseudo file system <file_system_overview>` and it's
initialized instance of ``struct file_operations``. initialized instance of ``struct file_operations``.
- **User Access**. After it has been registered, the character - **User Access**. After it has been registered, the character
driver can be accessed by user code using the standard `driver driver can be accessed by user code using the standard driver
operations <NuttXUserGuide.html#driveroperations>`__ including operations including
``open()``, ``close()``, ``read()``, ``write()``, etc. ``open()``, ``close()``, ``read()``, ``write()``, etc.
- **Specialized Character Drivers**. Within the common character - **Specialized Character Drivers**. Within the common character

View File

@ -13,7 +13,7 @@ Serial Device Drivers
- ``int uart_register(FAR const char *path, FAR uart_dev_t *dev);``. - ``int uart_register(FAR const char *path, FAR uart_dev_t *dev);``.
A serial driver may register itself by calling A serial driver may register itself by calling
``uart_register()``, passing it the ``path`` where it will ``uart_register()``, passing it the ``path`` where it will
appear in the `pseudo-file-system <#NxFileSystem>`__ and it's appear in the :ref:`pseudo file system <file_system_overview>` and it's
initialized instance of ``struct uart_ops_s``. By convention, initialized instance of ``struct uart_ops_s``. By convention,
serial device drivers are registered at paths like serial device drivers are registered at paths like
``/dev/ttyS0``, ``/dev/ttyS1``, etc. See the ``/dev/ttyS0``, ``/dev/ttyS1``, etc. See the

View File

@ -56,7 +56,7 @@ Timer Example
The previously selected example will basically consult the timer status, set a timer alarm interval, set a timer signal handler function to be notified at the alarm, which only increments a variable, and then it will start the timer. The application will periodically consult the timer status at the sample rate previously configured through the ``menuconfig`` to follow the time left until the timer expires. After the samples have been read, the application stops de timer. The previously selected example will basically consult the timer status, set a timer alarm interval, set a timer signal handler function to be notified at the alarm, which only increments a variable, and then it will start the timer. The application will periodically consult the timer status at the sample rate previously configured through the ``menuconfig`` to follow the time left until the timer expires. After the samples have been read, the application stops de timer.
The `example code <https://github.com/apache/incubator-nuttx-apps/blob/master/examples/timer/timer_main.c#ref-example>`_ may be explored, its path is at ``/examples/timer/timer_main.c`` in the apps' repository. The `example code <https://github.com/apache/incubator-nuttx-apps/blob/master/examples/timer/timer_main.c>`_ may be explored, its path is at ``/examples/timer/timer_main.c`` in the apps' repository.
In NuttX, the timer driver is a character driver and when a chip supports multiple timers, each one is accessible through its respective file in ``/dev`` directory. Each timer is registered using a unique numeric identifier (i.e. ``/dev/timer0``, ``/dev/timer1``, ...). In NuttX, the timer driver is a character driver and when a chip supports multiple timers, each one is accessible through its respective file in ``/dev`` directory. Each timer is registered using a unique numeric identifier (i.e. ``/dev/timer0``, ``/dev/timer1``, ...).
@ -84,12 +84,12 @@ The first necessary thing to be done in order to use the timer driver in an appl
At an application level, the timer functionalities may be accessed through ``ioctl`` systems calls. The available ``ioctl`` commands are: At an application level, the timer functionalities may be accessed through ``ioctl`` systems calls. The available ``ioctl`` commands are:
.. c:macro:: TCIOC_START * :c:macro:`TCIOC_START`
.. c:macro:: TCIOC_STOP * :c:macro:`TCIOC_STOP`
.. c:macro:: TCIOC_GETSTATUS * :c:macro:`TCIOC_GETSTATUS`
.. c:macro:: TCIOC_SETTIMEOUT * :c:macro:`TCIOC_SETTIMEOUT`
.. c:macro:: TCIOC_NOTIFICATION * :c:macro:`TCIOC_NOTIFICATION`
.. c:macro:: TCIOC_MAXTIMEOUT * :c:macro:`TCIOC_MAXTIMEOUT`
These ``ioctl`` commands internally call lower-half layer operations and the parameters are forwarded to these ops through the ``ioctl`` system call. The return of a system call is the return of an operation. These ``ioctl`` commands internally call lower-half layer operations and the parameters are forwarded to these ops through the ``ioctl`` system call. The return of a system call is the return of an operation.
These ``struct timer_ops_s`` keeps pointers to the implementation of each operation. Following is the struct. These ``struct timer_ops_s`` keeps pointers to the implementation of each operation. Following is the struct.

View File

@ -8,8 +8,8 @@ USB Device-Side Drivers
- ``include/nuttx/usb/usbdev_trace.h``. Declarations needed - ``include/nuttx/usb/usbdev_trace.h``. Declarations needed
to work with the NuttX USB device driver trace capability. That to work with the NuttX USB device driver trace capability. That
USB trace capability is detailed in `separate USB trace capability is detailed in :ref:`separate
document <UsbTrace.html>`__. document <usbtrace>`.
- ``struct usbdev_s``. Each USB device controller driver must - ``struct usbdev_s``. Each USB device controller driver must
implement an instance of ``struct usbdev_s``. This structure is implement an instance of ``struct usbdev_s``. This structure is

View File

@ -1,3 +1,5 @@
.. _nxflat:
====== ======
NXFLAT NXFLAT
====== ======

View File

@ -46,7 +46,7 @@ provided in sub-directories under ``nuttx/libnx``.
built on top of NX and works with the multi-user NX front-end. See built on top of NX and works with the multi-user NX front-end. See
``include/nuttx/nx/nxtk.h``. ``include/nuttx/nx/nxtk.h``.
``apps/graphics/NxWidgets`` ``apps/graphics/NxWidgets``
The `NxWidgets <NxWidgets.html>`__ code is provided as a separate The :ref:`NxWidgets <nxwidgets>` code is provided as a separate
package provided in the ``apps/`` repository. package provided in the ``apps/`` repository.
``graphics/nxterm`` ``graphics/nxterm``
The NxTerm driver is built on top of NX and works with the multi-user The NxTerm driver is built on top of NX and works with the multi-user

View File

@ -1,3 +1,5 @@
.. _nxgraphics:
===================== =====================
NX Graphics Subsystem NX Graphics Subsystem
===================== =====================
@ -135,7 +137,7 @@ than some utilities and types from NXGLIB.
NX Widgets (``NxWidgets``) NX Widgets (``NxWidgets``)
-------------------------- --------------------------
`NxWidgets <NxWidgets.html>`__ is a higher level, C++, object-oriented :ref:`NxWidgets <nxwidgets>` is a higher level, C++, object-oriented
library for object-oriented access to graphical "widgets." NxWidgets is library for object-oriented access to graphical "widgets." NxWidgets is
provided as a separate library in the ``apps/`` repository NxWidgets is provided as a separate library in the ``apps/`` repository NxWidgets is
built on top of the core NuttX graphics subsystem, but is part of the built on top of the core NuttX graphics subsystem, but is part of the

View File

@ -1,11 +1,13 @@
.. _nxwidgets:
========= =========
NxWidgets NxWidgets
========= =========
In order to better support NuttX based platforms, a special graphical In order to better support NuttX based platforms, a special graphical
userinterface has been created called NXWidgets. NXWidgets is written in userinterface has been created called NXWidgets. NXWidgets is written in
C++ and integrates seamlessly with the NuttX `NX graphics C++ and integrates seamlessly with the NuttX :ref:`NX graphics
subsystem <NXGraphicsSubsystem.html>`__ in order to provide graphic subsystem <nxgraphics>` in order to provide graphic
objects, or "widgets," in the NX Graphics Subsystem objects, or "widgets," in the NX Graphics Subsystem
Some of the features of NXWidgets include: Some of the features of NXWidgets include:
@ -14,8 +16,8 @@ Some of the features of NXWidgets include:
only selected "embedded friendly" C++ constructs that are fully only selected "embedded friendly" C++ constructs that are fully
supported under NuttX. No additional C++ support libraries are supported under NuttX. No additional C++ support libraries are
required. required.
- **NX Integration**. NXWidgets integrate seamlessly with the `NX - **NX Integration**. NXWidgets integrate seamlessly with the
graphics subsystem <NXGraphicsSubsystem.html>`__. Think of the X :ref:`NX graphics subsystem <nxgraphics>`. Think of the X
server under Linux … the NX graphics system is like a tiny X server server under Linux … the NX graphics system is like a tiny X server
that provides windowing under NuttX. By adding NXWidgets, you can that provides windowing under NuttX. By adding NXWidgets, you can
support graphics objects like buttons and text boxes in the NX support graphics objects like buttons and text boxes in the NX
@ -40,7 +42,7 @@ Some of the features of NXWidgets include:
- **DOxygen Documentation** DOxygen documentation is available. - **DOxygen Documentation** DOxygen documentation is available.
Note: Many of the fundamental classed in NxWidgets derive from the Note: Many of the fundamental classed in NxWidgets derive from the
Antony Dzeryn's "Woopsi" project: http://woopsi.org/ which also has a Antony Dzeryn's "Woopsi" project which also has a
BSD style license. See the COPYING file for details. BSD style license. See the COPYING file for details.
NXWidgets Doxygen Documentation NXWidgets Doxygen Documentation

View File

@ -1,3 +1,5 @@
.. _ondemandpaging:
================ ================
On-Demand Paging On-Demand Paging
================ ================

View File

@ -117,3 +117,11 @@ c_id_attributes = [
'noreturn_function' 'noreturn_function'
] ]
# This is required to allow running linkcheck with sphinx-tabs
sphinx_tabs_valid_builders = ['linkcheck']
# There are some sites where the linkchecker cannot handle anchors
linkcheck_ignore = [
'https://github.com/pyenv/pyenv#installation',
'http://openocd.zylin.com/#/c/4103/',
]

View File

@ -7,6 +7,8 @@ Drivers
Some NuttX boards don't have full support for all the on-chip peripherals. If you need support for this hardware, Some NuttX boards don't have full support for all the on-chip peripherals. If you need support for this hardware,
you will either need to port a driver from another chip, or write one yourself. This section discusses how to do that. you will either need to port a driver from another chip, or write one yourself. This section discusses how to do that.
.. _drivers-porting:
Porting a Driver Porting a Driver
---------------- ----------------

View File

@ -26,8 +26,7 @@ Mount Interface
A low-level, C-callable interface is provided to mount a file system. A low-level, C-callable interface is provided to mount a file system.
That interface is called ``mount()`` and is mentioned in the That interface is called ``mount()`` and is mentioned in the
```porting guide`` <NuttXPortingGuide.html#NxFileSystem>`__ and is porting guide and is prototyped in the header file ``include/sys/mount.h``:
prototyped in the header file ``include/sys/mount.h``:
.. c:function:: int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data) .. c:function:: int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data)
@ -108,7 +107,7 @@ is defined as:
NFS Mount Command NFS Mount Command
================= =================
The `NuttShell (NSH) <NuttShell.html>`__ also supports a command called The :ref:`NuttShell (NSH) <nsh>` also supports a command called
``nfsmount`` that can be used to mount a remote file system via the NSH ``nfsmount`` that can be used to mount a remote file system via the NSH
command line. command line.

View File

@ -42,14 +42,14 @@ Noteram device driver (``nuttx/drivers/note/noteram_driver.c``)
- Accumurate incoming note records into the buffer. - Accumurate incoming note records into the buffer.
- Read the note records from the buffer by user requests. - Read the note records from the buffer by user requests.
- The notes are recorded in the binary format of ``struct note_*_s``. - The notes are recorded in the binary format of ``struct note_*_s``.
- The detail function is described in :doc:`../reference/os/note`. - The detail function is described in :doc:`../components/drivers/character/note`.
Notectl device driver (``nuttx/drivers/note/notectl_driver.c``) Notectl device driver (``nuttx/drivers/note/notectl_driver.c``)
--------------------------------------------------------------- ---------------------------------------------------------------
- ``/dev/notectl`` device driver. - ``/dev/notectl`` device driver.
- Control the filter logic in ``sched_note.c`` by calling note filter APIs. - Control the filter logic in ``sched_note.c`` by calling note filter APIs.
- The detail function is described in :doc:`../reference/os/note`. - The detail function is described in :doc:`../components/drivers/character/note`.
"``trace``" Built-In Application (``apps/system/trace/trace.c``) "``trace``" Built-In Application (``apps/system/trace/trace.c``)
---------------------------------------------------------------- ----------------------------------------------------------------

View File

@ -59,7 +59,7 @@ The following configurations are configurable parameters for trace.
After the configuration, rebuild the NuttX kernel and application. After the configuration, rebuild the NuttX kernel and application.
If the trace function is enabled, "``trace``" :doc:`../components/nsh/builtin` will be available. If the trace function is enabled, "``trace``" :doc:`../applications/nsh/builtin` will be available.
How to get trace data How to get trace data
===================== =====================

View File

@ -1,3 +1,5 @@
.. _usbtrace:
================ ================
USB Device Trace USB Device Trace
================ ================

View File

@ -222,7 +222,7 @@ Key features of NuttX include:
The following packages are available to extend the basic NuttX feature set: The following packages are available to extend the basic NuttX feature set:
* **NuttShell (NSH)** * **NuttShell (NSH)**
A small, scalable, bash-like shell for NuttX with rich feature set and small footprint. See the :doc:`/components/nsh/index`. A small, scalable, bash-like shell for NuttX with rich feature set and small footprint. See the :doc:`/applications/nsh/index`.
* **BAS 2.4** * **BAS 2.4**
Seamless integration of Michael Haardt's BAS 2.4: "Bas is an interpreter for the classic dialect of the programming language BASIC. It is pretty compatible to typical BASIC interpreters of the 1980s, unlike some other UNIX BASIC interpreters, that implement a different syntax, breaking compatibility to existing programs. Bas offers many ANSI BASIC statements for structured programming, such as procedures, local variables and various loop types. Further there are matrix operations, automatic LIST indentation and many statements and functions found in specific classic dialects. Line numbers are not required." Seamless integration of Michael Haardt's BAS 2.4: "Bas is an interpreter for the classic dialect of the programming language BASIC. It is pretty compatible to typical BASIC interpreters of the 1980s, unlike some other UNIX BASIC interpreters, that implement a different syntax, breaking compatibility to existing programs. Bas offers many ANSI BASIC statements for structured programming, such as procedures, local variables and various loop types. Further there are matrix operations, automatic LIST indentation and many statements and functions found in specific classic dialects. Line numbers are not required."

View File

@ -70,8 +70,7 @@ TI TMS320-DM320
(also called **DM320**) (also called **DM320**)
NuttX operates on the ARM9 of NuttX operates on the ARM9 of
this dual core processor. This port uses the `Neuros this dual core processor. This port uses the Neuros OSD
OSD <http://wiki.neurostechnology.com/index.php/Developer_Welcome>`__
with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The port was with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The port was
performed using the OSD v1.0, development board. performed using the OSD v1.0, development board.
@ -80,15 +79,12 @@ NXP LPC3131
Two boards based on the NXP LPC3131 are supported: Two boards based on the NXP LPC3131 are supported:
- First, a port for the NXP - First, a port for the NXP LPC3131
`LPC3131 <http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/>`__ on the Embedded Artists EA3131
on the `Embedded Artists
EA3131 <http://www.embeddedartists.com/products/kits/lpc3131_kit.php>`__
development board was first released in NuttX-5.1 (but was not development board was first released in NuttX-5.1 (but was not
functional until NuttX-5.2). functional until NuttX-5.2).
- A second port to the NXP - A second port to the NXP LPC3131
`LPC3131 <http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/>`__
on the `Olimex on the `Olimex
LPC-H3131 <https://www.olimex.com/Products/ARM/NXP/LPC-H3131/>`__ LPC-H3131 <https://www.olimex.com/Products/ARM/NXP/LPC-H3131/>`__
development board was added in NuttX-6.32. development board was added in NuttX-6.32.
@ -96,8 +92,7 @@ Two boards based on the NXP LPC3131 are supported:
NXP LPC315x NXP LPC315x
----------- -----------
Support for the NXP Support for the NXP LPC315x
`LPC315x <http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/>`__
family has been incorporated into the code base as of NuttX-6.4. Support family has been incorporated into the code base as of NuttX-6.4. Support
was added for the Embedded Artists EA3152 board in NuttX-6.11. was added for the Embedded Artists EA3152 board in NuttX-6.11.
@ -515,7 +510,7 @@ TI/Stellaris LM3S6432S2E
------------------------ ------------------------
This port uses Serial-to-Ethernet Reference This port uses Serial-to-Ethernet Reference
Design Kit (`RDK-S2E <http://www.ti.com/tool/rdk-s2e>`__) and has Design Kit and has
similar support as for the other Stellaris family members. A similar support as for the other Stellaris family members. A
configuration is available for the NuttShell (NSH) (see :ref:`NSH <nsh>`). The NSH configuration is available for the NuttShell (NSH) (see :ref:`NSH <nsh>`). The NSH
configuration including networking support with a Telnet NSH console. configuration including networking support with a Telnet NSH console.
@ -525,7 +520,7 @@ TI/Stellaris LM3S6918
--------------------- ---------------------
This port uses the This port uses the
`Micromint <%20http://www.micromint.com/>`__ Eagle-100 development board `Micromint <http://www.micromint.com/>`__ Eagle-100 development board
with a GNU arm-nuttx-elf toolchain\* under either Linux or Cygwin. with a GNU arm-nuttx-elf toolchain\* under either Linux or Cygwin.
**Development Environments:** 1) Linux with native Linux GNU toolchain, **Development Environments:** 1) Linux with native Linux GNU toolchain,
@ -623,7 +618,7 @@ This is a port for the Silicon Laboratories' EFM32
required to make further progress in testing. required to make further progress in testing.
Refer to the Olimex EFM32G880F120-STK Refer to the Olimex EFM32G880F120-STK
`README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/olimex-efm32g880f129-stk/README.txt>`__ `README.txt <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/efm32/olimex-efm32g880f128-stk/README.txt>`__
for further information. for further information.
SiLabs EFM32 Giant Gecko SiLabs EFM32 Giant Gecko
@ -850,7 +845,7 @@ specifically for: STM32F103ZET6, STM32F103RET6, STM32F103VCT,
STM32F103VET6, STM32F103RBT6, and STM32103CBT6. Boards supported STM32F103VET6, STM32F103RBT6, and STM32103CBT6. Boards supported
include: include:
#. **STM3210E-EVAL**. A port for the `STMicro <%20http://www.st.com/>`__ #. **STM3210E-EVAL**. A port for the `STMicro <http://www.st.com/>`__
STM3210E-EVAL development board that features the STM32F103ZET6 MCU. STM3210E-EVAL development board that features the STM32F103ZET6 MCU.
Refer to the NuttX board Refer to the NuttX board
`README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3210e-eval/README.txt>`__ `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/stm3210e-eval/README.txt>`__
@ -962,8 +957,8 @@ board
`README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/shenzhou/README.txt>`__ `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32/shenzhou/README.txt>`__
file for further information. file for further information.
**ViewTool STM32F103/F107** Support for the `Viewtool **ViewTool STM32F103/F107** Support for the Viewtool
STM32F103/F107 <https://http://www.viewtool.com/>`__ board was added in STM32F103/F107 board was added in
NuttX-6.32. That board features the STMicro STM32F107VCT6 MCU. NuttX-6.32. That board features the STMicro STM32F107VCT6 MCU.
Networking, LCD, and touchscreen support were added in NuttX-6.33. Networking, LCD, and touchscreen support were added in NuttX-6.33.
@ -1184,7 +1179,6 @@ boards.
This board configuration was contributed and made available in This board configuration was contributed and made available in
NuttX-6.20. As contributed board support, I am unsure of what all has NuttX-6.20. As contributed board support, I am unsure of what all has
been verfied and what has not. See the Microment website been verfied and what has not. See the Microment website
`Lincoln60 <http://micromint.com/Products/lincoln60.html>`__ board
and the NuttX board and the NuttX board
`README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lincoln60/README.txt>`__ `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/lpc17xx_40xx/lincoln60/README.txt>`__
file for further information about the Lincoln board. file for further information about the Lincoln board.
@ -1222,7 +1216,7 @@ The port of NuttX to the WaveShare Open1788 is a
collaborative effort between Rommel Marcelo and myself (with Rommel collaborative effort between Rommel Marcelo and myself (with Rommel
being the leading contributor and I claiming only a support role). You being the leading contributor and I claiming only a support role). You
can get more information at the Open1788 board from the WaveShare can get more information at the Open1788 board from the WaveShare
`website <http://www.wvshare.com/product/Open1788-Standard.htm>`__. website.
ON Semiconductor LC823450 ON Semiconductor LC823450
------------------------- -------------------------
@ -1858,8 +1852,7 @@ Three boards are supported in this family:
- **STM32L476 MDK**. Very basic support for NuttX on the Motorola Moto - **STM32L476 MDK**. Very basic support for NuttX on the Motorola Moto
Z MDK was contributed by Jim Wylder in NuttX 7.18. A simple NSH Z MDK was contributed by Jim Wylder in NuttX 7.18. A simple NSH
configuration is available for the STM32L476 chip. See the `Moto Mods configuration is available for the STM32L476 chip. See the board
Development Kit <http://developer.motorola.com/buy/>`__ and the board
`README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476-mdk/README.txt>`__ `README <https://github.com/apache/incubator-nuttx/blob/master/boards/arm/stm32l4/stm32l476-mdk/README.txt>`__
file for further information. file for further information.
@ -2866,12 +2859,7 @@ Microchip PIC32MX4xx
**PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo **PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo
Board," Model DB-DP11215, from `Sure Board," Model DB-DP11215, from `Sure
Electronics <http://www.sureelectronics.net>`__. This board features the Electronics <http://www.sureelectronics.net>`__. This board features the
Microchip PIC32MX440F512H. See the `Sure Microchip PIC32MX440F512H.
website <http://www.sureelectronics.net/goods.php?id=1168>`__ for
further information about the DB-DP11215 board. (I believe that that the
DB-DP11215 may be obsoleted now but replaced with the very similar,
DB-DP11212. The DB-DP11212 board differs, I believe, only in its serial
port configuration.)
**PIC32MX460F512L**. There one two board ports using this chip: **PIC32MX460F512L**. There one two board ports using this chip:
@ -2895,7 +2883,7 @@ PIC32MX795F512L. There one two board ports using this chip:
- **Microchip PIC32 Ethernet Starter Kit**. This port uses the - **Microchip PIC32 Ethernet Starter Kit**. This port uses the
Microchip PIC32 Ethernet Starter Kit (DM320004) with the Expansion Microchip PIC32 Ethernet Starter Kit (DM320004) with the Expansion
I/O board. See the `Microchip website <http://ww.microchip.com>`__ I/O board. See the `Microchip website <http://www.microchip.com>`__
for further information. for further information.
- **Mikroelektronika PIC32MX7 Mulitmedia Board (MMB)**. A port has been - **Mikroelektronika PIC32MX7 Mulitmedia Board (MMB)**. A port has been
completed for the Mikroelektronika PIC32MX7 Multimedia Board (MMB). completed for the Mikroelektronika PIC32MX7 Multimedia Board (MMB).
@ -3122,13 +3110,11 @@ environment is either Windows native or Cygwin under Windows.
**STATUS:** This release has been verified only on the ZiLOG ZDS-II **STATUS:** This release has been verified only on the ZiLOG ZDS-II
Z8Encore! chip simulation as of nuttx-0.3.9. Refer to the NuttX board Z8Encore! chip simulation as of nuttx-0.3.9. Refer to the NuttX board
README files for the README files for the
`z8encore000zco <https://github.com/apache/incubator-nuttx/blob/master/boards/ez80/z8/z8encore000zco/README.txt>`__ `z8encore000zco <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8encore000zco/README.txt>`__
and for and for
the\ `z8f64200100kit <https://github.com/apache/incubator-nuttx/blob/master/boards/ez80/z8/z8f64200100kit/README.txt>`__ the\ `z8f64200100kit <https://github.com/apache/incubator-nuttx/blob/master/boards/z80/z8/z8f64200100kit/README.txt>`__
for further information. for further information.
Zilog Z180 Zilog Z180
========== ==========

View File

@ -8,12 +8,12 @@ Here's a list of Apache NuttX resources that you might find helpful:
* Apache NuttX * Apache NuttX
* `Apache NuttX website <https://apache.nuttx.org>`_ * `Apache NuttX website <https://nuttx.apache.org>`_
* `Apache NuttX online documentation <https://cwiki.apache.org/confluence/display/NUTTX/NuttX>`_ * `Apache NuttX online documentation <https://cwiki.apache.org/confluence/display/NUTTX/Nuttx>`_
* `Apache NuttX mailing list <https://nuttx.apache.org/community/>`_ a very active mailing list, the place to get help with your application or any questions you have about NuttX. * `Apache NuttX mailing list <https://nuttx.apache.org/community/>`_ a very active mailing list, the place to get help with your application or any questions you have about NuttX.
* `Apache NuttX YouTube channel <https://www.youtube.com/channel/UC0QciIlcUnjJkL5yJJBmluw/videos>`_  Alan Carvalho de Assis's YouTube channel on NuttX. It's a source of a lot of great practical information. * `Apache NuttX YouTube channel <https://www.youtube.com/channel/UC0QciIlcUnjJkL5yJJBmluw/videos>`_  Alan Carvalho de Assis's YouTube channel on NuttX. It's a source of a lot of great practical information.
* `Apache NuttX Coding Standard <https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard>`_ — How code should look when you submit new files or modify existing ones. * `Apache NuttX Coding Standard <https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard>`_ — How code should look when you submit new files or modify existing ones.
* `Apache NuttX Code Contribution Guidlines <https://cwiki.apache.org/confluence/display/NUTTX/Code+Contribution+Workflow+--+Brennan+Ashton>`_ — The full workflow to follow for submitting code with all the details. * `Apache NuttX Code Contribution Guidlines <https://cwiki.apache.org/confluence/display/NUTTX/Code+Contribution+Workflow>`_ — The full workflow to follow for submitting code with all the details.
* Git * Git

View File

@ -23,7 +23,7 @@ a pre-existing configuration. To list all supported configurations you can do:
The output is in the format ``<board name>:<board configuration>``. You will see that The output is in the format ``<board name>:<board configuration>``. You will see that
generally all boards support the ``nsh`` configuration which is a good sarting point generally all boards support the ``nsh`` configuration which is a good sarting point
since it enables booting into the interactive command line since it enables booting into the interactive command line
:doc:`/components/nsh/index`. :doc:`/applications/nsh/index`.
To choose a configuration you pass the ``<board name>:<board configuration>`` option To choose a configuration you pass the ``<board name>:<board configuration>`` option
to ``configure.sh`` and indicate your host platform, such as: to ``configure.sh`` and indicate your host platform, such as:

View File

@ -78,8 +78,8 @@ README.md file for information on how to build it.
``nuttx/arch`` ``nuttx/arch``
============== ==============
Subdirectory Structure Arch Subdirectory Structure
---------------------- ---------------------------
This directory contains several sub-directories, each containing This directory contains several sub-directories, each containing
architecture-specific logic. The task of porting NuttX to a new architecture-specific logic. The task of porting NuttX to a new
@ -91,8 +91,8 @@ directory (plus the board-specific configurations in the
subdirectory, *<arch-name>* under ``arch/`` with the following subdirectory, *<arch-name>* under ``arch/`` with the following
characteristics: characteristics:
Summary of Files Arch Summary of Files
---------------- ---------------------
- ``include/``\ *<chip-name>*\ ``/`` This sub-directory contains - ``include/``\ *<chip-name>*\ ``/`` This sub-directory contains
chip-specific header files. chip-specific header files.
@ -252,16 +252,16 @@ configurations plus the architecture-specific configurations in
the ``arch/`` subdirectory complete define a customized port of the ``arch/`` subdirectory complete define a customized port of
NuttX. NuttX.
Subdirectory Structure Boards Subdirectory Structure
---------------------- -----------------------------
The ``boards/`` directory contains board specific configuration The ``boards/`` directory contains board specific configuration
files. Each board must provide a sub-directory <board-name> under files. Each board must provide a sub-directory <board-name> under
``boards/``\ *<arch-name>*\ ``/``>\ *<chip-name>*\ ``/`` with the ``boards/``\ *<arch-name>*\ ``/``>\ *<chip-name>*\ ``/`` with the
following characteristics: following characteristics:
Summary of Files Boards Summary of Files
---------------- -----------------------
**Board Specific Logic** **Board Specific Logic**

View File

@ -9,5 +9,5 @@ NuttX can provide on-demand paging: It can copy .text from the
large program in non-volatile media into RAM as needed to execute large program in non-volatile media into RAM as needed to execute
a huge program from the small RAM. Design and porting issues for a huge program from the small RAM. Design and porting issues for
this feature are discussed in a separate document. Please see the this feature are discussed in a separate document. Please see the
`NuttX Demand Paging <NuttXDemandPaging.html>`__ design document :ref:`NuttX Demand Paging <ondemandpaging>` design document
for further information. for further information.

View File

@ -30,8 +30,8 @@ pthreads the were started from the same parent thread.
**Executing Programs within a File System**. NuttX also provides **Executing Programs within a File System**. NuttX also provides
internal interfaces for the execution of separately built programs that internal interfaces for the execution of separately built programs that
reside in a file system. These internal interfaces are, however, reside in a file system. These internal interfaces are, however,
non-standard and are documented with the NuttX `binary non-standard and are documented with the NuttX binary
loader <NuttXBinfmt.html>`__ and `NXFLAT <NuttXNxFlat.html#binfmt>`__. loader and NXFLAT documentation.
**Task Control Interfaces**. The following task control interfaces are **Task Control Interfaces**. The following task control interfaces are
provided by NuttX: provided by NuttX:

View File

@ -2,6 +2,8 @@
File System Interfaces File System Interfaces
====================== ======================
.. _file_system_overview:
NuttX File System Overview NuttX File System Overview
========================== ==========================
@ -20,7 +22,7 @@ system).
Any user supplied data or logic can be accessed via the pseudo-file Any user supplied data or logic can be accessed via the pseudo-file
system. Built in support is provided for character and block system. Built in support is provided for character and block
`driver <NuttXPortingGuide.html#DeviceDrivers>`__ *nodes* in the any :ref:`driver <drivers-porting>` *nodes* in the any
pseudo file system directory. (By convention, however, all driver nodes pseudo file system directory. (By convention, however, all driver nodes
should be in the ``/dev`` pseudo file system directory). should be in the ``/dev`` pseudo file system directory).

View File

@ -3,8 +3,8 @@ Network Interfaces
================== ==================
NuttX supports a BSD-compatible socket interface layer. These socket NuttX supports a BSD-compatible socket interface layer. These socket
interface can be enabled by settings in the architecture `configuration interface can be enabled by settings in the architecture configuration
file <NuttXConfigVariables.html>`__. Those socket APIs are discussed in file. Those socket APIs are discussed in
the following paragraphs. the following paragraphs.
- :c:func:`socket` - :c:func:`socket`

View File

@ -12,12 +12,12 @@ implementing applications on NuttX. Specifically, this documented is
limited to addressing only NuttX RTOS APIs that are available to the limited to addressing only NuttX RTOS APIs that are available to the
application developer. As such, this document does not focus on any application developer. As such, this document does not focus on any
technical details of the organization or implementation of NuttX. Those technical details of the organization or implementation of NuttX. Those
technical details are provided in the `NuttX Porting technical details are provided in the NuttX Porting
Guide <NuttXPortingGuide.html>`__. Guide.
Information about configuring and building NuttX is also needed by the Information about configuring and building NuttX is also needed by the
application developer. That information can also be found in the `NuttX application developer. That information can also be found in the NuttX
Porting Guide <NuttXPortingGuide.html#configandbuild>`__. Porting Guide.
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1

View File

@ -106,7 +106,7 @@ NuttX and a MoBY application:
size_t mq_curmsgs; /* Number of messages currently in queue */ size_t mq_curmsgs; /* Number of messages currently in queue */
}; };
.. note that this gives a warning due to https://github.com/sphinx-doc/sphinx/issues/7819 .. note that this gives a warning due to https://github.com/sphinx-doc/sphinx/issues/7819 https://github.com/sphinx-doc/sphinx/pull/8313
.. c:struct:: sigaction .. c:struct:: sigaction