aboutsummaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-15 21:01:37 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-15 21:01:37 +0000
commitfcb316906d1741c28292e94eb7f09bd4d71ccb48 (patch)
treea84eb181060b4367ba7278a829a2ce7f3a83ffa9 /nuttx
parent90a72e97d3f18a5e230578c63113da119622a73a (diff)
downloadpx4-firmware-fcb316906d1741c28292e94eb7f09bd4d71ccb48.tar.gz
px4-firmware-fcb316906d1741c28292e94eb7f09bd4d71ccb48.tar.bz2
px4-firmware-fcb316906d1741c28292e94eb7f09bd4d71ccb48.zip
Implement redirection of output from NSH builtin commands to a file in a mounted volume
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5521 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/configs/sim/nsh/defconfig3
-rw-r--r--nuttx/configs/vsn/src/README.txt3
-rw-r--r--nuttx/fs/fat/fs_fat32.c19
-rw-r--r--nuttx/fs/romfs/fs_romfs.c17
4 files changed, 22 insertions, 20 deletions
diff --git a/nuttx/configs/sim/nsh/defconfig b/nuttx/configs/sim/nsh/defconfig
index 794b3107d..cec10459a 100644
--- a/nuttx/configs/sim/nsh/defconfig
+++ b/nuttx/configs/sim/nsh/defconfig
@@ -73,7 +73,7 @@ CONFIG_SCHED_WORKPRIORITY=192
CONFIG_SCHED_WORKPERIOD=50000
CONFIG_SCHED_WORKSTACKSIZE=1024
CONFIG_SIG_SIGWORK=17
-CONFIG_SCHED_WAITPID=n
+CONFIG_SCHED_WAITPID=y
CONFIG_SCHED_ATEXIT=n
CONFIG_SCHED_ONEXIT=n
@@ -224,6 +224,7 @@ CONFIG_EXAMPLES_OSTEST_STACKSIZE=8192
#
# Settings for apps/nshlib
#
+CONFIG_NSH_BUILTIN_APPS=n
CONFIG_NSH_FILEIOSIZE=1024
CONFIG_NSH_STRERROR=n
CONFIG_NSH_LINELEN=80
diff --git a/nuttx/configs/vsn/src/README.txt b/nuttx/configs/vsn/src/README.txt
index 87a538a10..732ede5e6 100644
--- a/nuttx/configs/vsn/src/README.txt
+++ b/nuttx/configs/vsn/src/README.txt
@@ -12,8 +12,7 @@ Execution starts in the following order:
is set. It must be set for the VSN board.
- boot, performs initial chip and board initialization
- - sched/os_bringup.c then calls either user_start or exec_builtin()
- with application as set in the .config
+ - sched/os_bringup.c then calls user entry defined in the .config file.
Naming throughout the code
diff --git a/nuttx/fs/fat/fs_fat32.c b/nuttx/fs/fat/fs_fat32.c
index 7164a9f8f..c10c28a5c 100644
--- a/nuttx/fs/fat/fs_fat32.c
+++ b/nuttx/fs/fat/fs_fat32.c
@@ -1314,15 +1314,16 @@ static int fat_dup(FAR const struct file *oldp, FAR struct file *newp)
* file is re-opened.
*/
- newff->ff_bflags = 0;
- newff->ff_oflags = oldff->ff_oflags;
- newff->ff_sectorsincluster = oldff->ff_sectorsincluster;
- newff->ff_dirindex = oldff->ff_dirindex;
- newff->ff_currentcluster = oldff->ff_currentcluster;
- newff->ff_dirsector = oldff->ff_dirsector;
- newff->ff_size = oldff->ff_size;
- newff->ff_currentsector = 0;
- newff->ff_cachesector = 0;
+ newff->ff_bflags = 0; /* File buffer flags */
+ newff->ff_oflags = oldff->ff_oflags; /* File open flags */
+ newff->ff_sectorsincluster = oldff->ff_sectorsincluster; /* Sectors remaining in cluster */
+ newff->ff_dirindex = oldff->ff_dirindex; /* Index to directory entry */
+ newff->ff_currentcluster = oldff->ff_currentcluster; /* Current cluster */
+ newff->ff_dirsector = oldff->ff_dirsector; /* Sector containing directory entry */
+ newff->ff_size = oldff->ff_size; /* Size of the file */
+ newff->ff_startcluster = oldff->ff_startcluster; /* Start cluster of file on media */
+ newff->ff_currentsector = oldff->ff_currentsector; /* Current sector */
+ newff->ff_cachesector = 0; /* Sector in file buffer */
/* Attach the private date to the struct file instance */
diff --git a/nuttx/fs/romfs/fs_romfs.c b/nuttx/fs/romfs/fs_romfs.c
index 2814aa49d..6a6fca355 100644
--- a/nuttx/fs/romfs/fs_romfs.c
+++ b/nuttx/fs/romfs/fs_romfs.c
@@ -56,6 +56,7 @@
#include <errno.h>
#include <debug.h>
+#include <nuttx/kmalloc.h>
#include <nuttx/fs/fs.h>
#include <nuttx/fs/ioctl.h>
#include <nuttx/fs/dirent.h>
@@ -225,7 +226,7 @@ static int romfs_open(FAR struct file *filep, FAR const char *relpath,
* file.
*/
- rf = (FAR struct romfs_file_s *)zalloc(sizeof(struct romfs_file_s));
+ rf = (FAR struct romfs_file_s *)kzalloc(sizeof(struct romfs_file_s));
if (!rf)
{
fdbg("Failed to allocate private data\n", ret);
@@ -317,12 +318,12 @@ static int romfs_close(FAR struct file *filep)
if (!rm->rm_xipbase && rf->rf_buffer)
{
- free(rf->rf_buffer);
+ kfree(rf->rf_buffer);
}
/* Then free the file structure itself. */
- free(rf);
+ kfree(rf);
filep->f_priv = NULL;
return ret;
}
@@ -915,7 +916,7 @@ static int romfs_bind(FAR struct inode *blkdriver, FAR const void *data,
/* Create an instance of the mountpt state structure */
- rm = (FAR struct romfs_mountpt_s *)zalloc(sizeof(struct romfs_mountpt_s));
+ rm = (FAR struct romfs_mountpt_s *)kzalloc(sizeof(struct romfs_mountpt_s));
if (!rm)
{
fdbg("Failed to allocate mountpoint structure\n");
@@ -959,12 +960,12 @@ static int romfs_bind(FAR struct inode *blkdriver, FAR const void *data,
errout_with_buffer:
if (!rm->rm_xipbase)
{
- free(rm->rm_buffer);
+ kfree(rm->rm_buffer);
}
errout_with_sem:
sem_destroy(&rm->rm_sem);
- free(rm);
+ kfree(rm);
return ret;
}
@@ -1031,11 +1032,11 @@ static int romfs_unbind(FAR void *handle, FAR struct inode **blkdriver)
if (!rm->rm_xipbase && rm->rm_buffer)
{
- free(rm->rm_buffer);
+ kfree(rm->rm_buffer);
}
sem_destroy(&rm->rm_sem);
- free(rm);
+ kfree(rm);
return OK;
}