51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# System / `nsh` NuttShell (NSH)
|
|
|
|
## Basic Configuration
|
|
|
|
This directory provides an example of how to configure and use the NuttShell
|
|
(NSH) application. NSH is a simple shell application. NSH is described in its
|
|
own README located at `apps/nshlib/README.md`. This function is enabled with:
|
|
|
|
```conf
|
|
CONFIG_SYSTEM_NSH=y
|
|
```
|
|
|
|
Applications using this example will need to provide an `defconfig` file in the
|
|
configuration directory with instruction to build the NSH library like:
|
|
|
|
```conf
|
|
CONFIG_NSH_LIBRARY=y
|
|
```
|
|
|
|
## Other Configuration Requirements
|
|
|
|
**Note**: If the NSH serial console is used, then following is also required to
|
|
build the `readline()` library:
|
|
|
|
```conf
|
|
CONFIG_SYSTEM_READLINE=y
|
|
```
|
|
|
|
And if networking is included:
|
|
|
|
```conf
|
|
CONFIG_NETUTILS_NETLIB=y
|
|
CONFIG_NETUTILS_DHCPC=y
|
|
CONFIG_NETDB_DNSCLIENT=y
|
|
CONFIG_NETUTILS_TFTPC=y
|
|
CONFIG_NETUTILS_WEBCLIENT=y
|
|
```
|
|
|
|
If the Telnet console is enabled, then the defconfig file should also include:
|
|
|
|
```conf
|
|
CONFIG_NETUTILS_TELNETD=y
|
|
```
|
|
|
|
Also if the Telnet console is enabled, make sure that you have the following set
|
|
in the NuttX configuration file or else the performance will be very bad
|
|
(because there will be only one character per TCP transfer):
|
|
|
|
- `CONFIG_STDIO_BUFFER_SIZE` - Some value `>= 64`
|
|
- `CONFIG_STDIO_LINEBUFFER=y`
|