You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ag...@apache.org on 2020/03/01 13:50:46 UTC

[incubator-nuttx] branch master updated (a754c25 -> 350adb2)

This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from a754c25  boards/arm/stm32/stm32f4discovery: Fix build errors
     new 7d1b35b  boards/z20x/ez80/20x:  Updates
     new 029680f  boards/z80/ez80/z20x:  Remove the nsh_flash configuration.
     new 350adb2  boards/z80/ez80/z20x/:  Add support for W25 FLASH.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 boards/z80/ez80/z20x/Kconfig                       |  23 +-
 boards/z80/ez80/z20x/README.txt                    |  48 ++--
 boards/z80/ez80/z20x/configs/nsh_flash/.gitignore  |   6 -
 boards/z80/ez80/z20x/configs/nsh_flash/README.txt  |  13 -
 boards/z80/ez80/z20x/configs/nsh_flash/defconfig   |  59 ----
 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj | 261 -----------------
 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj | 315 ---------------------
 .../z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt |  69 -----
 .../z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt   |  69 -----
 boards/z80/ez80/z20x/src/Makefile                  |   4 +
 boards/z80/ez80/z20x/src/ez80_bringup.c            |  17 +-
 boards/z80/ez80/z20x/src/ez80_spi.c                |  82 +++++-
 boards/z80/ez80/z20x/src/ez80_w25.c                | 117 ++++++++
 boards/z80/ez80/z20x/src/z20x.h                    |  25 +-
 14 files changed, 268 insertions(+), 840 deletions(-)
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/.gitignore
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/README.txt
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/defconfig
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt
 delete mode 100644 boards/z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt
 create mode 100644 boards/z80/ez80/z20x/src/ez80_w25.c


[incubator-nuttx] 02/03: boards/z80/ez80/z20x: Remove the nsh_flash configuration.

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 029680fb50a1d12b1c85b8e18574aa2dd2fbf68a
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Sun Mar 1 06:49:29 2020 -0600

    boards/z80/ez80/z20x:  Remove the nsh_flash configuration.
    
    The nsh_flash configuration is too big and will never fit into the eZ80F92's small internal FLASH.
---
 boards/z80/ez80/z20x/README.txt                    |  48 ++--
 boards/z80/ez80/z20x/configs/nsh_flash/.gitignore  |   6 -
 boards/z80/ez80/z20x/configs/nsh_flash/README.txt  |  13 -
 boards/z80/ez80/z20x/configs/nsh_flash/defconfig   |  59 ----
 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj | 261 -----------------
 boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj | 315 ---------------------
 .../z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt |  69 -----
 .../z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt   |  69 -----
 8 files changed, 18 insertions(+), 822 deletions(-)

diff --git a/boards/z80/ez80/z20x/README.txt b/boards/z80/ez80/z20x/README.txt
index bae5957..60f0046 100644
--- a/boards/z80/ez80/z20x/README.txt
+++ b/boards/z80/ez80/z20x/README.txt
@@ -92,8 +92,7 @@ Memory Constaints
   exceed the ROM address space.
 
   The sdboot configuration will fit into the ROM address space, but NOT if
-  you enable assertions, debug outputs, or even debug symbols.  It is very
-  unlikely that the nsh_flash configuration will fit into FLASH at all!
+  you enable assertions, debug outputs, or even debug symbols.
 
 Serial Console
 ==============
@@ -205,43 +204,26 @@ Common Configuration Notes
 Configuration Subdirectories
 ----------------------------
 
-  nsh_flash, nsh_ram:
+  nsh_ram:
 
-    These configuration build the NuttShell (NSH).  That code can be
+    This configuration builds the NuttShell (NSH).  That code can be
     found in apps/system/nsh and apps/system/nshlib..  For more
     information see:  apps/system/nsh/README.txt and
     Documentation/NuttShell.html.
 
     NOTES:
 
-    1. UNVERIFIED!  I doubt that the nsh_flash program will fit into the
-       smaller FLASH memory of the eZ80F92 part.  See discussion under
-       "Memory Constraints" above.
+    1. This configuration builds for execution entirely from RAM.  A
+       bootloader of some kind is required to support such execution from
+       RAM!  This is reflected in a single configuration setting:
 
-       The nsh_ram configuration, of course, depends on the sdboot
-       bootloader to load that program into RAM.
-
-    2. The two configurations different only in that one builds for
-       execution entirely from FLASH and the other for execution entirely
-       from RAM.  A bootloader of some kind is required to support such
-       execution from RAM!  This difference is reflected in a single
-       configuration setting:
-
-         CONFIG_BOOT_RUNFROMFLASH=y    # Execute from flash (default)
          CONFIG_BOOT_RUNFROMEXTSRAM=y  # Execute from external SRAM
 
-       A third configuration is possible but not formalized with its own
-       defconfig file:  You can also configure the code to boot from FLASH,
-       copy the code to external SRAM, and then execute from RAM.  Such a
-       configuration needs the following settings in the .config file:
-
-         CONFIG_BOOT_RUNFROMEXTSRAM=y  # Execute from external SRAM
-         CONFIG_Z20X_COPYTORAM=y  # Boot from FLASH but copy to SRAM
+       Why execute from SRAM?  Because you will get MUCH better performance
+       because of the zero wait state SRAM implementation and you will not
+       be constrained by the eZ80F92's small FLASH size.
 
-       Why execute from SRAM at all?  Because you will get MUCH better
-       performance because of the zero wait state SRAM implementation.
-
-    3. The eZ80 RTC, the procFS file system, and SD card support in included.
+    2. The eZ80 RTC, the procFS file system, and SD card support in included.
        The procFS file system will be auto-mounted at /proc when the board
        boots.
 
@@ -308,7 +290,7 @@ Configuration Subdirectories
        NOTE:  The is no card detect signal so the microSD card must be
        placed in the card slot before the system is started.
 
-    4. Debugging the RAM version
+    3. Debugging the RAM version
 
        You can debug the all RAM version using ZDS-II as follows:
 
@@ -319,7 +301,7 @@ Configuration Subdirectories
        d. Single step a few times to make sure things look good, then
        e. Go
 
-    5. Optimizations:
+    4. Optimizations:
 
        - The stack sizes have not been tuned and, hence, are probably too
          large.
@@ -359,3 +341,9 @@ Configuration Subdirectories
 
        This would effect the logic in arch/z80/src/ez80/ez80f92_handlers.am
        and possible the z20x *.linkcmd files.
