Squashed commit of the following:

libs/libc/misc/Make.defs:  For platforms whose CPP tool does not support a variable number arguments to pre-processor macros, we may still need to build the debug functions even when CONFIG_DEBUG_FEATURES is not selected.  For example, __alert() may be needed is CONFIG_ARCH_STACKDUMP is set.

    configs/makerlisp:  Add an sdboot configuration that will load .hex files from the SD card.
This commit is contained in:
Gregory Nutt 2019-06-26 14:37:19 -06:00
parent 2f9a76b21c
commit 40179da030
14 changed files with 831 additions and 17 deletions

View File

@ -12,4 +12,12 @@ config MAKERLISP_VGA
Select this option if you have an I/O Controller and a VGA vide card
connected.
config MAKERLISP_SDBOOT
bool "Build SD boot loader"
default n
---help---
Select this option only with the configs/makerlisp/sdboot
configuration. This will enable the components needed only by the
boot loader.
endif # ARCH_BOARD_MAKERLISP

View File

@ -274,7 +274,7 @@ Configuration Subdirectories
NOTES:
1. The two configurations different only in that cone builds for
1. The two configurations different only in that one builds for
execution from FLASH and the other for execution from RAM. A
bootloader of some kind is required to support execution from RAM!
This difference is reflected in a single configuration setting:
@ -396,3 +396,18 @@ Configuration Subdirectories
2019-06-26: Renamed nsh configuration to nsh_flash. Added nsh_ram
configuration.
sdboot
This configuration implements a very simple boot loader. In runs from
FLASH and simply initializes the external SRAM, mounts the FAT file
system on the SD card, and checks to see if there is a file called
nuttx.hex on the SD card. If so, it will load the Intel HEX file into
memory and jump to address 0x040000. This, of course, assumes that
the application's reset vector resides at address 0x040000 in external
SRAM.
The boot loader source is located at configs/makerlisp/src/sd_main.c.
STATUS:
2019-06-26: Configuration added. Not yet verified.

7
configs/makerlisp/sdboot/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
nsh.hex
nsh.map
nsh.lod
nsh.wsp
*.asm
Debug

View File

@ -0,0 +1,13 @@
README.txt
^^^^^^^^^^
sdboot.zdsproj is a simple ZDS-II project that will allow you
to use the ZDS-II debugger.
sdboot.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
sdboot_flash.ztgt is the target file that accompanies the project files. This
one is identical to configs/scripts/makerlisp_ram.ztgt.
sdboot_ram.ztgt is the target file that accompanies the project files. This
one is identical to configs/scripts/makerlisp_flash.ztgt.

View File

@ -0,0 +1,51 @@
#
# 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="makerlisp"
CONFIG_ARCH_BOARD_MAKERLISP=y
CONFIG_ARCH_CHIP_EZ80=y
CONFIG_ARCH_CHIP_EZ80F91=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_Z80=y
CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_DISABLE_MQUEUE=y
CONFIG_EZ80_SPI=y
CONFIG_EZ80_UART0=y
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FS_FAT=y
CONFIG_HOST_WINDOWS=y
CONFIG_LIB_HEX2BIN=y
CONFIG_MAKERLISP_SDBOOT=y
CONFIG_MAX_TASKS=8
CONFIG_MAX_WDOGPARMS=2
CONFIG_MMCSD=y
CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_NFILE_DESCRIPTORS=6
CONFIG_NFILE_STREAMS=6
CONFIG_PREALLOC_TIMERS=4
CONFIG_PREALLOC_WDOGS=4
CONFIG_PTHREAD_STACK_DEFAULT=1024
CONFIG_RAM_SIZE=65536
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SDCLONE_DISABLE=y
CONFIG_SPI=y
CONFIG_START_DAY=26
CONFIG_START_MONTH=6
CONFIG_START_YEAR=2019
CONFIG_UART0_BITS=0
CONFIG_UART0_RXBUFSIZE=192
CONFIG_UART0_SERIAL_CONSOLE=y
CONFIG_UART0_TXBUFSIZE=64
CONFIG_USER_ENTRYPOINT="sd_main"
CONFIG_WDOG_INTRESERVE=1

View File

@ -0,0 +1,261 @@
<project type="Executable" project-type="Standard" configuration="Release" created-by="d:5.3.0:17021001" modified-by="d:5.3.0:17021001" ZDSII="ZDSII - eZ80Acclaim! 5.3.0 (Build 17041303)">
<cpu>eZ80F91</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,_EZ80F91,_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">sdboot_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">CopyToRam</option>
<option name="flashinfo" type="string" change-action="build">000000-0001FF</option>
<option name="ram" type="string" change-action="build">040000-0FFFFF</option>
<option name="rom" type="string" change-action="build">000000-03FFFF</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,_EZ80F91,_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">sdboot_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">CopyToRam</option>
<option name="flashinfo" type="string" change-action="build">000000-0001FF</option>
<option name="ram" type="string" change-action="build">040000-13FFFF</option>
<option name="rom" type="string" change-action="build">000000-03FFFF</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>

View File

