+++ /dev/null
-/Make.dep
-/.depend
-/.built
-/*.o1
-/*.asm
-/*.obj
-/*.rel
-/*.lst
-/*.sym
-/*.adb
-/*.lib
-/*.src
-/*.err
+++ /dev/null
-#
-# For a description of the syntax of this configuration file,
-# see kconfig-language at https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
-#
-
-config SYSTEM_PRUN
- bool "Pascal P-Code interpreter"
- default n
- depends on INTERPRETERS_PCODE
- ---help---
- Build the Pascal P-Code interpreter / Virtual machine. This selection
- just builds a library of P-Code-related functions as described in
- include/apps/prun.h. This selection is also necessary to enable other
- P-Code related features.
-
-if SYSTEM_PRUN
-
-config SYSTEM_PEXEC
- bool "Pascal P-Code command"
- default n
- ---help---
- Generates an NSH built-in task that may be used to execute P-Code
- files from the NSH command line. For example:
-
- nsh> pexec /bin/hello.pex
- Hello, World!
-
-if SYSTEM_PEXEC
-
-config SYSTEM_PEXEC_STACKSIZE
- int "P-code interpreter stack size"
- default 2048
- ---help---
- This is the stack size that will be used when starting P-code interpreter.
-
-config SYSTEM_PEXEC_PRIORITY
- int "P-code interpreter priority"
- default 100
- ---help---
- This is the task_priority that will be used when starting P-code interpreter.
-
-config SYSTEM_PEXEC_VARSTACKSIZE
- int "P-code variable stack size (default)"
- default 1024
- ---help---
- This default size of the P-Code variable storage area to be allocated by the
- P-Code runtime.
-
-config SYSTEM_PEXEC_STRSTACKSIZE
- int "P-code string stack size (default)"
- default 128
- ---help---
- This default size of the P-Code string stack area to be allocated by the
- P-Code runtime.
-
-endif
-endif
+++ /dev/null
-###########################################################################
-#
-# Copyright 2017 Samsung Electronics All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-# either express or implied. See the License for the specific
-# language governing permissions and limitations under the License.
-#
-###########################################################################
-############################################################################
-# apps/system/prun/Make.defs
-# Adds selected applications to apps/ build
-#
-# Copyright (C) 2016 Gregory Nutt. All rights reserved.
-# Author: 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.
-#
-############################################################################
-
-ifeq ($(CONFIG_SYSTEM_PRUN),y)
-CONFIGURED_APPS += system/prun
-endif
-
+++ /dev/null
-###########################################################################
-#
-# Copyright 2016 Samsung Electronics All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-# either express or implied. See the License for the specific
-# language governing permissions and limitations under the License.
-#
-###########################################################################
-############################################################################
-# apps/system/prun/Makefile
-#
-# Copyright (C) 2014 Gregory Nutt. All rights reserved.
-# Author: 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.
-#
-############################################################################
-
--include $(TOPDIR)/.config
--include $(TOPDIR)/Make.defs
-include $(APPDIR)/Make.defs
-
-# Pascal P-Code interpreter / Virtual machine
-
-ifeq ($(WINTOOL),y)
-INCDIROPT = -w
-endif
-
-CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" \
- "." \
- "$(APPDIR)$(DELIM)interpreters$(DELIM)pcode$(DELIM)include" \
- "$(APPDIR)$(DELIM)interpreters$(DELIM)pcode$(DELIM)insn$(DELIM)include"}
-
-CONFIG_SYSTEM_PEXEC_STACKSIZE ?= 1536
-CONFIG_SYSTEM_PEXEC_PRIORITY ?= 100
-
-APPNAME = pexec
-PRIORITY = $(CONFIG_SYSTEM_PEXEC_PRIORITY)
-STACKSIZE = $(CONFIG_SYSTEM_PEXEC_STACKSIZE)
-
-ASRCS =
-CSRCS =
-MAINSRC = prun.c
-
-ifeq ($(CONFIG_SYSTEM_PEXEC),y)
-CSRCS += pexec_main.c
-endif
-
-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 ?= prun$(EXEEXT)
-PROGNAME = $(CONFIG_XYZ_PROGNAME)
-
-ROOTDEPPATH = --dep-path .
-
-# Common build
-
-VPATH =
-
-all: .built
-.PHONY: clean depend distclean
-
-$(AOBJS): %$(OBJEXT): %.S
- $(call ASSEMBLE, $<, $@)
-
-$(COBJS) $(MAINOBJ): %$(OBJEXT): %.c
- $(call COMPILE, $<, $@)
-
-.built: $(OBJS)
- $(call ARCHIVE, $(BIN), $(OBJS))
- @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
-
-context:
-
-.depend: Makefile $(SRCS)
- @$(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
- @touch $@
-
-depend: .depend
-
-clean:
- $(call DELFILE, .built)
- $(call CLEAN)
-
-distclean: clean
- $(call DELFILE, Make.dep)
- $(call DELFILE, .depend)
-
--include Make.dep
-.PHONY: preconfig
-preconfig:
+++ /dev/null
-README
-^^^^^^
-
-hello.pas
-
- This is a sample "Hello, World!" Pascal Program
-
-hello.pex
-
- This is the compiled, linked P-Code executable that results
- when hello.pas is compiled.
-
-hello.h
-
- This file defines an initialized C array holds a copy of
- hello.pex. This file as created by:
-
- xxd -i hello.pex >hello.h
-
-mkhello.sh
-
- This is a scripts that can be used to rebuild both hello.pex
- and hello.h.
-
-device.c
-
- The hello.pex file must be provided to the interpreter as a file
- in the file system. Normally this would be done using real storage
- medium. In this example, we will use device.c:
-
- device.c implements a simple device driver. Reads from this device
- will access the in-memory copy of hello.pex This device driver is
- registered as /dev/prun in the pseudo filesystem.
-
+++ /dev/null
-/****************************************************************************
- *
- * Copyright 2016 Samsung Electronics All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- ****************************************************************************/
-/****************************************************************************
- * system/prun/pexec_main.c
- *
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
- * Author: 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 <tinyara/config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-
-#include <apps/prun.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#ifndef CONFIG_SYSTEM_PEXEC_VARSTACKSIZE
-#define CONFIG_SYSTEM_PEXEC_VARSTACKSIZE 1024
-#endif
-
-#ifndef CONFIG_SYSTEM_PEXEC_STRSTACKSIZE
-#define CONFIG_SYSTEM_PEXEC_STRSTACKSIZE 128
-#endif
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static void show_usage(FAR const char *progname, int errcode)
-{
- fprintf(stderr, "USAGE: %s [OPTIONS] <filename>\n", progname);
- fprintf(stderr, "\nWhere:\n");
- fprintf(stderr, "\t<filename> is the full path to the P-Code file to be executed\n");
- fprintf(stderr, "\nand OPTIONS include the following:\n");
- fprintf(stderr, "\t-v <varsize>: Variable memory size to use. Default: %d\n", CONFIG_SYSTEM_PEXEC_VARSTACKSIZE);
- fprintf(stderr, "\t-s <strsize>: String stack size to use. Default: %d\n", CONFIG_SYSTEM_PEXEC_STRSTACKSIZE);
- fprintf(stderr, "\t-h: Show this text and exit\n");
- exit(errcode);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-#ifdef CONFIG_BUILD_KERNEL
-int main(int argc, FAR char *argv[])
-#else
-int pexec_main(int argc, FAR char **argv)
-#endif
-{
- FAR char *filename = NULL;
- FAR char *endptr;
- long varsize = CONFIG_SYSTEM_PEXEC_VARSTACKSIZE;
- long strsize = CONFIG_SYSTEM_PEXEC_STRSTACKSIZE;
- long tmp;
- int option;
- int ret;
-
- /* Parse input parameters */
-
- while ((option = getopt(argc, argv, ":v:s:h")) != ERROR) {
- switch (option) {
- case 'h':
- show_usage(argv[0], EXIT_SUCCESS);
- break;
-
- case 'v':
- tmp = strtol(optarg, &endptr, 10);
- if (tmp < 0) {
- fprintf(stderr, "ERROR: Variable memory size out of range: %ld\n", tmp);
- show_usage(argv[0], EXIT_FAILURE);
- } else {
- varsize = tmp;
- }
- break;
-
- case 's':
- tmp = strtol(optarg, &endptr, 10);
- if (tmp < 0) {
- fprintf(stderr, "ERROR: String stack size out of range: %ld\n", tmp);
- show_usage(argv[0], EXIT_FAILURE);
- } else {
- strsize = tmp;
- }
- break;
-
- case ':':
- fprintf(stderr, "ERROR: Missing required argument\n");
- show_usage(argv[0], EXIT_FAILURE);
- break;
-
- default:
- case '?':
- fprintf(stderr, "ERROR: Unrecognized option\n");
- show_usage(argv[0], EXIT_FAILURE);
- break;
- }
- }
-
- /* There should be one final parameters remaining on the command line */
-
- if (optind >= argc) {
- fprintf(stderr, "ERROR: Missing required <filename> argument\n");
- show_usage(argv[0], EXIT_FAILURE);
- }
-
- filename = argv[optind];
- optind++;
-
- if (optind < argc) {
- fprintf(stderr, "ERROR: Garbage at the end of the command line\n");
- show_usage(argv[0], EXIT_FAILURE);
- }
-
- /* Execute the P-Code file */
-
- ret = prun(filename, varsize, strsize);
- if (ret < 0) {
- int errval = errno;
- DEBUGASSERT(errval > 0);
-
- fprintf(stderr, "ERROR: P-Code execution failed: %d %d\n", ret, errval);
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
+++ /dev/null
-/****************************************************************************
- *
- * Copyright 2016 Samsung Electronics All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- ****************************************************************************/
-/****************************************************************************
- * apps/system/prun/prun.c
- *
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
- * Author: 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 <tinyara/config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <debug.h>
-
-#include <apps/prun.h>
-
-#include "pexec.h"
-#include "pedefs.h"
-#include "prun.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: prun
- *
- * Description:
- * Execute/interpret a P-Code file. This function does not return until
- * the P-code program terminates or until a fatal error occurs.
- *
- * Input Parameters:
- * exepath - The full path to the P-Code binary.
- * varsize - Size of the P-Code variable stack
- * strsize - the size of the P-Code string stack.
- *
- * Returned Value:
- * OK if the P-Code program successfully terminated; A negated errno value
- * is returned on the event of any failure.
- *
- ****************************************************************************/
-
-int prun(FAR char *exepath, size_t varsize, size_t strsize)
-{
- FAR struct pexec_s *st;
- int errcode;
- int ret = OK;
-
- /* Load the POFF file into memory */
-
- st = pload(exepath, varsize, varsize);
- if (!st) {
- bdbg("ERROR: Could not load %s\n", exepath);
- return -ENOEXEC;
- }
-
- bvdbg("Loaded %s\n", exepath);
-
- /* Execute the P-Code program until a stopping condition occurs */
-
- for (;;) {
- /* Execute the instruction; Check for exceptional conditions */
-
- errcode = pexec(st);
- if (errcode != eNOERROR) {
- break;
- }
- }
-
- if (errcode != eEXIT) {
- /* REVISIT: Select a more appropriated return errocode */
-
- bdbg("ERROR: Runtime error 0x%02x -- Execution Stopped\n", errcode);
- ret = -ENOEXEC;
- }
-
- /* Clean up resources used by the interpreter */
-
- bvdbg("Execution terminated\n");
- pexec_release(st);
- return ret;
-}
+++ /dev/null
-/****************************************************************************
- *
- * Copyright 2016 Samsung Electronics All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- ****************************************************************************/
-/****************************************************************************
- * examples/prun/prun.h
- *
- * Copyright (C) 2008 Gregory Nutt. All rights reserved.
- * Author: 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.
- *
- ****************************************************************************/
-
-#ifndef __EXAMPLES_PASHELLO_H
-#define __EXAMPLES_PASHELLO_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-/* Defined in device.c */
-
-extern void hello_register(void);
-
-#endif /* __EXAMPLES_PASHELLO_H */
+++ /dev/null
-/Make.dep
-/.depend
-/.built
-/*.asm
-/*.rel
-/*.lst
-/*.sym
-/*.adb
-/*.lib
-/*.src
-/*.obj
+++ /dev/null
-#
-# For a description of the syntax of this configuration file,
-# see kconfig-language at https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
-#
-
-config SYSTEM_RAMTRON
- bool "RAMTRON command"
- default n
- ---help---
- Enable support for the NSH RAMTRON command.
+++ /dev/null
-###########################################################################
-#
-# Copyright 2017 Samsung Electronics All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-# either express or implied. See the License for the specific
-# language governing permissions and limitations under the License.
-#
-###########################################################################
-
-ifeq ($(CONFIG_SYSTEM_RAMTRON),y)
-CONFIGURED_APPS += system/ramtron
-endif
+++ /dev/null
-###########################################################################
-#
-# Copyright 2016 Samsung Electronics All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
-# either express or implied. See the License for the specific
-# language governing permissions and limitations under the License.
-#
-###########################################################################
-############################################################################
-# apps/system/ramtron/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 = ramtron
-PRIORITY = SCHED_PRIORITY_DEFAULT
-STACKSIZE = 1024
-
-ASRCS =
-CSRCS =
-MAINSRC = ramtron.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 ?= ramtron$(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
-
-context:
-
-# 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
-.PHONY: preconfig
-preconfig:
+++ /dev/null
-/****************************************************************************
- *
- * Copyright 2016 Samsung Electronics All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific
- * language governing permissions and limitations under the License.
- *
- ****************************************************************************/
-/****************************************************************************
- * apps/system/ramtron/ramtron.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.
- *
- ****************************************************************************/
-
-#include <tinyara/config.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <debug.h>
-#include <errno.h>
-#include <string.h>
-
-#include <tinyara/spi/spi.h>
-#include <tinyara/fs/mtd.h>
-
-FAR struct mtd_dev_s *ramtron_initialize(FAR struct spi_dev_s *dev);
-
-int ramtron_start(int spino)
-{
- FAR struct spi_dev_s *spi;
- FAR struct mtd_dev_s *mtd;
- int retval;
-
- /* Get the SPI port */
-
- spi = up_spiinitialize(spino);
- if (!spi) {
- printf("RAMTRON: Failed to initialize SPI%d\n", spino);
- return -ENODEV;
- }
-
- printf("RAMTRON: Initialized SPI%d\n", spino);
-
- mtd = (struct mtd_dev_s *)ramtron_initialize(spi);
- if (!mtd) {
- printf("RAMTRON: Device not found\n");
- return -ENODEV;
- }
-
- printf("RAMTRON: FM25V10 of size 128 kB\n");
- //printf("RAMTRON: %s of size %d B\n", ramtron_getpart(mtd), ramtron_getsize(mtd) );
-
- retval = ftl_initialize(0, mtd);
- printf("RAMTRON: FTL Initialized (returns with %d)\n", retval);
-
- return OK;
-}
-
-#ifdef CONFIG_BUILD_KERNEL
-int main(int argc, FAR char *argv[])
-#else
-int ramtron_main(int argc, char *argv[])
-#endif
-{
- int spino;
-
- if (argc == 3) {
- spino = atoi(argv[2]);
-
- if (!strcmp(argv[1], "start")) {
- return ramtron_start(spino);
- }
- }
-
- /* todo: write protect */
-
- printf("%s: <start> <spino>\n", argv[0]);
- return -1;
-}