+
+    2. Another thing that would have to be done before this configuration
+       would be usable is to partition the external in some way so that
+       there is no collision between the bootloader's use of SRAM and the
+       SRAM required by the newly loaded program.
+
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/.gitignore b/boards/z80/ez80/z20x/configs/nsh_flash/.gitignore
deleted file mode 100644
index 739fb85..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-nsh.hex
-nsh.map
-nsh.lod
-nsh.wsp
-*.asm
-Debug
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/README.txt b/boards/z80/ez80/z20x/configs/nsh_flash/README.txt
deleted file mode 100644
index f6a6791..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/README.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-README.txt
-^^^^^^^^^^
-
-nsh.zdsproj is a simple ZDS-II project that will allow you
-  to use the ZDS-II debugger.
-nsh.zfpproj is a simple project that will allow you to use the Smart Flash
-  Programming.  NOTE:  As of this writing this project does not work, probably
-  due to RAM configuration in the project.  Use ZDS-II instead as is described
-  in the upper README.txt file
-nsh_flash.ztgt is the target file that accompanies the project files.  This
-  one is identical to boards/scripts/z20x_ram.ztgt.
-nsh_ram.ztgt is the target file that accompanies the project files.  This
-  one is identical to boards/scripts/z20x_flash.ztgt.
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/defconfig b/boards/z80/ez80/z20x/configs/nsh_flash/defconfig
deleted file mode 100644
index 1fb72a8..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/defconfig
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# This file is autogenerated: PLEASE DO NOT EDIT IT.
-#
-# You can use "make menuconfig" to make any modifications to the installed .config file.
-# You can then do "make savedefconfig" to generate a new defconfig file that includes your
-# modifications.
-#
-# CONFIG_MMCSD_HAVE_CARDDETECT is not set
-# CONFIG_MMCSD_HAVE_WRITEPROTECT is not set
-# CONFIG_MMCSD_MMCSUPPORT is not set
-# CONFIG_SPI_CALLBACK is not set
-CONFIG_ARCH="z80"
-CONFIG_ARCH_BOARD="z20x"
-CONFIG_ARCH_BOARD_Z20X=y
-CONFIG_ARCH_CHIP="ez80"
-CONFIG_ARCH_CHIP_EZ80=y
-CONFIG_ARCH_CHIP_EZ80F92=y
-CONFIG_ARCH_STACKDUMP=y
-CONFIG_ARCH_Z80=y
-CONFIG_BOARD_LOOPSPERMSEC=1250
-CONFIG_DISABLE_MQUEUE=y
-CONFIG_EZ80_RTC=y
-CONFIG_EZ80_SPI=y
-CONFIG_EZ80_UART1=y
-CONFIG_FAT_LCNAMES=y
-CONFIG_FAT_LFN=y
-CONFIG_FS_FAT=y
-CONFIG_FS_PROCFS=y
-CONFIG_HOST_WINDOWS=y
-CONFIG_MAX_TASKS=16
-CONFIG_MAX_WDOGPARMS=2
-CONFIG_MMCSD=y
-CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
-CONFIG_NFILE_DESCRIPTORS=8
-CONFIG_NFILE_STREAMS=8
-CONFIG_NSH_ARCHINIT=y
-CONFIG_NSH_DISABLE_IFUPDOWN=y
-CONFIG_NSH_FILEIOSIZE=512
-CONFIG_NSH_LINELEN=64
-CONFIG_NSH_READLINE=y
-CONFIG_PREALLOC_TIMERS=4
-CONFIG_PREALLOC_WDOGS=8
-CONFIG_PTHREAD_STACK_DEFAULT=1024
-CONFIG_RAM_SIZE=65536
-CONFIG_RR_INTERVAL=200
-CONFIG_RTC_ALARM=y
-CONFIG_SCHED_HPWORK=y
-CONFIG_SDCLONE_DISABLE=y
-CONFIG_SPI=y
-CONFIG_START_DAY=20
-CONFIG_START_MONTH=2
-CONFIG_START_YEAR=2020
-CONFIG_SYSTEM_NSH=y
-CONFIG_UART1_BITS=0
-CONFIG_UART1_RXBUFSIZE=192
-CONFIG_UART1_SERIAL_CONSOLE=y
-CONFIG_UART1_TXBUFSIZE=64
-CONFIG_USER_ENTRYPOINT="nsh_main"
-CONFIG_WDOG_INTRESERVE=1
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj b/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj
deleted file mode 100644
index bbfaf3a..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zdsproj
+++ /dev/null
@@ -1,261 +0,0 @@
-<project type="Executable" project-type="Standard" configuration="Release" created-by="d:5.3.0:17021001" modified-by="d:5.3.0:19052909" ZDSII="ZDSII - eZ80Acclaim! 5.3.3 (Build 19083001)">
-<cpu>eZ80F92</cpu>
-
-<!-- file information -->
-<files>
-<file filter-key="flash">..\..\..\nuttx.hex</file>
-</files>
-
-<!-- configuration information -->
-<configurations>
-<configuration name="Debug" >
-<tools>
-<tool name="Assembler">
-<options>
-<option name="define" type="string" change-action="assemble">_EZ80ACCLAIM!=1</option>
-<option name="include" type="string" change-action="assemble"></option>
-<option name="list" type="boolean" change-action="none">true</option>
-<option name="listmac" type="boolean" change-action="none">false</option>
-<option name="name" type="boolean" change-action="none">true</option>
-<option name="pagelen" type="integer" change-action="none">0</option>
-<option name="pagewidth" type="integer" change-action="none">80</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="compile">true</option>
-</options>
-</tool>
-<tool name="Compiler">
-<options>
-<option name="padbranch" type="string" change-action="compile">Off</option>
-<option name="define" type="string" change-action="compile">_DEBUG,_EZ80F92,_EZ80ACCLAIM!</option>
-<option name="genprintf" type="boolean" change-action="compile">false</option>
-<option name="keepasm" type="boolean" change-action="none">false</option>
-<option name="keeplst" type="boolean" change-action="none">true</option>
-<option name="list" type="boolean" change-action="none">false</option>
-<option name="listinc" type="boolean" change-action="none">false</option>
-<option name="modsect" type="boolean" change-action="compile">false</option>
-<option name="optspeed" type="boolean" change-action="compile">true</option>
-<option name="promote" type="boolean" change-action="compile">true</option>
-<option name="reduceopt" type="boolean" change-action="compile">false</option>
-<option name="stdinc" type="string" change-action="compile"></option>
-<option name="usrinc" type="string" change-action="compile"></option>
-<option name="watch" type="boolean" change-action="none">false</option>
-<option name="multithread" type="boolean" change-action="compile">false</option>
-</options>
-</tool>
-<tool name="Debugger">
-<options>
-<option name="target" type="string" change-action="rebuild">nsh_ram</option>
-<option name="debugtool" type="string" change-action="none">USBSmartCable</option>
-<option name="usepageerase" type="boolean" change-action="none">true</option>
-</options>
-</tool>
-<tool name="FlashProgrammer">
-<options>
-<option name="erasebeforeburn" type="boolean" change-action="none">false</option>
-<option name="eraseinfopage" type="boolean" change-action="none">false</option>
-<option name="enableinfopage" type="boolean" change-action="none">false</option>
-<option name="includeserial" type="boolean" change-action="none">false</option>
-<option name="offset" type="integer" change-action="none">0</option>
-<option name="snenable" type="boolean" change-action="none">false</option>
-<option name="sn" type="string" change-action="none">0</option>
-<option name="snsize" type="integer" change-action="none">0</option>
-<option name="snstep" type="integer" change-action="none">0</option>
-<option name="snstepformat" type="integer" change-action="none">0</option>
-<option name="snaddress" type="string" change-action="none">0</option>
-<option name="snformat" type="integer" change-action="none">0</option>
-<option name="snbigendian" type="boolean" change-action="none">true</option>
-<option name="singleval" type="string" change-action="none">0</option>
-<option name="singlevalformat" type="integer" change-action="none">0</option>
-<option name="usepageerase" type="boolean" change-action="none">false</option>
-<option name="useinfopage" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="General">
-<options>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="debug" type="boolean" change-action="assemble">true</option>
-<option name="debugcache" type="boolean" change-action="none">true</option>
-<option name="igcase" type="boolean" change-action="assemble">false</option>
-<option name="outputdir" type="string" change-action="compile">Debug\</option>
-</options>
-</tool>
-<tool name="Librarian">
-<options>
-<option name="outfile" type="string" change-action="build">..\..\..\nuttx.lib</option>
-</options>
-</tool>
-<tool name="Linker">
-<options>
-<option name="directives" type="string" change-action="build"></option>
-<option name="createnew" type="boolean" change-action="build">true</option>
-<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
-<option name="linkctlfile" type="string" change-action="build"></option>
-<option name="map" type="boolean" change-action="none">true</option>
-<option name="maxhexlen" type="integer" change-action="build">64</option>
-<option name="objlibmods" type="string" change-action="build"></option>
-<option name="of" type="string" change-action="build">..\..\..\nuttx</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="relist" type="boolean" change-action="build">false</option>
-<option name="startuptype" type="string" change-action="build">Standard</option>
-<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
-<option name="usecrun" type="boolean" change-action="build">false</option>
-<option name="warnoverlap" type="boolean" change-action="none">true</option>
-<option name="xref" type="boolean" change-action="none">true</option>
-<option name="undefisfatal" type="boolean" change-action="none">true</option>
-<option name="warnisfatal" type="boolean" change-action="none">false</option>
-<option name="sort" type="string" change-action="none">NAME</option>
-<option name="padhex" type="boolean" change-action="build">false</option>
-<option name="fplib" type="string" change-action="build">Real</option>
-<option name="useadddirectives" type="boolean" change-action="build">false</option>
-<option name="linkconfig" type="string" change-action="build">Standard</option>
-<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
-<option name="ram" type="string" change-action="build">040000-0FFFFF</option>
-<option name="rom" type="string" change-action="build">000000-01FFFF</option>
-<option name="extio" type="string" change-action="build">000000-00FFFF</option>
-<option name="intio" type="string" change-action="build">000000-0000FF</option>
-</options>
-</tool>
-<tool name="Middleware">
-<options>
-<option name="usezsl" type="boolean" change-action="rebuild">false</option>
-<option name="zslports" type="string" change-action="rebuild"></option>
-<option name="zsluarts" type="string" change-action="rebuild"></option>
-<option name="userzk" type="boolean" change-action="rebuild">false</option>
-<option name="rzkconfigpi" type="boolean" change-action="rebuild">true</option>
-<option name="rzkconfigmini" type="boolean" change-action="rebuild">false</option>
-<option name="rzkcomps" type="string" change-action="rebuild"></option>
-</options>
-</tool>
-</tools>
-</configuration>
-<configuration name="Release" >
-<tools>
-<tool name="Assembler">
-<options>
-<option name="define" type="string" change-action="assemble">_EZ80ACCLAIM!=1</option>
-<option name="include" type="string" change-action="assemble"></option>
-<option name="list" type="boolean" change-action="none">false</option>
-<option name="listmac" type="boolean" change-action="none">false</option>
-<option name="name" type="boolean" change-action="none">true</option>
-<option name="pagelen" type="integer" change-action="none">0</option>
-<option name="pagewidth" type="integer" change-action="none">80</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="compile">true</option>
-</options>
-</tool>
-<tool name="Compiler">
-<options>
-<option name="padbranch" type="string" change-action="compile">Off</option>
-<option name="define" type="string" change-action="compile">NDEBUG,_EZ80F92,_EZ80ACCLAIM!</option>
-<option name="genprintf" type="boolean" change-action="compile">false</option>
-<option name="keepasm" type="boolean" change-action="none">false</option>
-<option name="keeplst" type="boolean" change-action="none">false</option>
-<option name="list" type="boolean" change-action="none">false</option>
-<option name="listinc" type="boolean" change-action="none">false</option>
-<option name="modsect" type="boolean" change-action="compile">false</option>
-<option name="optspeed" type="boolean" change-action="compile">true</option>
-<option name="promote" type="boolean" change-action="compile">true</option>
-<option name="reduceopt" type="boolean" change-action="compile">false</option>
-<option name="stdinc" type="string" change-action="compile"></option>
-<option name="usrinc" type="string" change-action="compile"></option>
-<option name="watch" type="boolean" change-action="none">false</option>
-<option name="multithread" type="boolean" change-action="compile">false</option>
-</options>
-</tool>
-<tool name="Debugger">
-<options>
-<option name="target" type="string" change-action="rebuild">nsh_flash</option>
-<option name="debugtool" type="string" change-action="none">USBSmartCable</option>
-<option name="usepageerase" type="boolean" change-action="none">true</option>
-</options>
-</tool>
-<tool name="FlashProgrammer">
-<options>
-<option name="erasebeforeburn" type="boolean" change-action="none">true</option>
-<option name="eraseinfopage" type="boolean" change-action="none">false</option>
-<option name="enableinfopage" type="boolean" change-action="none">false</option>
-<option name="includeserial" type="boolean" change-action="none">false</option>
-<option name="offset" type="integer" change-action="none">0</option>
-<option name="snenable" type="boolean" change-action="none">false</option>
-<option name="sn" type="string" change-action="none">0</option>
-<option name="snsize" type="integer" change-action="none">0</option>
-<option name="snstep" type="integer" change-action="none">0</option>
-<option name="snstepformat" type="integer" change-action="none">0</option>
-<option name="snaddress" type="string" change-action="none">0</option>
-<option name="snformat" type="integer" change-action="none">0</option>
-<option name="snbigendian" type="boolean" change-action="none">true</option>
-<option name="singleval" type="string" change-action="none">0</option>
-<option name="singlevalformat" type="integer" change-action="none">0</option>
-<option name="usepageerase" type="boolean" change-action="none">false</option>
-<option name="useinfopage" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="General">
-<options>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="debug" type="boolean" change-action="assemble">true</option>
-<option name="debugcache" type="boolean" change-action="none">true</option>
-<option name="igcase" type="boolean" change-action="assemble">false</option>
-<option name="outputdir" type="string" change-action="compile">..\..\..\nuttx\</option>
-</options>
-</tool>
-<tool name="Librarian">
-<options>
-<option name="outfile" type="string" change-action="build">..\..\..\nuttx.lib</option>
-</options>
-</tool>
-<tool name="Linker">
-<options>
-<option name="directives" type="string" change-action="build"></option>
-<option name="createnew" type="boolean" change-action="build">true</option>
-<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
-<option name="linkctlfile" type="string" change-action="build"></option>
-<option name="map" type="boolean" change-action="none">true</option>
-<option name="maxhexlen" type="integer" change-action="build">64</option>
-<option name="objlibmods" type="string" change-action="build"></option>
-<option name="of" type="string" change-action="build">..\..\..\nuttx</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="relist" type="boolean" change-action="build">false</option>
-<option name="startuptype" type="string" change-action="build">Standard</option>
-<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
-<option name="usecrun" type="boolean" change-action="build">true</option>
-<option name="warnoverlap" type="boolean" change-action="none">true</option>
-<option name="xref" type="boolean" change-action="none">true</option>
-<option name="undefisfatal" type="boolean" change-action="none">true</option>
-<option name="warnisfatal" type="boolean" change-action="none">false</option>
-<option name="sort" type="string" change-action="none">NAME</option>
-<option name="padhex" type="boolean" change-action="build">false</option>
-<option name="fplib" type="string" change-action="build">Real</option>
-<option name="useadddirectives" type="boolean" change-action="build">false</option>
-<option name="linkconfig" type="string" change-action="build">Standard</option>
-<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
-<option name="ram" type="string" change-action="build">040000-0BFFFF</option>
-<option name="rom" type="string" change-action="build">000000-01FFFF</option>
-<option name="extio" type="string" change-action="build">000000-00FFFF</option>
-<option name="intio" type="string" change-action="build">000000-0000FF</option>
-</options>
-</tool>
-<tool name="Middleware">
-<options>
-<option name="usezsl" type="boolean" change-action="rebuild">false</option>
-<option name="zslports" type="string" change-action="rebuild"></option>
-<option name="zsluarts" type="string" change-action="rebuild"></option>
-<option name="userzk" type="boolean" change-action="rebuild">false</option>
-<option name="rzkconfigpi" type="boolean" change-action="rebuild">true</option>
-<option name="rzkconfigmini" type="boolean" change-action="rebuild">false</option>
-<option name="rzkcomps" type="string" change-action="rebuild"></option>
-</options>
-</tool>
-</tools>
-</configuration>
-</configurations>
-
-<!-- watch information -->
-<watch-elements>
-</watch-elements>
-
-<!-- breakpoint information -->
-<breakpoints>
-</breakpoints>
-
-</project>
\ No newline at end of file
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj b/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj
deleted file mode 100644
index 1340f95..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/nsh.zfpproj
+++ /dev/null
@@ -1,315 +0,0 @@
-<project type="Standard" project-type="Standard" configuration="Debug" created-by="{{build_number}}" modified-by="{{build_number}}">
-<cpu>eZ80F92</cpu>
-
-<!-- file information -->
-<files>
-<file filter-key="flash">..\..\..\nuttx.hex</file>
-</files>
-
-<!-- configuration information -->
-<configurations>
-<configuration name="Debug" >
-<tools>
-<tool name="Assembler">
-<options>
-<option name="debug" type="boolean" change-action="assemble">true</option>
-<option name="define" type="string" change-action="assemble">_EZ80ACCLAIM!=1</option>
-<option name="genobj" type="boolean" change-action="assemble">true</option>
-<option name="igcase" type="boolean" change-action="assemble">false</option>
-<option name="include" type="string" change-action="assemble"></option>
-<option name="list" type="boolean" change-action="none">true</option>
-<option name="listmac" type="boolean" change-action="none">false</option>
-<option name="name" type="boolean" change-action="none">true</option>
-<option name="pagelen" type="integer" change-action="none">56</option>
-<option name="pagewidth" type="integer" change-action="none">80</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="assemble">true</option>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="zmasm" type="boolean" change-action="assemble">false</option>
-</options>
-</tool>
-<tool name="Compiler">
-<options>
-<option name="alias" type="boolean" change-action="compile">true</option>
-<option name="asm" type="boolean" change-action="none">true</option>
-<option name="bitfieldsize" type="integer" change-action="rebuild">24</option>
-<option name="charsize" type="integer" change-action="rebuild">8</option>
-<option name="const" type="string" change-action="compile">RAM</option>
-<option name="debug" type="boolean" change-action="compile">true</option>
-<option name="define" type="string" change-action="compile">_EZ80F92,_EZ80ACCLAIM!</option>
-<option name="doublesize" type="integer" change-action="rebuild">32</option>
-<option name="expmac" type="boolean" change-action="none">false</option>
-<option name="floatsize" type="integer" change-action="rebuild">32</option>
-<option name="fplib" type="boolean" change-action="compile">false</option>
-<option name="genprintf" type="boolean" change-action="compile">true</option>
-<option name="globalcopy" type="boolean" change-action="compile">false</option>
-<option name="globalcse" type="boolean" change-action="compile">false</option>
-<option name="globalfold" type="boolean" change-action="compile">false</option>
-<option name="intrinsic" type="boolean" change-action="compile">true</option>
-<option name="intsize" type="integer" change-action="rebuild">24</option>
-<option name="intsrc" type="boolean" change-action="none">true</option>
-<option name="jmpopt" type="boolean" change-action="compile">false</option>
-<option name="keepasm" type="boolean" change-action="none">false</option>
-<option name="keeplst" type="boolean" change-action="none">false</option>
-<option name="list" type="boolean" change-action="none">false</option>
-<option name="listinc" type="boolean" change-action="none">false</option>
-<option name="localcopy" type="boolean" change-action="compile">true</option>
-<option name="localcse" type="boolean" change-action="compile">true</option>
-<option name="localfold" type="boolean" change-action="compile">true</option>
-<option name="longsize" type="integer" change-action="rebuild">32</option>
-<option name="loopopt" type="boolean" change-action="compile">false</option>
-<option name="maxerrs" type="integer" change-action="none">50</option>
-<option name="modsect" type="boolean" change-action="compile">false</option>
-<option name="optspeed" type="boolean" change-action="compile">false</option>
-<option name="peephole" type="boolean" change-action="compile">true</option>
-<option name="promote" type="boolean" change-action="compile">true</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="compile">false</option>
-<option name="shortsize" type="integer" change-action="rebuild">16</option>
-<option name="stdinc" type="string" change-action="compile"></option>
-<option name="strict" type="boolean" change-action="compile">true</option>
-<option name="usrinc" type="string" change-action="compile"></option>
-<option name="watch" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Debugger">
-<options>
-<option name="target" type="string" change-action="rebuild">nsh_flash</option>
-<option name="debugtool" type="string" change-action="none">USBSmartCable</option>
-<option name="debugtoolnames" type="string" change-action="none">ZPAKII</option>
-<option name="SmartEthernetNumbers" type="string" change-action="none">ZPAKII</option>
-<option name="USBSerialNumbers" type="string" change-action="none"></option>
-</options>
-</tool>
-<tool name="FlashProgrammer">
-<options>
-<option name="erasebeforeburn" type="boolean" change-action="none">true</option>
-<option name="pageerasebeforeburn" type="boolean" change-action="none">false</option>
-<option name="eraseinfopage" type="boolean" change-action="none">false</option>
-<option name="enableinfopage" type="boolean" change-action="none">false</option>
-<option name="usenvds" type="boolean" change-action="none">false</option>
-<option name="includeserial" type="boolean" change-action="none">false</option>
-<option name="offset" type="integer" change-action="none">0</option>
-<option name="errorhandling" type="integer" change-action="none">0</option>
-<option name="AutoClose" type="boolean" change-action="none">true</option>
-<option name="DisableWarning" type="boolean" change-action="none">false</option>
-<option name="DisableWarningOnFRP" type="boolean" change-action="none">false</option>
-<option name="snenable" type="boolean" change-action="none">true</option>
-<option name="sn" type="string" change-action="none">000000000000000000000000</option>
-<option name="snsize" type="integer" change-action="none">1</option>
-<option name="snstep" type="integer" change-action="none">000000000000000000000001</option>
-<option name="snstepformat" type="integer" change-action="none">0</option>
-<option name="snaddress" type="string" change-action="none">0</option>
-<option name="snformat" type="integer" change-action="none">0</option>
-<option name="snbigendian" type="boolean" change-action="none">true</option>
-<option name="singleval" type="string" change-action="none">000000000000000000000000</option>
-<option name="singlevalformat" type="integer" change-action="none">0</option>
-<option name="autoselect" type="boolean" change-action="none">true</option>
-<option name="includeoptionbits" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="General">
-<options>
-<option name="outputdir" type="string" change-action="compile">.</option>
-<option name="tempath" type="string" change-action="none"></option>
-</options>
-</tool>
-<tool name="Librarian">
-<options>
-<option name="outfile" type="string" change-action="build"></option>
-<option name="warn" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Linker">
-<options>
-<option name="directives" type="string" change-action="build"></option>
-<option name="createnew" type="integer" change-action="build">0</option>
-<option name="customlnkflag" type="integer" change-action="build">0</option>
-<option name="debug" type="boolean" change-action="build">true</option>
-<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
-<option name="extio" type="string" change-action="build">000000-00FFFF</option>
-<option name="flashinfo" type="string" change-action="build">000000-0001FF</option>
-<option name="igcase" type="boolean" change-action="build">false</option>
-<option name="intio" type="string" change-action="build">000000-0000FF</option>
-<option name="linkctlfile" type="string" change-action="build"></option>
-<option name="map" type="boolean" change-action="none">true</option>
-<option name="maxhexlen" type="integer" change-action="build">64</option>
-<option name="linkconfig" type="integer" change-action="build">1</option>
-<option name="objlibmods" type="string" change-action="build"></option>
-<option name="of" type="string" change-action="build">.\nsh</option>
-<option name="quiet" type="boolean" change-action="none">false</option>
-<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
-<option name="relist" type="boolean" change-action="build">false</option>
-<option name="rom" type="string" change-action="build">000000-01FFFF</option>
-<option name="startup" type="string" change-action="build"></option>
-<option name="startuptype" type="integer" change-action="build">1</option>
-<option name="usebootdirectives" type="boolean" change-action="build">false</option>
-<option name="usecrun" type="boolean" change-action="build">true</option>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="warnoverlap" type="boolean" change-action="none">false</option>
-<option name="xref" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Middleware">
-<options>
-<option name="usezsl" type="boolean" change-action="rebuild">false</option>
-<option name="zslports" type="string" change-action="rebuild"></option>
-<option name="zsluarts" type="string" change-action="rebuild"></option>
-</options>
-</tool>
-</tools>
-</configuration>
-<configuration name="Release" >
-<tools>
-<tool name="Assembler">
-<options>
-<option name="debug" type="boolean" change-action="assemble">false</option>
-<option name="define" type="string" change-action="assemble">_EZ80ACCLAIM!=1</option>
-<option name="genobj" type="boolean" change-action="assemble">true</option>
-<option name="igcase" type="boolean" change-action="assemble">false</option>
-<option name="include" type="string" change-action="assemble"></option>
-<option name="list" type="boolean" change-action="none">true</option>
-<option name="listmac" type="boolean" change-action="none">false</option>
-<option name="name" type="boolean" change-action="none">true</option>
-<option name="pagelen" type="integer" change-action="none">56</option>
-<option name="pagewidth" type="integer" change-action="none">80</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="assemble">true</option>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="zmasm" type="boolean" change-action="assemble">false</option>
-</options>
-</tool>
-<tool name="Compiler">
-<options>
-<option name="alias" type="boolean" change-action="compile">true</option>
-<option name="asm" type="boolean" change-action="none">true</option>
-<option name="bitfieldsize" type="integer" change-action="rebuild">24</option>
-<option name="charsize" type="integer" change-action="rebuild">8</option>
-<option name="const" type="string" change-action="compile">RAM</option>
-<option name="debug" type="boolean" change-action="compile">false</option>
-<option name="define" type="string" change-action="compile">_EZ80F92,_EZ80ACCLAIM!</option>
-<option name="doublesize" type="integer" change-action="rebuild">32</option>
-<option name="expmac" type="boolean" change-action="none">false</option>
-<option name="floatsize" type="integer" change-action="rebuild">32</option>
-<option name="fplib" type="boolean" change-action="compile">false</option>
-<option name="genprintf" type="boolean" change-action="compile">true</option>
-<option name="globalcopy" type="boolean" change-action="compile">true</option>
-<option name="globalcse" type="boolean" change-action="compile">true</option>
-<option name="globalfold" type="boolean" change-action="compile">true</option>
-<option name="intrinsic" type="boolean" change-action="compile">true</option>
-<option name="intsize" type="integer" change-action="rebuild">24</option>
-<option name="intsrc" type="boolean" change-action="none">true</option>
-<option name="jmpopt" type="boolean" change-action="compile">true</option>
-<option name="keepasm" type="boolean" change-action="none">false</option>
-<option name="keeplst" type="boolean" change-action="none">false</option>
-<option name="list" type="boolean" change-action="none">false</option>
-<option name="listinc" type="boolean" change-action="none">false</option>
-<option name="localcopy" type="boolean" change-action="compile">true</option>
-<option name="localcse" type="boolean" change-action="compile">true</option>
-<option name="localfold" type="boolean" change-action="compile">true</option>
-<option name="longsize" type="integer" change-action="rebuild">32</option>
-<option name="loopopt" type="boolean" change-action="compile">true</option>
-<option name="maxerrs" type="integer" change-action="none">50</option>
-<option name="modsect" type="boolean" change-action="compile">false</option>
-<option name="optspeed" type="boolean" change-action="compile">false</option>
-<option name="peephole" type="boolean" change-action="compile">true</option>
-<option name="promote" type="boolean" change-action="compile">true</option>
-<option name="quiet" type="boolean" change-action="none">true</option>
-<option name="sdiopt" type="boolean" change-action="compile">true</option>
-<option name="shortsize" type="integer" change-action="rebuild">16</option>
-<option name="stdinc" type="string" change-action="compile"></option>
-<option name="strict" type="boolean" change-action="compile">true</option>
-<option name="usrinc" type="string" change-action="compile"></option>
-<option name="watch" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Debugger">
-<options>
-<option name="target" type="string" change-action="rebuild">nsh_flash</option>
-<option name="debugtool" type="string" change-action="none">USBSmartCable</option>
-<option name="debugtoolnames" type="string" change-action="none">ZPAKII</option>
-<option name="SmartEthernetNumbers" type="string" change-action="none">ZPAKII</option>
-<option name="USBSerialNumbers" type="string" change-action="none"></option>
-</options>
-</tool>
-<tool name="FlashProgrammer">
-<options>
-<option name="erasebeforeburn" type="boolean" change-action="none">false</option>
-<option name="pageerasebeforeburn" type="boolean" change-action="none">false</option>
-<option name="eraseinfopage" type="boolean" change-action="none">false</option>
-<option name="enableinfopage" type="boolean" change-action="none">false</option>
-<option name="usenvds" type="boolean" change-action="none">false</option>
-<option name="includeserial" type="boolean" change-action="none">false</option>
-<option name="offset" type="integer" change-action="none">0</option>
-<option name="errorhandling" type="integer" change-action="none">0</option>
-<option name="AutoClose" type="boolean" change-action="none">true</option>
-<option name="DisableWarning" type="boolean" change-action="none">false</option>
-<option name="DisableWarningOnFRP" type="boolean" change-action="none">false</option>
-<option name="snenable" type="boolean" change-action="none">false</option>
-<option name="sn" type="string" change-action="none">0</option>
-<option name="snsize" type="integer" change-action="none">0</option>
-<option name="snstep" type="integer" change-action="none">1</option>
-<option name="snstepformat" type="integer" change-action="none">0</option>
-<option name="snaddress" type="string" change-action="none">0</option>
-<option name="snformat" type="integer" change-action="none">0</option>
-<option name="snbigendian" type="boolean" change-action="none">true</option>
-<option name="singleval" type="string" change-action="none">0</option>
-<option name="singlevalformat" type="integer" change-action="none">0</option>
-<option name="autoselect" type="boolean" change-action="none">true</option>
-<option name="includeoptionbits" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="General">
-<options>
-<option name="outputdir" type="string" change-action="compile">.</option>
-<option name="tempath" type="string" change-action="none"></option>
-</options>
-</tool>
-<tool name="Librarian">
-<options>
-<option name="outfile" type="string" change-action="build"></option>
-<option name="warn" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Linker">
-<options>
-<option name="directives" type="string" change-action="build"></option>
-<option name="createnew" type="integer" change-action="build">0</option>
-<option name="customlnkflag" type="integer" change-action="build">0</option>
-<option name="debug" type="boolean" change-action="build">false</option>
-<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
-<option name="extio" type="string" change-action="build">000000-00FFFF</option>
-<option name="flashinfo" type="string" change-action="build">000000-0001FF</option>
-<option name="igcase" type="boolean" change-action="build">false</option>
-<option name="intio" type="string" change-action="build">000000-0000FF</option>
-<option name="linkctlfile" type="string" change-action="build"></option>
-<option name="map" type="boolean" change-action="none">true</option>
-<option name="maxhexlen" type="integer" change-action="build">64</option>
-<option name="linkconfig" type="integer" change-action="build">1</option>
-<option name="objlibmods" type="string" change-action="build"></option>
-<option name="of" type="string" change-action="build">.\nsh</option>
-<option name="quiet" type="boolean" change-action="none">false</option>
-<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
-<option name="relist" type="boolean" change-action="build">false</option>
-<option name="rom" type="string" change-action="build">000000-01FFFF</option>
-<option name="startup" type="string" change-action="build"></option>
-<option name="startuptype" type="integer" change-action="build">1</option>
-<option name="usebootdirectives" type="boolean" change-action="build">false</option>
-<option name="usecrun" type="boolean" change-action="build">true</option>
-<option name="warn" type="boolean" change-action="none">true</option>
-<option name="warnoverlap" type="boolean" change-action="none">false</option>
-<option name="xref" type="boolean" change-action="none">false</option>
-</options>
-</tool>
-<tool name="Middleware">
-<options>
-<option name="usezsl" type="boolean" change-action="rebuild">false</option>
-<option name="zslports" type="string" change-action="rebuild"></option>
-<option name="zsluarts" type="string" change-action="rebuild"></option>
-</options>
-</tool>
-</tools>
-</configuration>
-</configurations>
-
-</project>
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt b/boards/z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt
deleted file mode 100644
index b691cd5..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/nsh_flash.ztgt
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Target name="eZ80F920300KITG_Flash" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Schemas/target.tsd" xsi:type="TargetEZ80">
-   <Clock>
-      <PLL>
-         <changeFrequencyOnReset>true</changeFrequencyOnReset>
-         <chargePumpFreq>1f4</chargePumpFreq>
-         <clockLockCriteria>8</clockLockCriteria>
-         <oscFrequency>20000000</oscFrequency>
-      </PLL>
-      <clockType>PLL</clockType>
-      <frequency>20000000</frequency>
-   </Clock>
-   <ControlReg>
-      <pc>0</pc>
-      <splStackPtr>140000</splStackPtr>
-      <spsStackPtr>FFFF</spsStackPtr>
-      <useAdlMode>true</useAdlMode>
-   </ControlReg>
-   <ExtFlash>
-      <device />
-      <externalAddress>200000</externalAddress>
-      <externalAutoSelect>false</externalAutoSelect>
-      <externalRamLower>040000</externalRamLower>
-      <externalRamUpper>0BFFFF</externalRamUpper>
-      <manufacturer />
-      <units>1</units>
-      <usingExternal>false</usingExternal>
-      <usingInternal>true</usingInternal>
-   </ExtFlash>
-   <Memory>
-      <ChipSelects>
-         <CS0>
-            <busMode>0</busMode>
-            <controlRegister>8</controlRegister>
-            <lower>4</lower>
-            <upper>B</upper>
-         </CS0>
-         <CS1>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS1>
-         <CS2>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS2>
-         <CS3>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS3>
-      </ChipSelects>
-      <Internal>
-         <mapFlashToPage>0</mapFlashToPage>
-         <mapRamToPage>AF</mapRamToPage>
-         <useFlashRam>true</useFlashRam>
-         <useInternalDataRam>true</useInternalDataRam>
-         <useMaccRam>false</useMaccRam>
-      </Internal>
-      <waitStates>4</waitStates>
-   </Memory>
-   <cpu>EZ80F92</cpu>
-   <schemaVersion>1.0.1</schemaVersion>
-   <version>1.00</version>
-</Target>
diff --git a/boards/z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt b/boards/z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt
deleted file mode 100644
index 8f78f6b..0000000
--- a/boards/z80/ez80/z20x/configs/nsh_flash/nsh_ram.ztgt
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Target name="eZ80F920300KITG_RAM" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Schemas/target.tsd" xsi:type="TargetEZ80">
-   <Clock>
-      <PLL>
-         <changeFrequencyOnReset>true</changeFrequencyOnReset>
-         <chargePumpFreq>1f4</chargePumpFreq>
-         <clockLockCriteria>8</clockLockCriteria>
-         <oscFrequency>20000000</oscFrequency>
-      </PLL>
-      <clockType>PLL</clockType>
-      <frequency>20000000</frequency>
-   </Clock>
-   <ControlReg>
-      <pc>0</pc>
-      <splStackPtr>100000</splStackPtr>
-      <spsStackPtr>ffff</spsStackPtr>
-      <useAdlMode>true</useAdlMode>
-   </ControlReg>
-   <ExtFlash>
-      <device />
-      <externalAddress>200000</externalAddress>
-      <externalAutoSelect>false</externalAutoSelect>
-      <externalRamLower>000000</externalRamLower>
-      <externalRamUpper>FFFFF</externalRamUpper>
-      <manufacturer />
-      <units>1</units>
-      <usingExternal>false</usingExternal>
-      <usingInternal>true</usingInternal>
-   </ExtFlash>
-   <Memory>
-      <ChipSelects>
-         <CS0>
-            <busMode>0</busMode>
-            <controlRegister>8</controlRegister>
-            <lower>0</lower>
-            <upper>7</upper>
-         </CS0>
-         <CS1>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS1>
-         <CS2>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS2>
-         <CS3>
-            <busMode>0</busMode>
-            <controlRegister>0</controlRegister>
-            <lower>0</lower>
-            <upper>0</upper>
-         </CS3>
-      </ChipSelects>
-      <Internal>
-         <mapFlashToPage>0</mapFlashToPage>
-         <mapRamToPage>AF</mapRamToPage>
-         <useFlashRam>false</useFlashRam>
-         <useInternalDataRam>true</useInternalDataRam>
-         <useMaccRam>false</useMaccRam>
-      </Internal>
-      <waitStates>4</waitStates>
-   </Memory>
-   <cpu>EZ80F92</cpu>
-   <schemaVersion>1.0.1</schemaVersion>
-   <version>1.00</version>
-</Target>


