mirror of
https://github.com/apache/nuttx-apps.git
synced 2025-07-24 00:20:11 +08:00
Merged nuttx/apps into master
This commit is contained in:
commit
003eef9fa3
@ -1575,3 +1575,8 @@
|
|||||||
(2016-03-25).
|
(2016-03-25).
|
||||||
|
|
||||||
7.16 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
7.16 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
|
||||||
|
* apps/system/sdcard: Remove the SD card application. This
|
||||||
|
application violates OS/application interface rules and has been
|
||||||
|
moved to Obsoleted/apps/system/sdcard (2016-03-29).
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ source "$APPSDIR/system/ramtest/Kconfig"
|
|||||||
source "$APPSDIR/system/readline/Kconfig"
|
source "$APPSDIR/system/readline/Kconfig"
|
||||||
source "$APPSDIR/system/prun/Kconfig"
|
source "$APPSDIR/system/prun/Kconfig"
|
||||||
source "$APPSDIR/system/mdio/Kconfig"
|
source "$APPSDIR/system/mdio/Kconfig"
|
||||||
source "$APPSDIR/system/sdcard/Kconfig"
|
|
||||||
source "$APPSDIR/system/sudoku/Kconfig"
|
source "$APPSDIR/system/sudoku/Kconfig"
|
||||||
source "$APPSDIR/system/lm75/Kconfig"
|
source "$APPSDIR/system/lm75/Kconfig"
|
||||||
source "$APPSDIR/system/vi/Kconfig"
|
source "$APPSDIR/system/vi/Kconfig"
|
||||||
|
@ -102,10 +102,6 @@ ifeq ($(CONFIG_SYSTEM_READLINE),y)
|
|||||||
CONFIGURED_APPS += system/readline
|
CONFIGURED_APPS += system/readline
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_SYSTEM_SDCARD),y)
|
|
||||||
CONFIGURED_APPS += system/sdcard
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_SYSTEM_SUDOKU),y)
|
ifeq ($(CONFIG_SYSTEM_SUDOKU),y)
|
||||||
CONFIGURED_APPS += system/sudoku
|
CONFIGURED_APPS += system/sudoku
|
||||||
endif
|
endif
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
# Sub-directories containing system tasks/libraries
|
# Sub-directories containing system tasks/libraries
|
||||||
|
|
||||||
SUBDIRS = cdcacm cle composite cu flash_eraseall free i2c hex2bin install
|
SUBDIRS = cdcacm cle composite cu flash_eraseall free i2c hex2bin install
|
||||||
SUBDIRS += hexed lm75 mdio netdb nxplayer ramtest readline sdcard
|
SUBDIRS += hexed lm75 mdio netdb nxplayer ramtest readline
|
||||||
SUBDIRS += stackmonitor sudoku symtab ubloxmodem usbmonitor usbmsc vi
|
SUBDIRS += stackmonitor sudoku symtab ubloxmodem usbmonitor usbmsc vi
|
||||||
SUBDIRS += zmodem zoneinfo
|
SUBDIRS += zmodem zoneinfo
|
||||||
|
|
||||||
|
11
system/sdcard/.gitignore
vendored
11
system/sdcard/.gitignore
vendored
@ -1,11 +0,0 @@
|
|||||||
/Make.dep
|
|
||||||
/.depend
|
|
||||||
/.built
|
|
||||||
/*.asm
|
|
||||||
/*.rel
|
|
||||||
/*.lst
|
|
||||||
/*.sym
|
|
||||||
/*.adb
|
|
||||||
/*.lib
|
|
||||||
/*.src
|
|
||||||
/*.obj
|
|
@ -1,14 +0,0 @@
|
|||||||
#
|
|
||||||
# For a description of the syntax of this configuration file,
|
|
||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
||||||
#
|
|
||||||
|
|
||||||
config SYSTEM_SDCARD
|
|
||||||
bool "SD Card"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Enable support for the NSH sdcard command.
|
|
||||||
|
|
||||||
if SYSTEM_SDCARD
|
|
||||||
endif
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
|||||||
############################################################################
|
|
||||||
# apps/system/sdcard/Makefile
|
|
||||||
#
|
|
||||||
# Copyright (C) 2011 Uros Platise. All rights reserved.
|
|
||||||
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
|
||||||
# Author: Uros Platise <uros.platise@isotel.eu>
|
|
||||||
# Gregory Nutt <gnutt@nuttx.org>
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in
|
|
||||||
# the documentation and/or other materials provided with the
|
|
||||||
# distribution.
|
|
||||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
|
||||||
# used to endorse or promote products derived from this software
|
|
||||||
# without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
||||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
||||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
||||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
||||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
|
|
||||||
# TODO, this makefile should run make under the app dirs, instead of
|
|
||||||
# sourcing the Make.defs!
|
|
||||||
|
|
||||||
-include $(TOPDIR)/.config
|
|
||||||
-include $(TOPDIR)/Make.defs
|
|
||||||
include $(APPDIR)/Make.defs
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
|
||||||
INCDIROPT = -w
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Hello Application
|
|
||||||
# TODO: appname can be automatically extracted from the directory name
|
|
||||||
|
|
||||||
APPNAME = sdcard
|
|
||||||
PRIORITY = SCHED_PRIORITY_DEFAULT
|
|
||||||
STACKSIZE = 1024
|
|
||||||
|
|
||||||
ASRCS =
|
|
||||||
CSRCS =
|
|
||||||
MAINSRC = sdcard.c
|
|
||||||
|
|
||||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
|
||||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
|
||||||
MAINOBJ = $(MAINSRC:.c=$(OBJEXT))
|
|
||||||
|
|
||||||
SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
|
|
||||||
OBJS = $(AOBJS) $(COBJS)
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_BUILD_KERNEL),y)
|
|
||||||
OBJS += $(MAINOBJ)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
|
||||||
BIN = ..\..\libapps$(LIBEXT)
|
|
||||||
else
|
|
||||||
ifeq ($(WINTOOL),y)
|
|
||||||
BIN = ..\\..\\libapps$(LIBEXT)
|
|
||||||
else
|
|
||||||
BIN = ../../libapps$(LIBEXT)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
|
||||||
INSTALL_DIR = "${shell cygpath -w $(BIN_DIR)}"
|
|
||||||
else
|
|
||||||
INSTALL_DIR = $(BIN_DIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
CONFIG_XYZ_PROGNAME ?= sdcard$(EXEEXT)
|
|
||||||
PROGNAME = $(CONFIG_XYZ_PROGNAME)
|
|
||||||
|
|
||||||
ROOTDEPPATH = --dep-path .
|
|
||||||
|
|
||||||
# Common build
|
|
||||||
|
|
||||||
VPATH =
|
|
||||||
|
|
||||||
all: .built
|
|
||||||
.PHONY: context depend clean distclean
|
|
||||||
|
|
||||||
$(AOBJS): %$(OBJEXT): %.S
|
|
||||||
$(call ASSEMBLE, $<, $@)
|
|
||||||
|
|
||||||
$(COBJS) $(MAINOBJ): %$(OBJEXT): %.c
|
|
||||||
$(call COMPILE, $<, $@)
|
|
||||||
|
|
||||||
.built: $(OBJS)
|
|
||||||
$(call ARCHIVE, $(BIN), $(OBJS))
|
|
||||||
$(Q) touch .built
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_BUILD_KERNEL),y)
|
|
||||||
$(BIN_DIR)$(DELIM)$(PROGNAME): $(OBJS) $(MAINOBJ)
|
|
||||||
@echo "LD: $(PROGNAME)"
|
|
||||||
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(PROGNAME) $(ARCHCRT0OBJ) $(MAINOBJ) $(LDLIBS)
|
|
||||||
$(Q) $(NM) -u $(INSTALL_DIR)$(DELIM)$(PROGNAME)
|
|
||||||
|
|
||||||
install: $(BIN_DIR)$(DELIM)$(PROGNAME)
|
|
||||||
|
|
||||||
else
|
|
||||||
install:
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Register application
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
|
|
||||||
$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat: $(DEPCONFIG) Makefile
|
|
||||||
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
|
|
||||||
|
|
||||||
context: $(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat
|
|
||||||
else
|
|
||||||
context:
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create dependencies
|
|
||||||
|
|
||||||
.depend: Makefile $(SRCS)
|
|
||||||
$(Q) $(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
|
|
||||||
$(Q) touch $@
|
|
||||||
|
|
||||||
depend: .depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(call DELFILE, .built)
|
|
||||||
$(call CLEAN)
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
$(call DELFILE, Make.dep)
|
|
||||||
$(call DELFILE, .depend)
|
|
||||||
|
|
||||||
-include Make.dep
|
|
@ -1,162 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
* apps/system/sdcard/sdcard.c
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Uros Platise. All rights reserved.
|
|
||||||
* Copyright (C) 2009 Gregory Nutt. All rights reserved.
|
|
||||||
*
|
|
||||||
* Authors: Uros Platise <uros.platise@isotel.eu>
|
|
||||||
* Gregory Nutt <gnutt@nuttx.org>
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in
|
|
||||||
* the documentation and/or other materials provided with the
|
|
||||||
* distribution.
|
|
||||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
|
||||||
* used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
||||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
||||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
||||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
||||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Included Files
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include <nuttx/config.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <nuttx/sdio.h>
|
|
||||||
#include <nuttx/mmcsd.h>
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Function Prototypes
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
FAR struct sdio_dev_s *sdio_initialize(int slotno);
|
|
||||||
void sdio_mediachange(FAR struct sdio_dev_s *dev, bool cardinslot);
|
|
||||||
|
|
||||||
// TODO get the structure out from the slot number
|
|
||||||
static FAR struct sdio_dev_s *sdio = NULL;
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Create device device for the SDIO-based MMC/SD block driver */
|
|
||||||
|
|
||||||
static int sdcard_start(int slotno)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* First, get an instance of the SDIO interface */
|
|
||||||
|
|
||||||
sdio = sdio_initialize(slotno);
|
|
||||||
if (!sdio)
|
|
||||||
{
|
|
||||||
printf("SDIO: Failed to initialize slot %d\n", slotno);
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("SDIO: Initialized slot %d\n", slotno);
|
|
||||||
|
|
||||||
/* Now bind the SPI interface to the MMC/SD driver */
|
|
||||||
|
|
||||||
ret = mmcsd_slotinitialize(slotno, sdio);
|
|
||||||
if (ret != OK)
|
|
||||||
{
|
|
||||||
printf("SDIO: Failed to bind to the MMC/SD driver: %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("SDIO: Successfully bound to the MMC/SD driver\n");
|
|
||||||
|
|
||||||
/* Then let's guess and say that there is a card in the slot. I need to check to
|
|
||||||
* see if the VSN board supports a GPIO to detect if there is a card in
|
|
||||||
* the slot.
|
|
||||||
*/
|
|
||||||
sdio_mediachange(sdio, true);
|
|
||||||
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifdef CONFIG_BUILD_KERNEL
|
|
||||||
int main(int argc, FAR char *argv[])
|
|
||||||
#else
|
|
||||||
int sdcard_main(int argc, char *argv[])
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
int slotno = 0;
|
|
||||||
|
|
||||||
if (argc >= 2) {
|
|
||||||
|
|
||||||
/* The 3rd argument is expected to be a slot number, if given */
|
|
||||||
|
|
||||||
if (argc==3)
|
|
||||||
{
|
|
||||||
slotno = atoi(argv[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Commands */
|
|
||||||
|
|
||||||
if (!strcmp(argv[1], "start"))
|
|
||||||
{
|
|
||||||
return sdcard_start(slotno);
|
|
||||||
}
|
|
||||||
else if (!strcmp(argv[1], "stop"))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Not implemented yet\n");
|
|
||||||
}
|
|
||||||
else if (!strcmp(argv[1], "insert"))
|
|
||||||
{
|
|
||||||
if (sdio)
|
|
||||||
{
|
|
||||||
sdio_mediachange(sdio, true);
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!strcmp(argv[1], "eject"))
|
|
||||||
{
|
|
||||||
if (sdio)
|
|
||||||
{
|
|
||||||
sdio_mediachange(sdio, false);
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!strcmp(argv[1], "status"))
|
|
||||||
{
|
|
||||||
printf("SDcard #%d Status:\n", slotno);
|
|
||||||
#ifndef CONFIG_MMCSD_HAVECARDDETECT
|
|
||||||
printf("\t - Without SDcard detect capability\n");
|
|
||||||
#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("%s: <start|stop|insert|eject|status> {slotno}\n", argv[0]);
|
|
||||||
return -1;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user