9
0
Fork 0

Pascal now installs in the apps/ directory

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3583 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-05-10 15:50:23 +00:00
parent 6327539fc8
commit b178fec3d8
21 changed files with 351 additions and 129 deletions

View File

@ -32,3 +32,7 @@
verify NXFFS.
6.3 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* apps/interpreter: Add a directory to hold interpreters. The Pascal add-
on module now installs and builds under this directory.

View File

@ -48,20 +48,20 @@ APPDIR = ${shell pwd}
# list can be extended by the .config file as well
CONFIGURED_APPS =
SUBDIRS = namedapp nshlib netutils examples vsn
SUBDIRS = examples interpreters namedapp nshlib netutils vsn
-include .config
# BUILTIN_APPS_DIR is the list of currently available application directories. It
# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent apps
# INSTALLED_APPS is the list of currently available application directories. It
# is the same as CONFIGURED_APPS, but filtered to exclude any non-existent apps.
# namedapp is always in the list of applications to be built
BUILTIN_APPS_DIR = namedapp
INSTALLED_APPS = namedapp
# Create the list of available applications (BUILTIN_APPS_DIR)
# Create the list of available applications (INSTALLED_APPS)
define ADD_BUILTIN
BUILTIN_APPS_DIR += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
INSTALLED_APPS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
endef
$(foreach BUILTIN, $(CONFIGURED_APPS), $(eval $(call ADD_BUILTIN,$(BUILTIN))))
@ -73,18 +73,18 @@ BIN = libapps$(LIBEXT)
# Build targets
all: $(BIN)
.PHONY: $(BUILTIN_APPS_DIR) context depend clean distclean
.PHONY: $(INSTALLED_APPS) context depend clean distclean
$(BUILTIN_APPS_DIR):
$(INSTALLED_APPS):
@$(MAKE) -C $@ TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)";
$(BIN): $(BUILTIN_APPS_DIR)
$(BIN): $(INSTALLED_APPS)
@( for obj in $(OBJS) ; do \
$(call ARCHIVE, $@, $${obj}); \
done ; )
.context:
@for dir in $(BUILTIN_APPS_DIR) ; do \
@for dir in $(INSTALLED_APPS) ; do \
rm -f $$dir/.context ; \
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" context ; \
done
@ -93,7 +93,7 @@ $(BIN): $(BUILTIN_APPS_DIR)
context: .context
.depend: context Makefile $(SRCS)
@for dir in $(BUILTIN_APPS_DIR) ; do \
@for dir in $(INSTALLED_APPS) ; do \
rm -f $$dir/.depend ; \
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" depend ; \
done

View File

@ -274,7 +274,13 @@ examples/ostest
examples/pashello
^^^^^^^^^^^^^^^^^
This is "Hello, World" implemented via the Pascal P-Code interpreter
This is "Hello, World" implemented via the Pascal P-Code interpreter. In
order to use this example, you must first download and install the
NuttX pascal module. After unpacking the pascal module, you can find
installation instructions in pascal/nuttx/README.txt.
The correct install location for the NuttX examples and build files is
apps/interpreters.
examples/pipe
^^^^^^^^^^^^^

View File

@ -39,13 +39,6 @@ include $(APPDIR)/Make.defs
# Pascal Add-On Example
ifeq ($(WINTOOL),y)
INCDIROPT = -w
endif
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/include }
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/pcode/insn/include}
ASRCS =
CSRCS = pashello.c device.c

View File