[incubator-nuttx] 03/03: boards/z80/ez80/z20x/: Add support for W25 FLASH.

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 350adb236f9ad1fcf871131baff8d6ca7f5fbe13
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Sun Mar 1 07:37:18 2020 -0600

    boards/z80/ez80/z20x/:  Add support for W25 FLASH.
---
 boards/z80/ez80/z20x/Kconfig            |  23 +++++--
 boards/z80/ez80/z20x/src/Makefile       |   4 ++
 boards/z80/ez80/z20x/src/ez80_bringup.c |  17 ++++-
 boards/z80/ez80/z20x/src/ez80_w25.c     | 117 ++++++++++++++++++++++++++++++++
 boards/z80/ez80/z20x/src/z20x.h         |  12 ++++
 5 files changed, 163 insertions(+), 10 deletions(-)

diff --git a/boards/z80/ez80/z20x/Kconfig b/boards/z80/ez80/z20x/Kconfig
index b324569..95eb696 100644
--- a/boards/z80/ez80/z20x/Kconfig
+++ b/boards/z80/ez80/z20x/Kconfig
@@ -5,13 +5,6 @@
 
 if ARCH_BOARD_Z20X
 
-config Z20X_VGA
-	bool "VGA Controller attached?"
-	default n
-	---help---
-		Select this option if you have an I/O Controller and a VGA vide card
-		connected.
-
 config Z20X_COPYTORAM
 	bool "Copy to RAM"
 	default n