@ -0,0 +1,315 @@
<project type="Standard" project-type="Standard" configuration="Debug" created-by="{{build_number}}" modified-by="{{build_number}}">
<cpu>eZ80F91</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">_EZ80F91,_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">sdboot_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">.\sdboot</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-03FFFF</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">_EZ80F91,_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">sdboot_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">.\sdboot</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-03FFFF</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>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<Target name="eZ80F910300KITG_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>5000000</oscFrequency>
</PLL>
<clockType>PLL</clockType>
<frequency>50000000</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>40000</externalRamLower>
<externalRamUpper>13FFFF</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>8</controlRegister>
<lower>C</lower>
<upper>13</upper>
</CS1>
<CS2>
<busMode>0</busMode>
<controlRegister>88</controlRegister>
<lower>20</lower>
<upper>9F</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>EZ80F91</cpu>
<schemaVersion>1.0.1</schemaVersion>
<version>1.00</version>
</Target>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<Target name="eZ80F910300KITG_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>5000000</oscFrequency>
</PLL>
<clockType>PLL</clockType>
<frequency>50000000</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>8</controlRegister>
<lower>8</lower>
<upper>F</upper>
</CS1>
<CS2>
<busMode>0</busMode>
<controlRegister>28</controlRegister>
<lower>20</lower>
<upper>9F</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>EZ80F91</cpu>
<schemaVersion>1.0.1</schemaVersion>
<version>1.00</version>
</Target>

View File

@ -53,4 +53,8 @@ CSRCS += ez80_spimmcsd.c
endif
endif
ifeq ($(CONFIG_MAKERLISP_SDBOOT),y)
CSRCS += sd_main.c
endif
include $(TOPDIR)/configs/Board.mk

View File

@ -40,9 +40,12 @@
#include <nuttx/config.h>
#include <sys/mount.h>
#include <unistd.h>
#include <fcntl.h>
#include <syslog.h>
#include <hex2bin.h>
#include <assert.h>
#include <errno.h>
#include <arch/irq.h>
@ -56,8 +59,12 @@
#define MMCSD_MOUNTPT "/mnt/sdcard"
#define MMCSD_HEXFILE "/mnt/sdcard/nuttx.hex"
#define SRAM_RESET 0x040000
#define SRAM_ENTRY ((sram_entry_t)SRAM_RESET)
#define SRAM_START 0x040000
#define SRAM_SIZE 0x100000
#define SRAM_END (SRAM_START + SRAM_SIZE)
#define SRAM_RESET SRAM_START
#define SRAM_ENTRY ((sram_entry_t)SRAM_START)
/****************************************************************************
* Private Types
@ -94,7 +101,7 @@ int sd_main(int argc, char *argv)
* the MMC/SD block driver at /dev/mmcsd0.
*/
DEBUG_VERIFY(ez80_bringup());
DEBUGVERIFY(ez80_bringup());
#endif
syslog(LOG_INFO, "Loading %s\n", MMCSD_HEXFILE);
@ -123,15 +130,12 @@ int sd_main(int argc, char *argv)
/* Load the HEX image into memory */
ret = hex2mem(fd,
(uint32_t)SAM_DDRCS_VSECTION,
(uint32_t)(SAM_DDRCS_VSECTION + CONFIG_SAMA5_DDRCS_SIZE),
0);
ret = hex2mem(fd, (uint32_t)SRAM_START, (uint32_t)SRAM_END, 0);
if (ret < 0)
{
/* We failed to load the HEX image */
printf("ERROR: Intel HEX file load failed: %d\n", ret);
syslog(LOG_ERR, "ERROR: Intel HEX file load failed: %d\n", ret);
goto halt_with_hexfile;
}
@ -152,6 +156,7 @@ int sd_main(int argc, char *argv)
/* Then jump into SRAM via the reset vector at 0x040000 */
SRAM_ENTRY();
goto halt;
halt_with_hexfile:
close(fd);

View File

@ -43,6 +43,7 @@
#include <nuttx/config.h>
#include <stdint.h>
#include <stdio.h>
#ifdef CONFIG_LIB_HEX2BIN

View File

@ -1,7 +1,7 @@
############################################################################
# libs/libc/misc/Make.defs
#
# Copyright (C) 2011-2012, 2014, 2016, 2018 Gregory Nutt. All rights
# Copyright (C) 2011-2012, 2014, 2016, 2018-2019 Gregory Nutt. All rights
# reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
@ -67,11 +67,7 @@ endif
# Add the miscellaneous C files to the build
CSRCS += lib_crc64.c lib_crc32.c lib_crc16.c lib_crc8.c lib_crc8ccitt.c
CSRCS += lib_dumpbuffer.c lib_match.c
ifeq ($(CONFIG_DEBUG_FEATURES),y)
CSRCS += lib_debug.c
endif
CSRCS += lib_dumpbuffer.c lib_match.c lib_debug.c
# Keyboard driver encoder/decoder

View File

@ -1,8 +1,8 @@
/****************************************************************************
* libs/libc/misc/lib_err.c
*
* Copyright (C) 2007-2009, 2011-2012, 2016, 2018 Gregory Nutt. All rights
* reserved.
* Copyright (C) 2007-2009, 2011-2012, 2016, 2018-2019 Gregory Nutt. All
* rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without