@ -43,8 +43,8 @@
#include <stdlib.h>
#include <debug.h>
#include "pexec.h"
#include "pedefs.h"
#include "apps/pcode/insn/pexec.h"
#include "apps/pcode/pedefs.h"
#include "pashello.h"
/****************************************************************************

View File

@ -0,0 +1,70 @@
############################################################################
# apps/interpreters/Makefile
#
# Copyright (C) 2011 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# 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 # Current configuration
# Sub-directories containing interpreter runtime
SUBDIRS = pcode
# Create the list of installed runtime modules (INSTALLED_DIRS)
define ADD_DIRECTORY
INSTALLED_DIRS += ${shell if [ -r $1/Makefile ]; then echo "$1"; fi}
endef
$(foreach DIR, $(SUBDIRS), $(eval $(call ADD_DIRECTORY,$(DIR))))
all: nothing
.PHONY: nothing context depend clean distclean
nothing:
context:
depend:
@for dir in $(INSTALLED_DIRS) ; do \
$(MAKE) -C $$dir depend TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
done
clean:
@for dir in $(INSTALLED_DIRS) ; do \
$(MAKE) -C $$dir clean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
done
distclean: clean
@for dir in $(INSTALLED_DIRS) ; do \
$(MAKE) -C $$dir distclean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
done

View File

@ -0,0 +1,59 @@
apps/interpreters README file
=============================
This apps/ directory is set aside to hold interpreters that may be
incorporated into NuttX.
pcode
-----
At present, only the NuttX Pascal add-on is supported. This NuttX add-on
must be downloaded separately (or is available in an SVN snapshot in the
misc/pascal directory).
This Pascal add-on must be installed into the NuttX apps/ directory. After
unpacking the Pascal add-on package, an installation script and README.txt
instructions can be found at pascal/nuttx.
INSTALL.sh -- The script that performs the operation. Usage:
./INSTALL.sh [-16|-32] <install-dir>
If you are using this standard NuttX apps/ package, the correct
location for the <install-dir> is apps/interpreters. That is
where the examples and build logic will expect to find the pcode
sub-directory.
Example:
./INSTALL.sh -16 $PWD/../../../apps/interpreters
After installation, the NuttX apps/interpresters directory will contain
the following files
pcode
|-- Makefile
|-- include
| `-- Common header files
|-- libboff
| `-- Pascal object format (POFF) library
`--insn
|-- include
| `-- model-specific header files
`-- prun
`-- model-specific source files
pashello
There is a simple Pascal example at apps/examples/pashello. This is the
standard "Hello, World!" example written in Pascal and interpreted from
Pascal P-Code at runtime. To use this example, place the following in
your appconfig file"
# Path to example in apps/examples containing the user_start entry point
CONFIGURED_APPS += examples/pashello
# Path to the Pascal p-code runtime interpreter module
CONFIGURED_APPS += interpreters/pcode

View File

@ -62,6 +62,3 @@ distclean: clean
@for dir in $(SUBDIRS) ; do \
$(MAKE) -C $$dir distclean TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
done
-include Make.dep

View File

@ -22,4 +22,10 @@ pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
stdbool.h. This change was necessary for compatibility
with NuttX-5.0 (any beyond).
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
pascal-3.0 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* nuttx/: The Pascal add-on module now installs and builds under the
apps/interpreters directory. This means that the pascal-3.0 module is
incompatible with will all releases of NuttX prior to nuttx-6.0 where the
apps/ module was introduced.

View File

@ -18,5 +18,8 @@ Installing the NuttX Runtime P-Code Interpreter
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cd <pascal-directory>/nuttx
./INSTALL.sh <nuttx-directory>
./INSTALL.sh <apps-directory>
See <pascal-directory>/nuttx/README.txt for additional information.

View File

@ -25,3 +25,16 @@ The release version was bumped to 2.0 because these changes introduce
typing incompatibilies with earlier versions.
This tarball contains a complete CVS snapshot from December 21, 2009.
pascal-3.0
^^^^^^^^^^
This release moves the Pascal installation location from the nuttx/
source to the apps/ source tree. Specifically, the Pascall runtime now
builds under apps/interpreters.
This means that the pascal-3.0 module is incompatible with will all
releases of NuttX prior to nuttx-6.0 where the apps/ module was
introduced. The release version was bumped to 3.0 because these changes
introduces installation incompatibilies with earlier versions.

View File

@ -2,7 +2,7 @@
# nuttx/INSTALL.sh
# Install the pascaldirl runtime into the NuttX source tree
#
# Copyright (C) 2008 Gregory Nutt. All rights reserved.
# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -39,7 +39,7 @@
wd=`pwd`
modeldir=insn16
unset nuttxdir
unset installdir
while [ ! -z "$1" ]; do
case "$1" in
-d )
@ -52,22 +52,22 @@ while [ ! -z "$1" ]; do
modeldir=insn32
;;
-h )
echo "USAGE: $0 [-16|-32] <NuttX-path>"
echo "USAGE: $0 [-16|-32] <install-dir>"
exit 0
;;
*)
nuttxdir=$1
installdir=$1
;;
esac
shift
done
echo "Installing model $modeldir to $nuttxdir"
echo "Installing model $modeldir to $installdir"
# Verify that required parameters were provided
if [ -z "${nuttxdir}" ]; then
echo "USAGE: $0 [-16|-32] <NuttX-path>"
if [ -z "${installdir}" ]; then
echo "USAGE: $0 [-16|-32] <install-dir>"
exit 1
fi
@ -91,38 +91,38 @@ if [ ! -d ${pascaldir}/${modeldir} ]; then
exit 1
fi
if [ ! -d ${nuttxdir} ]; then
echo "NuttX directory ${nuttxdir} does not exist"
if [ ! -d ${installdir} ]; then
echo "NuttX apps/ sub-directory ${installdir} does not exist"
exit 1
fi
if [ -d ${nuttxdir}/pcode ]; then
echo "${nuttxdir}/pcode already exists. Remove it and try again."
if [ -d ${installdir}/pcode ]; then
echo "${installdir}/pcode already exists. Remove it and try again."
exit 1
fi
# Looks good enough. Create NuttX directories
mkdir ${nuttxdir}/pcode || \
{ echo "mkdir ${nuttxdir}/pcode failed" ; exit 1 ; }
mkdir ${installdir}/pcode || \
{ echo "mkdir ${installdir}/pcode failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/include || \
{ echo "mkdir ${nuttxdir}/pcode/include failed" ; exit 1 ; }
mkdir ${installdir}/pcode/include || \
{ echo "mkdir ${installdir}/pcode/include failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/insn || \
{ echo "mkdir ${nuttxdir}/pcode/insn failed" ; exit 1 ; }
mkdir ${installdir}/pcode/insn || \
{ echo "mkdir ${installdir}/pcode/insn failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/insn/include || \
{ echo "mkdir ${nuttxdir}/pcode/insn/include failed" ; exit 1 ; }
mkdir ${installdir}/pcode/insn/include || \
{ echo "mkdir ${installdir}/pcode/insn/include failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/insn/prun || \
{ echo "mkdir ${nuttxdir}/pcode/insn/prun failed" ; exit 1 ; }
mkdir ${installdir}/pcode/insn/prun || \
{ echo "mkdir ${installdir}/pcode/insn/prun failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/libpoff || \
{ echo "mkdir ${nuttxdir}/pcode/libpoff failed" ; exit 1 ; }
mkdir ${installdir}/pcode/libpoff || \
{ echo "mkdir ${installdir}/pcode/libpoff failed" ; exit 1 ; }
mkdir ${nuttxdir}/pcode/libpas || \
{ echo "mkdir ${nuttxdir}/pcode/libpas failed" ; exit 1 ; }
mkdir ${installdir}/pcode/libpas || \
{ echo "mkdir ${installdir}/pcode/libpas failed" ; exit 1 ; }
# Copy runtime files
@ -130,37 +130,37 @@ cp -a ${pascaldir}/include/poff.h ${pascaldir}/include/pofflib.h \
${pascaldir}/include/pedefs.h ${pascaldir}/include/perr.h \
${pascaldir}/include/pdefs.h ${pascaldir}/include/pfdefs.h \
${pascaldir}/include/pxdefs.h ${pascaldir}/include/paslib.h \
${nuttxdir}/pcode/include/. || \
${installdir}/pcode/include/. || \
{ echo "Failed to copy ${pascaldir}/include" ; exit 1; }
echo "#ifndef __CONFIG_H" >${nuttxdir}/pcode/include/config.h
echo "#define __CONFIG_H 1" >>${nuttxdir}/pcode/include/config.h
echo "" >>${nuttxdir}/pcode/include/config.h
echo "#undef CONFIG_DEBUG" >>${nuttxdir}/pcode/include/config.h
echo "#undef CONFIG_TRACE" >>${nuttxdir}/pcode/include/config.h
echo "#define CONFIG_INSN16 1" >>${nuttxdir}/pcode/include/config.h
echo "#undef CONFIG_INSN32" >>${nuttxdir}/pcode/include/config.h
echo "" >>${nuttxdir}/pcode/include/config.h
echo "#endif /* __CONFIG_H */" >>${nuttxdir}/pcode/include/config.h
echo "#ifndef __CONFIG_H" >${installdir}/pcode/include/config.h
echo "#define __CONFIG_H 1" >>${installdir}/pcode/include/config.h
echo "" >>${installdir}/pcode/include/config.h
echo "#undef CONFIG_DEBUG" >>${installdir}/pcode/include/config.h
echo "#undef CONFIG_TRACE" >>${installdir}/pcode/include/config.h
echo "#define CONFIG_INSN16 1" >>${installdir}/pcode/include/config.h
echo "#undef CONFIG_INSN32" >>${installdir}/pcode/include/config.h
echo "" >>${installdir}/pcode/include/config.h
echo "#endif /* __CONFIG_H */" >>${installdir}/pcode/include/config.h
cp -a ${pascaldir}/nuttx/Makefile ${nuttxdir}/pcode/. || \
cp -a ${pascaldir}/nuttx/Makefile ${installdir}/pcode/. || \
{ echo "Failed to copy ${pascaldir}/nuttx/Makefile" ; exit 1; }
cp -a ${pascaldir}/nuttx/keywords.h ${nuttxdir}/pcode/include/. || \
cp -a ${pascaldir}/nuttx/keywords.h ${installdir}/pcode/include/. || \
{ echo "Failed to copy ${pascaldir}/nuttx/keywords.h" ; exit 1; }
cp -a ${pascaldir}/libpoff/*.c ${pascaldir}/libpoff/*.h \
${pascaldir}/libpoff/Make.defs ${nuttxdir}/pcode/libpoff/. || \
${pascaldir}/libpoff/Make.defs ${installdir}/pcode/libpoff/. || \
{ echo "Failed to copy ${pascaldir}/libpoff" ; exit 1; }
cp -a ${pascaldir}/libpas/psignextend16.c ${pascaldir}/libpas/pswap.c \
${pascaldir}/libpas/Make.defs ${nuttxdir}/pcode/libpas/. || \
${pascaldir}/libpas/Make.defs ${installdir}/pcode/libpas/. || \
{ echo "Failed to copy ${pascaldir}/libpas" ; exit 1; }
cp -a ${pascaldir}/${modeldir}/include/pexec.h ${pascaldir}/${modeldir}/include/pinsn16.h \
${nuttxdir}/pcode/insn/include/. || \
${installdir}/pcode/insn/include/. || \
{ echo "Failed to copy ${pascaldir}/${modeldir}/include" ; exit 1; }
cp -a ${pascaldir}/${modeldir}/prun/pexec.c ${pascaldir}/${modeldir}/prun/pload.c \
${pascaldir}/${modeldir}/prun/Make.defs ${nuttxdir}/pcode/insn/prun/. || \
${pascaldir}/${modeldir}/prun/Make.defs ${installdir}/pcode/insn/prun/. || \
{ echo "Failed to copy ${pascaldir}/${modeldir}/prun" ; exit 1; }

View File

@ -1,7 +1,7 @@
############################################################################
# pcode/Makefile
# apps/interpreters/pcode/Makefile
#
# Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
# Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@ -33,36 +33,63 @@
#
############################################################################
-include $(TOPDIR)/Make.defs
PCODEDIR := ${shell pwd | sed -e 's/ /\\ /g'}
COMPILER = ${shell basename $(CC)}
ifeq ($(COMPILER),zneocc.exe)
USRINCLUDES = -usrinc:'.;$(WTOPDIR)\pcode\include;$(WTOPDIR)\pcode\insn\include'
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
else
USRINCLUDES = -I$(TOPDIR)/pcode/include -I$(TOPDIR)/pcode/insn/include
INCLUDES = $(ARCHINCLUDES) $(USRINCLUDES)
-include $(TOPDIR)/.config
-include $(TOPDIR)/Make.defs
include $(APPDIR)/Make.defs
# Default tools
ifeq ($(DIRLINK),)
DIRLINK = $(TOPDIR)/tools/link.sh
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
INCDIR = $(TOPDIR)/tools/incdir.sh
endif
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES)
ifeq ($(WINTOOL),y)
INCDIROPT = -w
endif
USRINCLUDES = ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(PCODEDIR)/include $(PCODEDIR)/insn/include}
COMPILER = ${shell basename $(CC)}
ifeq ($(COMPILER),zneocc.exe)
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
else
INCLUDES = $(ARCHINCLUDES) $(USRINCLUDES)
endif
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES)
include insn/prun/Make.defs
include libpoff/Make.defs
include libpas/Make.defs
ASRCS = $(PRUN_ASRCS) $(POFF_ASRCS) $(PAS_ASRCS)
AOBJS = $(ASRCS:.S=$(OBJEXT))
ASRCS = $(PRUN_ASRCS) $(POFF_ASRCS) $(PAS_ASRCS)
AOBJS = $(ASRCS:.S=$(OBJEXT))
CSRCS = $(PRUN_CSRCS) $(POFF_CSRCS) $(PAS_CSRCS)
COBJS = $(CSRCS:.c=$(OBJEXT))
CSRCS = $(PRUN_CSRCS) $(POFF_CSRCS) $(PAS_CSRCS)
COBJS = $(CSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS)
OBJS = $(AOBJS) $(COBJS)
SRCS = $(ASRCS) $(CSRCS)
OBJS = $(AOBJS) $(COBJS)
BIN = libpcode$(LIBEXT)
ifeq ($(WINTOOL),y)
BIN = "${shell cygpath -w $(APPDIR)/libapps$(LIBEXT)}"
else
BIN = "$(APPDIR)/libapps$(LIBEXT)"
endif
VPATH = insn/prun:libpoff:libpas
ROOTDEPPATH = --dep-path .
PRUNDEPPATH = --dep-path insn/prun
POFFDEPPATH = --dep-path libpoff
PASDEPPATH = --dep-path libpas
all: $(BIN)
VPATH = insn/prun:libpoff:libpas
all: .built
.PHONY: context depend clean distclean
$(AOBJS): %$(OBJEXT): %.S
ifeq ($(COMPILER),zneocc.exe)
@ -78,23 +105,34 @@ else
$(call COMPILE, $<, $@)
endif
$(BIN): $(OBJS)
$(APPDIR)/include/pcode: include
@$(DIRLINK) $(PCODEDIR)/include $(APPDIR)/include/pcode
$(APPDIR)/include/pcode/insn: $(APPDIR)/include/pcode insn/include
@$(DIRLINK) $(PCODEDIR)/insn/include $(APPDIR)/include/pcode/insn
.built: $(APPDIR)/include/pcode $(APPDIR)/include/pcode/insn $(OBJS)
@( for obj in $(OBJS) ; do \
$(call ARCHIVE, $@, $${obj}); \
$(call ARCHIVE, $(BIN), $${obj}); \
done ; )
@touch .built
context: $(APPDIR)/include/pcode $(APPDIR)/include/pcode/insn
.depend: Makefile $(SRCS)
@$(MKDEP) --dep-path . --dep-path insn/prun --dep-path libpoff --dep-path libpas \
@$(MKDEP) $(ROOTDEPPATH) $(PRUNDEPPATH) $(POFFDEPPATH) $(PASDEPPATH) \
$(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
depend: .depend
clean:
@rm -f $(BIN) *~ .*.swp
@rm -f *.o *~ .*.swp .built
$(call CLEAN)
distclean: clean
@rm -f Make.dep .depend
@$(DIRUNLINK) $(APPDIR)/include/pcode/insn
@$(DIRUNLINK) $(APPDIR)/include/pcode
-include Make.dep

View File

@ -1,31 +1,43 @@
README.txt
^^^^^^^^^^
pascal/nuttx/README.txt
^^^^^^^^^^^^^^^^^^^^^^^
This directory contains miscellaneous files needed to install
pascal runtime logic into the NuttX source tree. After
installation, the NuttX source tree contain the following files
This directory contains miscellaneous files needed to install the pascal
runtime logic into the NuttX apps/ ource tree. After installation, the NuttX
apps/ source tree contain the following files
pcode
|-- Makefile
|-- include
| `-- Common header files
|-- libboff
| `-- Pascal object format (POFF) library
`--insn
|-- include
| `-- model-specific header files
`-- prun
`-- model-specific source files
pcode
|-- Makefile
|-- include
| `-- Common header files
|-- libboff
| `-- Pascal object format (POFF) library
`--insn
|-- include
| `-- model-specific header files
`-- prun
`-- model-specific source files
This directory contains:
INSTALL.sh -- The script that performs the operation. Usage:
INSTALL.sh -- The script that performs the operation. Usage:
./INSTALL.sh [-16|-32] <NuttX-path>
./INSTALL.sh [-16|-32] <install-dir>
Makefile -- The NuttX makefile for the runtime logic
If you are using the standard NuttX apps/ package, the correct
location for the <install-dir> is apps/interpreters. That is
where the examples and build logic will expect to find the pcode
sub-directory.
keywords.h -- A version that adjusts build context for the NuttX
environment.
Example:
./INSTALL.sh -16 $PWD/../../../apps/interpreters
Makefile -- The NuttX makefile for the runtime logic. This makefile
is customized to work in the standard apps/ package. If you intend
to use your own custom apps/ directory, then this Makefile may
require some modifications.
keywords.h -- A version that adjusts build context for the NuttX
build environment.

View File

@ -1733,3 +1733,5 @@
* configs/pcblogic-pic32mx: Add directory structure for PCB Logic PIC32MX board
* apps/include: Move include/apps to apps/include. A symbolic link is created at
build time
* Makefile: Removed support for Pascal pcode interpreter. Support for that
interpreter has been moved to apps/interpreter/Makefile.

View File

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: May 6, 2011</p>
<p>Last Updated: May 10, 2011</p>
</td>
</tr>
</table>
@ -2189,9 +2189,28 @@ buildroot-1.10 2011-05-06 &lt;spudmonkey@racsa.co.cr&gt;
<ul><pre>
nuttx-6.3 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Remove clock_getutc(). It is replaces with clock_gettime(CLOCK_ACTIVETIME).
Add other RTC related changes provided by Uros Platise.
* arch/arm/src/stm32/stm32_flash.c: Add support for access to on-chp STM32
FLASH; beginning of integration with NXFFS (Uros Platise).
* arch/mips: Added directory structure for PIC32 support
* configs/pcblogic-pic32mx: Add directory structure for PCB Logic PIC32MX board
* apps/include: Move include/apps to apps/include. A symbolic link is created at
build time
* Makefile: Removed support for Pascal pcode interpreter. Support for that
interpreter has been moved to apps/interpreter/Makefile.
apps-6.3 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-2.1 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* apps/interpreter: Add a directory to hold interpreters. The Pascal add-
on module now installs and builds under this directory.
pascal-3.0 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* nuttx/: The Pascal add-on module now installs and builds under the
apps/interpreters directory. This means that the pascal-2.1 module is
incompatible with will all releases of NuttX prior to nuttx-6.0 where the
apps/ module was introduced.
buildroot-1.11 2011-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
</pre></ul>

View File

@ -1,7 +1,6 @@
############################################################################
# Makefile
#
#
# Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
@ -70,16 +69,12 @@ CONFIG_APPS_DIR = ../apps
endif
APPDIR := ${shell if [ -r $(CONFIG_APPS_DIR)/Makefile ]; then echo "$(CONFIG_APPS_DIR)"; fi}
# The Pascal p-code add-on directory
PCODE_DIR := ${shell if [ -r pcode/Makefile ]; then echo "pcode"; fi}
# All add-on directories.
#
# NUTTX_ADDONS is the list of directories built into the NuttX kernel.
# USER_ADDONS is the list of directories that will be built into the user application
NUTTX_ADDONS := $(PCODE_DIR) $(NX_DIR)
NUTTX_ADDONS := $(NX_DIR)
USER_ADDONS :=
ifeq ($(CONFIG_NUTTX_KERNEL),y)
@ -228,12 +223,6 @@ else
NUTTXLIBS += fs/libfs$(LIBEXT) drivers/libdrivers$(LIBEXT) binfmt/libbinfmt$(LIBEXT)
endif
# Add libraries for Pascall P-Code
ifneq ($(PCODE_DIR),)
NUTTXLIBS += $(PCODE_DIR)/libpcode$(LIBEXT)
endif
# Add libraries for the NX graphics sub-system
ifneq ($(NX_DIR),)
@ -357,9 +346,6 @@ drivers/libdrivers$(LIBEXT): context
binfmt/libbinfmt$(LIBEXT): context
@$(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT) EXTRADEFINES=$(KDEFINE)
pcode/libpcode$(LIBEXT): context
@$(MAKE) -C pcode TOPDIR="$(TOPDIR)" libpcode$(LIBEXT) EXTRADEFINES=$(KDEFINE)
graphics/libgraphics$(LIBEXT): context
@$(MAKE) -C graphics TOPDIR="$(TOPDIR)" libgraphics$(LIBEXT) EXTRADEFINES=$(KDEFINE)

View File

@ -37,3 +37,6 @@
CONFIGURED_APPS += examples/pashello
# Path to the Pascal p-code runtime interpreter module
CONFIGURED_APPS += interpreters/pcode

View File

@ -37,3 +37,7 @@
CONFIGURED_APPS += examples/pashello
# Path to the Pascal p-code runtime interpreter module
CONFIGURED_APPS += interpreters/pcode

View File

@ -37,3 +37,6 @@
CONFIGURED_APPS += examples/pashello
# Path to the Pascal p-code runtime interpreter module
CONFIGURED_APPS += interpreters/pcode

View File

@ -37,3 +37,7 @@
CONFIGURED_APPS += examples/pashello
# Path to the Pascal p-code runtime interpreter module
CONFIGURED_APPS += interpreters/pcode