@@ -32,4 +25,20 @@ config Z20X_SDBOOT
 		configuration.  This will enable the components needed only by the
 		boot loader.
 
+choice
+	prompt "Winbond W25 Usage"
+	default Z20X_W25_CHARDEV
+	depends on EZ80_SPI && MTD_W25
+
+config Z20X_W25_CHARDEV
+	bool "Character device"
+	select BCH
+
+config Z20X_W25_BLOCKDEV
+	bool "Block device"
+
+config Z20X_W25_MTDDEV
+	bool "MTD device"
+
+endchoice
 endif # ARCH_BOARD_Z20X
diff --git a/boards/z80/ez80/z20x/src/Makefile b/boards/z80/ez80/z20x/src/Makefile
index 0c4b3af..83f54ec 100644
--- a/boards/z80/ez80/z20x/src/Makefile
+++ b/boards/z80/ez80/z20x/src/Makefile
@@ -38,4 +38,8 @@ ifeq ($(CONFIG_Z20X_SDBOOT),y)
 CSRCS += sd_main.c
 endif
 
+ifeq ($(CONFIG_MTD_W25),y)
+CSRCS += ez80_w25.c
+endif
+
 include $(TOPDIR)/boards/Board.mk
diff --git a/boards/z80/ez80/z20x/src/ez80_bringup.c b/boards/z80/ez80/z20x/src/ez80_bringup.c
index 565bfe4..f9f1db6 100644
--- a/boards/z80/ez80/z20x/src/ez80_bringup.c
+++ b/boards/z80/ez80/z20x/src/ez80_bringup.c
@@ -26,7 +26,7 @@
 
 #include <sys/types.h>
 #include <sys/mount.h>
