2015-11-25 22:26:26 +08:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
config FS_HOSTFS
|
|
|
|
bool "Host File System"
|
|
|
|
default n
|
|
|
|
depends on !DISABLE_MOUNTPOINT
|
|
|
|
---help---
|
|
|
|
The Host file system provides a mechanism to mount directories
|
|
|
|
from the host OS during simulation mode. The host directory
|
|
|
|
to be "mounted" is specified during the mount command using
|
|
|
|
the -o command line switch, such as:
|
|
|
|
|
|
|
|
mount -t hostfs -o fs=/home/user/nuttx_root /host
|
|
|
|
|
|
|
|
For non-NSH operation, the option "fs=home/user/nuttx_root" would
|
|
|
|
be passed to the 'mount()' routine using the optional 'void *data'
|
|
|
|
parameter.
|
|
|
|
|
2021-03-11 10:04:00 +08:00
|
|
|
The backend implementation is arch-dependent.
|
|
|
|
As of writing this, it's implemented for sim, arm and xtensa.
|
|
|
|
|
|
|
|
Note: depending on the backend implementions, hostfs might
|
|
|
|
only provide very restricted subset of filesystem operations.
|
|
|
|
|
|
|
|
Sim: It's implemented with direct calls to the host OS API.
|
|
|
|
It likely consumes a lot of stack than ordinary NuttX codebase.
|
|
|
|
You likely need to make task stack sizes huge (e.g. 64KB) to
|
|
|
|
avoid stack overrun.
|
|
|
|
|
|
|
|
Arm, xtensa: It's implemented using a special CPU instruction
|
|
|
|
to trigger a trap for a hypervisor.
|
|
|
|
If you are using qemu, it has the `-semihosting` command line
|
|
|
|
option to enable the handling of the trap.
|
|
|
|
Theoretically, it can work for other environments as well.
|
|
|
|
E.g. a real hardware + JTAG + OpenOCD.
|