-#include <syslog.h>
+#include <debug.h>
 
 #include "z20x.h"
 
@@ -58,7 +58,18 @@ int ez80_bringup(void)
   ret = mount(NULL, "/proc", "procfs", 0, NULL);
   if (ret < 0)
     {
-      syslog(LOG_ERR, "ERROR: Failed to mount procfs at /proc: %d\n", ret);
+      ferr("ERROR: Failed to mount procfs at /proc: %d\n", ret);
+    }
+#endif
+
+#ifdef HAVE_SPIFLASH
+  /* Initialize and register the W25 FLASH file system. */
+
+  ret = ez80_w25_initialize(0);
+  if (ret < 0)
+    {
+      ferr("ERROR: Failed to initialize W25 minor %d: %d\n", 0, ret);
+      return ret;
     }
 #endif
 
@@ -68,7 +79,7 @@ int ez80_bringup(void)
   ret = ez80_mmcsd_initialize();
   if (ret < 0)
     {
-      syslog(LOG_ERR, "ERROR: Failed to initialize SD card: %d\n", ret);
+      mcerr("ERROR: Failed to initialize SD card: %d\n", ret);
     }
 #endif
 
diff --git a/boards/z80/ez80/z20x/src/ez80_w25.c b/boards/z80/ez80/z20x/src/ez80_w25.c
new file mode 100644
index 0000000..e468331
--- /dev/null
+++ b/boards/z80/ez80/z20x/src/ez80_w25.c
@@ -0,0 +1,117 @@
+/****************************************************************************
+ * boards/z80/ez80/z20x/src/ez80_w25.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <sys/mount.h>
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <errno.h>
+#include <debug.h>
+
+#include <nuttx/spi/spi.h>
+#include <nuttx/mtd/mtd.h>
+#include <nuttx/drivers/drivers.h>
+
+#include "ez80f91_spi.h"
+#include "z20x.h"
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: ez80_w25_initialize
+ *
+ * Description:
+ *   Initialize and register the W25 FLASH file system.
+ *
+ ****************************************************************************/
+
+int ez80_w25_initialize(int minor)
+{
+  FAR struct spi_dev_s *spi;
+  FAR struct mtd_dev_s *mtd;
+#ifdef CONFIG_Z20X_W25_CHARDEV
+  char blockdev[18];
+  char chardev[12];
+#endif
+  int ret;
+
+  /* Get the SPI port */
+
+  spi = ez80_spibus_initialize(0);
+  if (!spi)
+    {
+      ferr("ERROR: Failed to initialize SPI port %d\n", 0);
+      return -ENODEV;
+    }
+
+  /* Now bind the SPI interface to the W25 SPI FLASH driver */
+
+  mtd = w25_initialize(spi);
+  if (!mtd)
+    {
+      ferr("ERROR: Failed to bind SPI port %d to the W25 FLASH driver\n", 0);
+      return -ENODEV;
+    }
+
+#if defined(CONFIG_Z20X_W25_BLOCKDEV)
+  /* Use the FTL layer to wrap the MTD driver as a block driver. */
+
+  ret = ftl_initialize(minor, mtd);
+  if (ret < 0)
+    {
+      ferr("ERROR: Failed to initialize the FTL layer: %d\n", ret);
+      return ret;
+    }
+
+#elif defined(CONFIG_Z20X_W25_CHARDEV)
+  /* Use the FTL layer to wrap the MTD driver as a block driver */
+
+  ret = ftl_initialize(minor, mtd);
+  if (ret < 0)
+    {
+      ferr("ERROR: Failed to initialize the FTL layer: %d\n", ret);
+      return ret;
+    }
+
+  /* Use the minor number to create device paths */
+
+  snprintf(blockdev, 18, "/dev/mtdblock%d", minor);
+  snprintf(chardev, 12, "/dev/mtd%d", minor);
+
+  /* Now create a character device on the block device */
+
+  ret = bchdev_register(blockdev, chardev, false);
+  if (ret < 0)
+    {
+      ferr("ERROR: bchdev_register %s failed: %d\n", chardev, ret);
+      return ret;
+    }
+#endif
+
+  return OK;
+}
diff --git a/boards/z80/ez80/z20x/src/z20x.h b/boards/z80/ez80/z20x/src/z20x.h
index 51e389e..1ca9052 100644
--- a/boards/z80/ez80/z20x/src/z20x.h
+++ b/boards/z80/ez80/z20x/src/z20x.h
@@ -152,6 +152,18 @@ int ez80_mmcsd_initialize(void);
 void ez80_spidev_initialize(void);
 #endif
 
+/****************************************************************************
+ * Name: ez80_w25_initialize
+ *
+ * Description:
+ *   Called to initialize Winbond W25 memory
+ *
+ ****************************************************************************/
+
+#ifdef HAVE_SPIFLASH
+int ez80_w25_initialize(int minor);
+#endif
+
 #undef EXTERN
 #if defined(__cplusplus)
 }


[incubator-nuttx] 01/03: boards/z20x/ez80/20x: Updates

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 7d1b35b768b41398971d94aed97f5222b88f02d5
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Sat Feb 29 18:05:21 2020 -0600

    boards/z20x/ez80/20x:  Updates
    
    boards/z80/ez80/z20x:  Add SPI chip selects for all available SPI definces.
---
 boards/z80/ez80/z20x/src/ez80_spi.c | 82 +++++++++++++++++++++++++++++++++----
 boards/z80/ez80/z20x/src/z20x.h     | 13 +++++-
 2 files changed, 87 insertions(+), 8 deletions(-)

diff --git a/boards/z80/ez80/z20x/src/ez80_spi.c b/boards/z80/ez80/z20x/src/ez80_spi.c
index 90d16cc..a77dd07 100644
--- a/boards/z80/ez80/z20x/src/ez80_spi.c
+++ b/boards/z80/ez80/z20x/src/ez80_spi.c
@@ -55,25 +55,46 @@
 
 void ez80_spidev_initialize(void)
 {
-#ifdef HAVE_MMCSD
+#if defined(HAVE_MMCSD) || defined(HAVE_XPT2046)
   uint8_t regval;
-
-  /* MMC/SD CS: Port PB2/nSS as output */
+  uint8_t pins;
+
+  /* SPI Devices on the z20x main board:
+   *
+   *   W25Q32JV CS: Port PB5 as output
+   *
+   * SPI Devices on LCD card:
+   *
+   *   MMC/SD CS: Port PB2/nSS as output
+   *   XPT2046 CS: PB1/T1_IN as output
+   *   SST25VF016 CS: Pulled high
+   */
+
+  pins    = 0;
+#ifdef HAVE_SPIFLASH
+  pins   |= EZ80_GPIOD5;
+#endif
+#ifdef HAVE_XPT2046
+  pins   |= EZ80_GPIOD1;
+#endif
+#ifdef HAVE_MMCSD
+  pins   |= EZ80_GPIOD2;
+#endif
 
   regval  = inp(EZ80_PB_DR);
-  regval |= EZ80_GPIOD2;
+  regval |= pins;
   outp(EZ80_PB_DR, regval);
 
   regval  = inp(EZ80_PB_ALT1);
-  regval &= ~EZ80_GPIOD2;
+  regval &= ~pins;
   outp(EZ80_PB_ALT1, regval);
 
   regval  = inp(EZ80_PB_ALT2);
-  regval &= ~EZ80_GPIOD2;
+  regval &= ~pins;
   outp(EZ80_PB_ALT2, regval);
 
   regval  = inp(EZ80_PB_DDR);
-  regval &= ~EZ80_GPIOD2;
+  regval &= ~pins;
   outp(EZ80_PB_DDR, regval);
 #endif
 }
@@ -104,6 +125,52 @@ void ez80_spidev_initialize(void)
 
 void ez80_spiselect(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
 {
+#ifdef HAVE_SPIFLASH
+  if (devid == SPIDEV_FLASH(0))
+    {
+      uint8_t regval;
+
+      /* Set PB5 output */
+
+      regval  = inp(EZ80_PB_DR);
+
+      if (selected)
+        {
+          regval &= ~EZ80_GPIOD5;
+        }
+      else
+        {
+          regval |= EZ80_GPIOD5;
+        }
+
+      outp(EZ80_PB_DR, regval);
+      return;
+    }
+#endif
+
+#ifdef HAVE_XPT2046
+  if (devid == SPIDEV_TOUCHSCREEN(0))
+    {
+      uint8_t regval;
+
+      /* Set PB1/T1_IN output */
+
+      regval  = inp(EZ80_PB_DR);
+
+      if (selected)
+        {
+          regval &= ~EZ80_GPIOD1;
+        }
+      else
+        {
+          regval |= EZ80_GPIOD1;
+        }
+
+      outp(EZ80_PB_DR, regval);
+      return;
+    }
+#endif
+
 #ifdef HAVE_MMCSD
   if (devid == SPIDEV_MMCSD(0))
     {
@@ -123,6 +190,7 @@ void ez80_spiselect(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
         }
 
       outp(EZ80_PB_DR, regval);
+      return;
     }
 #endif
 }
diff --git a/boards/z80/ez80/z20x/src/z20x.h b/boards/z80/ez80/z20x/src/z20x.h
index 85161e85..51e389e 100644
--- a/boards/z80/ez80/z20x/src/z20x.h
+++ b/boards/z80/ez80/z20x/src/z20x.h
@@ -35,11 +35,22 @@
 
 /* Configuration */
 
-#define HAVE_MMCSD 1
+#define HAVE_SPIFLASH 1
+#define HAVE_MMCSD    1
+#define HAVE_XPT2046  1
+
+#if !defined(CONFIG_MTD_W25) || !defined(CONFIG_EZ80_SPI)
+#  undef HAVE_SPIFLASH
+#endif
+
 #if !defined(CONFIG_MMCSD_SPI) || !defined(CONFIG_EZ80_SPI)
 #  undef HAVE_MMCSD
 #endif
 
+#if !defined(CONFIG_INPUT_ADS7843E) || !defined(CONFIG_EZ80_SPI)
+#  undef HAVE_XPT2046
+#endif
+
 /* Helpers for accessing memory mapped registers */
 
 #define ez80_getreg8(a)   (*(volatile uint8_t *)(a))