forked from xuos/xiuos
modify nuttx bug of lack of files
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||
#
|
||||
@@ -0,0 +1,279 @@
|
||||
README.txt
|
||||
==========
|
||||
|
||||
This is the README file for the NuttX port to the ZiLog ZNEO MCU.
|
||||
|
||||
- Console output is on UART0.
|
||||
|
||||
- NOTE: My board has a 20MHz crystal, but I have heard of other boards with
|
||||
18.432MHz crystals. If you board has a diff crystal installed, then
|
||||
modify the system frequency in include/board.h.
|
||||
|
||||
Contents
|
||||
========
|
||||
|
||||
- ZDS-II Compiler Versions
|
||||
- Patches
|
||||
- Serial Console
|
||||
- Selecting Configurations
|
||||
- Configuration Sub-directories
|
||||
|
||||
ZDS-II Compiler Versions
|
||||
========================
|
||||
|
||||
Version 4.10.2
|
||||
|
||||
The ZDS-II version 4.10.2 will not compile NuttX. It reports "internal
|
||||
errors" on some of the files. Upgrades to ZDS-II are available for
|
||||
download from the Zilog website: http://www.zilog.com/software/zds2.asp
|
||||
|
||||
Version 4.11.0
|
||||
|
||||
NuttX compiles correctly with the newer 4.11.0 version of the ZDS-II
|
||||
toolchain. However, I have found a few issues:
|
||||
|
||||
- The code will not run without the -reduceopt option. There is,
|
||||
apparently, some optimization related issue. This issue has not
|
||||
been analyzed as of this writing.
|
||||
|
||||
- Not all NuttX logic will not run with the -regvars option. There is
|
||||
at least one failure that has been reported to ZiLOG as incident 81400.
|
||||
|
||||
Version 4.11.1
|
||||
|
||||
As of this writing (30 September 2010), the latest release of ZDS-II for the
|
||||
ZNEO is 4.11.1. It is unknown if this release includes fixes for incidents
|
||||
81400 and 81459 or not. It is unknown if the code will run without -reduceopt
|
||||
either. (Basically, it compiles with 4.11.1, but is untested with that version).
|
||||
|
||||
Version 4.12.0
|
||||
|
||||
Never tested
|
||||
|
||||
Version 5.0.0
|
||||
|
||||
Never tested
|
||||
|
||||
Version 5.0.1
|
||||
|
||||
On November 29, 2012, all of the z16f configurations were converted to use 5.0.1,
|
||||
but have not been verified on a running target.
|
||||
|
||||
Paths were also updated that are specific to a 32-bit toolchain running on
|
||||
a 64 bit windows platform. Change to a different toolchain, you will need
|
||||
to modify the versioning in the Make.defs file; if you want to build
|
||||
on a different platform, you will need to change the path in the ZDS binaries
|
||||
in those that file and your PATH environment variable.
|
||||
|
||||
Version 5.2.1
|
||||
On June 2, 2019, support for the 5.2.1 ZDS-II toolchain was added.
|
||||
I started verification using 5.30 on June 2, 2019. To use this toolchain,
|
||||
I had to suppress the gmtime() and gmtimer() because these were causing an
|
||||
internal compiler error:
|
||||
|
||||
time\lib_gmtimer.c
|
||||
P2: Internal Error(0xB47E59):
|
||||
Please contact Technical Support
|
||||
|
||||
This is the change to suppress building these files:
|
||||
|
||||
diff --git a/libs/libc/time/Make.defs b/libs/libc/time/Make.defs
|
||||
index 2a26d556ff..08fd0b7bcd 100644
|
||||
--- a/libs/libc/time/Make.defs
|
||||
+++ b/libs/libc/time/Make.defs
|
||||
@@ -44,7 +44,7 @@ CSRCS += lib_asctime.c lib_asctimer.c lib_ctime.c lib_ctimer.c
|
||||
ifdef CONFIG_LIBC_LOCALTIME
|
||||
CSRCS += lib_localtime.c
|
||||
else
|
||||
-CSRCS += lib_mktime.c lib_gmtime.c lib_gmtimer.c
|
||||
+CSRCS += lib_mktime.c #lib_gmtime.c lib_gmtimer.c
|
||||
endif
|
||||
|
||||
The consequence is, of course, that these interfaces will not be available
|
||||
to applications.
|
||||
|
||||
Another issue is that the ZDS-II version of stdarg.h does not provide
|
||||
va_copy(). This affects libs/libc/lib_sysloc.c.
|
||||
|
||||
There are a few outstanding build issues, but it seems close enough for
|
||||
the time being.
|
||||
|
||||
Version 5.2.2
|
||||
Verified April 29, 2020. No serious compilation issues were encountered.
|
||||
|
||||
Other Versions
|
||||
|
||||
If you use any version of ZDS-II or if you install ZDS-II at any location
|
||||
other than the default location, you will have to modify
|
||||
arch/z16/src/z16f/Kconfig and
|
||||
boards/z16/z16f/z16f2800100zcog/scripts/Make.defs.
|
||||
Simply edit that file, changing 5.0.1 to whatever.
|
||||
|
||||
Patches
|
||||
=======
|
||||
|
||||
A bug has been found in the ZDS-II toolchain version 5.0.1. a patch is
|
||||
available to work around the bug. A summary of the nature the bug and
|
||||
instructions for applying the patch follow.
|
||||
|
||||
Parameters are passed different to variadic functions (i.e., functions
|
||||
that accept a varying number of parameters) than to regular functions. For
|
||||
most functions, parameters are passed in registers, beginning with R1. But
|
||||
for variadic functions, all parameters must be passed on the stack.
|
||||
|
||||
The logic works correctly for global functions, local functions, and most
|
||||
function pointers. It does not work correctly for the case where a variadic
|
||||
function point is included within a structure. In that case, the caller
|
||||
inappropriately passes the parameters in registers; the receiver will
|
||||
attempt to recover the parameters from the stack and a failure then follows.
|
||||
|
||||
This bug prevents the use of NSH with the ZNEO. However, a patch has been
|
||||
developed that works around the problem. That patch can be found at
|
||||
boards/z16/z16f/z16f2800100zcog/tools/zneo-zdsii-5_0_1-variadic-func-fix.patch.
|
||||
In that directory is also a bash script that will apply that patch for you.
|
||||
|
||||
The patch would be applied when NuttX is configured as follows:
|
||||
|
||||
tools/configure.sh z16f2800100zcog:nsh
|
||||
dopatch.sh
|
||||
make
|
||||
|
||||
The patch can also be removed with:
|
||||
|
||||
dopatch.sh -R
|
||||
|
||||
See the section "Selecting Configurations" below.
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
By default, console output is on UART1 which corresponds to the DB9
|
||||
connector labelled CONSOLE.
|
||||
|
||||
UART1 is also available on JP2:
|
||||
|
||||
MCU PIN GPIO JP2
|
||||
Pin 86 TXD1 PD5 JP2 Pin 26
|
||||
Pin 87 RXD1 PD4 JP2 Pin 27
|
||||
Vcc JP2 Pin 59
|
||||
GND JP2 Pins 19, 39, 46, 48, 56
|
||||
|
||||
Selecting Configurations
|
||||
========================
|
||||
|
||||
Variations on the basic z8f162800100zcog configuration are maintained
|
||||
in subdirectories. To configure any specific configuration, do the
|
||||
following steps:
|
||||
|
||||
tools/configure.sh z16f2800100zcog:<sub-directory>
|
||||
make
|
||||
|
||||
Where <sub-directory> is the specific board configuration that you
|
||||
wish to build. The following board-specific configurations are
|
||||
available. You may also need to apply a path to NuttX before making.
|
||||
Please refer the section "Patches" above"
|
||||
|
||||
Configuration Sub-directories
|
||||
=============================
|
||||
|
||||
source/ and include/
|
||||
--------------------
|
||||
|
||||
These directories contain common logic for all z16f2800100zcog
|
||||
configurations.
|
||||
|
||||
nsh
|
||||
---
|
||||
nsh:
|
||||
This configuration directory will built the NuttShell (NSH). See
|
||||
the NSH user manual in the documents directory (or online at apache.nuttx.org).
|
||||
See also the README.txt file in the nsh sub-directory for information
|
||||
about using ZDS-II.
|
||||
|
||||
NOTES:
|
||||
|
||||
1. This configuration uses the mconf-based configuration tool. To
|
||||
change this configuration using that tool, you should:
|
||||
|
||||
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
||||
see additional README.txt files in the NuttX tools repository.
|
||||
|
||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||
reconfiguration process.
|
||||
|
||||
2. By default, this configuration assumes that you are using the
|
||||
Cygwin environment on Windows. An option is to use the native
|
||||
CMD.exe window build as described in the top-level README.txt
|
||||
file. To set up that configuration:
|
||||
|
||||
-CONFIG_WINDOWS_CYGWIN=y
|
||||
+CONFIG_WINDOWS_NATIVE=y
|
||||
|
||||
And after configuring, make sure that CONFIG_APPS_DIR uses
|
||||
the back slash character. For example:
|
||||
|
||||
CONFIG_APPS_DIR="..\apps"
|
||||
|
||||
NOTES:
|
||||
|
||||
a. If you need to change the toolchain path used in Make.defs, you
|
||||
will need to use the short 8.3 filenames to avoid spaces. On my
|
||||
PC, C:\PROGRA~1\ is is C:\Program Files\ and C:\PROGRA~2\ is
|
||||
C:\Program Files (x86)\
|
||||
b. I have not tried to use this configuration with the native
|
||||
Windows build, but I would expect the same issues as is listed
|
||||
for the ostest configuration..
|
||||
|
||||
STATUS:
|
||||
|
||||
1. Note that you must apply the ZNEO patch if you are using ZDS-II 5.0.1.
|
||||
See the README.txt file in the parent directory for more information.
|
||||
The configuration will run correctly with the patch applied.
|
||||
|
||||
ostest
|
||||
------
|
||||
|
||||
This builds the examples/ostest application for execution from FLASH.
|
||||
See the README.txt file in the ostest sub-directory for information
|
||||
about using ZDS-II. See also apps/examples/README.txt for information
|
||||
about ostest.
|
||||
|
||||
NOTES:
|
||||
|
||||
1. This configuration uses the mconf-based configuration tool. To
|
||||
change this configuration using that tool, you should:
|
||||
|
||||
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
||||
see additional README.txt files in the NuttX tools repository.
|
||||
|
||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||
reconfiguration process.
|
||||
|
||||
2. By default, this configuration assumes that you are using the
|
||||
Cygwin environment on Windows. An option is to use the native
|
||||
CMD.exe window build as described in the top-level README.txt
|
||||
file. To set up that configuration:
|
||||
|
||||
-CONFIG_WINDOWS_CYGWIN=y
|
||||
+CONFIG_WINDOWS_NATIVE=y
|
||||
|
||||
And after configuring, make sure that CONFIG_APPS_DIR uses
|
||||
the back slash character. For example:
|
||||
|
||||
CONFIG_APPS_DIR="..\apps"
|
||||
|
||||
NOTES:
|
||||
|
||||
a. If you need to change the toolchain path used in Make.defs, you
|
||||
will need to use the short 8.3 filenames to avoid spaces. On my
|
||||
PC, C:\PROGRA~1\ is is C:\Program Files\ and C:\PROGRA~2\ is
|
||||
C:\Program Files (x86)\
|
||||
b. At present, the native Windows build fails at the final link stages.
|
||||
The failure is due to problems in arch/z16/src/nuttx.linkcmd that
|
||||
is autogenerated by arch/z16/src/Makefile. The basic problem
|
||||
is the spurious spaces and and carriage returns are generated at
|
||||
the end of the lines after a line continuation (\ ^M). If these
|
||||
trailing bad characters are manually eliminated, then the build
|
||||
will succeed on the next try.
|
||||
|
||||
Check out any README.txt files in these <sub-directory>s.
|
||||
@@ -0,0 +1,48 @@
|
||||
README.txt
|
||||
==========
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
o NSH Project
|
||||
o Loading and Executing Code
|
||||
o Console Output
|
||||
o STATUS
|
||||
|
||||
NSH Project
|
||||
-----------
|
||||
|
||||
nsh.zfpproj is a simple ZDS II - ZNEO 5.0.1 project that will allow you
|
||||
to use the ZDS-II debugger. Before using, copy the following files from
|
||||
the toplevel directory:
|
||||
|
||||
nuttx.hex, nuttx.map, nuttx.lod
|
||||
|
||||
to this directory as:
|
||||
|
||||
nsh.hex, nsh.map, nsh.lod
|
||||
|
||||
Loading and Executing Code
|
||||
--------------------------
|
||||
|
||||
1. Copy the files to this directory as described above
|
||||
2. Connect the ZiLOG XTools USB debugger.
|
||||
3. Install the USB driver from the ZDS-II device_drivers directory
|
||||
4. Start ZDS-II and load the nsh.zfpproj project
|
||||
5. In the debug tab, connect to the debugger
|
||||
6. In the debug tab, load code, reset, and go
|
||||
|
||||
Console Output
|
||||
--------------
|
||||
|
||||
Interaction with NSH is via the serial console at 57600 8N1 baud.
|
||||
|
||||
STATUS
|
||||
------
|
||||
|
||||
1. Note that you must apply the ZNEO patch if you are using ZDS-II 5.0.1.
|
||||
See the README.txt file in the parent directory for more information.
|
||||
This configuration does run correctly with the path applied.
|
||||
|
||||
2. I bet that this code, like ostest, will not run if started by a hardware
|
||||
reset. It may only run when started via the debugger.
|
||||
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# 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_NSH_ARGCAT is not set
|
||||
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
|
||||
# CONFIG_NSH_CMDPARMS is not set
|
||||
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
||||
# CONFIG_NSH_DISABLE_PS is not set
|
||||
CONFIG_ARCH="z16"
|
||||
CONFIG_ARCH_BOARD="z16f2800100zcog"
|
||||
CONFIG_ARCH_BOARD_Z16F2800100ZCOG=y
|
||||
CONFIG_ARCH_CHIP="z16f"
|
||||
CONFIG_ARCH_CHIP_Z16F2811=y
|
||||
CONFIG_ARCH_CHIP_Z16F=y
|
||||
CONFIG_ARCH_Z16=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=1250
|
||||
CONFIG_BUILTIN=y
|
||||
CONFIG_ENDIAN_BIG=y
|
||||
CONFIG_MAX_TASKS=16
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_FILEIOSIZE=512
|
||||
CONFIG_NSH_READLINE=y
|
||||
CONFIG_PREALLOC_TIMERS=4
|
||||
CONFIG_PTHREAD_STACK_DEFAULT=1536
|
||||
CONFIG_RAM_SIZE=65536
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_SDCLONE_DISABLE=y
|
||||
CONFIG_START_YEAR=2014
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=1536
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART1_BAUD=57600
|
||||
CONFIG_USER_ENTRYPOINT="nsh_main"
|
||||
@@ -0,0 +1,238 @@
|
||||
<project type="Standard" project-type="Standard" configuration="Debug" created-by="{{build_number}}" modified-by="d:5.0.0:11071102" ZDSII="ZDS - ZNEO 5.0.1 (Build 11071201)">
|
||||
<cpu>Z16F2811AL</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">_Z16F2811AL=1,_Z16F_SERIES=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">56</option>
|
||||
<option name="pagewidth" type="integer" change-action="none">80</option>
|
||||
<option name="quiet" type="boolean" change-action="none">true</option>
|
||||
</options>
|
||||
</tool>
|
||||
<tool name="Compiler">
|
||||
<options>
|
||||
<option name="chartype" type="string" change-action="compile">U</option>
|
||||
<option name="define" type="string" change-action="compile">_Z16F2811AL,_Z16F_SERIES</option>
|
||||
<option name="genprintf" 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="model" type="string" change-action="compile">S</option>
|
||||
<option name="modsect" 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="regvar" type="boolean" change-action="compile">true</option>
|
||||
<option name="regvarcache" type="boolean" change-action="none">false</option>
|
||||
<option name="reduceopt" type="boolean" change-action="compile">false</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">Z16F2800100ZCOG</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">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">0</option>
|
||||
<option name="singlevalformat" type="integer" change-action="none">0</option>
|
||||
<option name="usepageerase" type="boolean" change-action="none">false</option>
|
||||
<option name="autoselect" type="boolean" change-action="none">true</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">.</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="boolean" change-action="build">false</option>
|
||||
<option name="eram" type="string" change-action="build">0-0</option>
|
||||
<option name="erom" type="string" change-action="build">0-0</option>
|
||||
<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
|
||||
<option name="fplib" type="string" change-action="build">Dummy</option>
|
||||
<option name="iodata" type="string" change-action="build">0-0</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">.\nsh</option>
|
||||
<option name="padhex" type="boolean" change-action="build">false</option>
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">FFB000-FFBFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-007FFF</option>
|
||||
<option name="sort" type="string" change-action="none">name</option>
|
||||
<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
|
||||
<option name="startuptype" type="string" change-action="build">1</option>
|
||||
<option name="undefisfatal" type="boolean" change-action="none">true</option>
|
||||
<option name="useadddirectives" type="boolean" change-action="build">false</option>
|
||||
<option name="usecrun" type="boolean" change-action="build">true</option>
|
||||
<option name="warnoverlap" type="boolean" change-action="none">false</option>
|
||||
<option name="warnisfatal" type="boolean" change-action="none">false</option>
|
||||
<option name="xref" type="boolean" change-action="none">false</option>
|
||||
</options>
|
||||
</tool>
|
||||
</tools>
|
||||
</configuration>
|
||||
<configuration name="Release" >
|
||||
<tools>
|
||||
<tool name="Assembler">
|
||||
<options>
|
||||
<option name="define" type="string" change-action="assemble">_Z16F2811AL=1,_Z16F_SERIES=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">56</option>
|
||||
<option name="pagewidth" type="integer" change-action="none">80</option>
|
||||
<option name="quiet" type="boolean" change-action="none">true</option>
|
||||
</options>
|
||||
</tool>
|
||||
<tool name="Compiler">
|
||||
<options>
|
||||
<option name="chartype" type="string" change-action="compile">U</option>
|
||||
<option name="define" type="string" change-action="compile">_Z16F2811AL,_Z16F_SERIES</option>
|
||||
<option name="genprintf" 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="model" type="string" change-action="compile">S</option>
|
||||
<option name="modsect" 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="regvar" type="boolean" change-action="compile">true</option>
|
||||
<option name="regvarcache" type="boolean" change-action="none">false</option>
|
||||
<option name="reduceopt" type="boolean" change-action="compile">false</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"></option>
|
||||
<option name="debugtool" type="string" change-action="none">ZPAKII</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">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="usepageerase" type="boolean" change-action="none">false</option>
|
||||
<option name="autoselect" type="boolean" change-action="none">true</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">false</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">.</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="boolean" change-action="build">false</option>
|
||||
<option name="eram" type="string" change-action="build">0-0</option>
|
||||
<option name="erom" type="string" change-action="build">0-0</option>
|
||||
<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
|
||||
<option name="fplib" type="string" change-action="build">Dummy</option>
|
||||
<option name="iodata" type="string" change-action="build">0-0</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">.\nsh</option>
|
||||
<option name="padhex" type="boolean" change-action="build">false</option>
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">FFB000-FFBFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-007FFF</option>
|
||||
<option name="sort" type="string" change-action="none">name</option>
|
||||
<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
|
||||
<option name="startuptype" type="string" change-action="build">1</option>
|
||||
<option name="undefisfatal" type="boolean" change-action="none">true</option>
|
||||
<option name="useadddirectives" type="boolean" change-action="build">false</option>
|
||||
<option name="usecrun" type="boolean" change-action="build">true</option>
|
||||
<option name="warnoverlap" type="boolean" change-action="none">false</option>
|
||||
<option name="warnisfatal" type="boolean" change-action="none">false</option>
|
||||
<option name="xref" type="boolean" change-action="none">false</option>
|
||||
</options>
|
||||
</tool>
|
||||
</tools>
|
||||
</configuration>
|
||||
</configurations>
|
||||
|
||||
<!-- watch information -->
|
||||
<watch-elements>
|
||||
<watch-element expression="0x801d1a" />
|
||||
</watch-elements>
|
||||
|
||||
<!-- breakpoint information -->
|
||||
<breakpoints>
|
||||
</breakpoints>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,39 @@
|
||||
README.txt
|
||||
^^^^^^^^^^
|
||||
|
||||
OSTEST Project
|
||||
--------------
|
||||
|
||||
ostest.zfpproj is a simple ZDS II - ZNEO 5.0.1 project that will allow you
|
||||
to use the ZDS-II debugger. Before using, copy the following files from
|
||||
the toplevel directory:
|
||||
|
||||
nuttx.hex, nuttx.map, nuttx.lod
|
||||
|
||||
to this directory as:
|
||||
|
||||
ostest.hex, ostest.map, ostest.lod
|
||||
|
||||
Loading and Executing Code
|
||||
--------------------------
|
||||
|
||||
1. Copy the files to this directory as described above
|
||||
2. Connect the ZiLOG XTools USB debugger.
|
||||
3. Install the USB driver from the ZDS-II device_drivers directory
|
||||
4. Start ZDS-II and load the ostest.zfpproj project
|
||||
5. In the debug tab, connect to the debugger
|
||||
6. In the debug tab, load code, reset, and go
|
||||
|
||||
Hmmm... it appears that the code does not run if started by a hardware reset.
|
||||
It runs only when started via the debugger. What is up with that?
|
||||
|
||||
Console Output
|
||||
--------------
|
||||
|
||||
OS test results will be provided on the serial console at 57600 8N1 baud.
|
||||
|
||||
STATUS
|
||||
------
|
||||
|
||||
This example works fine when started from ZDS-II. But I have seen problems
|
||||
when starting from a hardware reset.
|
||||
@@ -0,0 +1,35 @@
|
||||
#
|
||||
# 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_ARCH="z16"
|
||||
CONFIG_ARCH_BOARD="z16f2800100zcog"
|
||||
CONFIG_ARCH_BOARD_Z16F2800100ZCOG=y
|
||||
CONFIG_ARCH_CHIP="z16f"
|
||||
CONFIG_ARCH_CHIP_Z16F2811=y
|
||||
CONFIG_ARCH_CHIP_Z16F=y
|
||||
CONFIG_ARCH_Z16=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=1250
|
||||
CONFIG_CONSOLE_SYSLOG=y
|
||||
CONFIG_ENDIAN_BIG=y
|
||||
CONFIG_HOST_WINDOWS=y
|
||||
CONFIG_IDLETHREAD_STACKSIZE=4096
|
||||
CONFIG_MAX_TASKS=16
|
||||
CONFIG_PREALLOC_TIMERS=4
|
||||
CONFIG_PTHREAD_STACK_DEFAULT=4096
|
||||
CONFIG_RAM_SIZE=65536
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SDCLONE_DISABLE=y
|
||||
CONFIG_START_DAY=29
|
||||
CONFIG_START_MONTH=11
|
||||
CONFIG_START_YEAR=2012
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART1_BAUD=57600
|
||||
CONFIG_USERMAIN_STACKSIZE=4096
|
||||
CONFIG_USER_ENTRYPOINT="ostest_main"
|
||||
@@ -0,0 +1,238 @@
|
||||
<project type="Standard" project-type="Standard" configuration="Debug" created-by="{{build_number}}" modified-by="d:5.0.0:11071102" ZDSII="ZDS - ZNEO 5.0.1 (Build 11071201)">
|
||||
<cpu>Z16F2811AL</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">_Z16F2811AL=1,_Z16F_SERIES=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">56</option>
|
||||
<option name="pagewidth" type="integer" change-action="none">80</option>
|
||||
<option name="quiet" type="boolean" change-action="none">true</option>
|
||||
</options>
|
||||
</tool>
|
||||
<tool name="Compiler">
|
||||
<options>
|
||||
<option name="chartype" type="string" change-action="compile">U</option>
|
||||
<option name="define" type="string" change-action="compile">_Z16F2811AL,_Z16F_SERIES</option>
|
||||
<option name="genprintf" 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="model" type="string" change-action="compile">S</option>
|
||||
<option name="modsect" 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="regvar" type="boolean" change-action="compile">true</option>
|
||||
<option name="regvarcache" type="boolean" change-action="none">false</option>
|
||||
<option name="reduceopt" type="boolean" change-action="compile">false</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">Z16F2800100ZCOG</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">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">0</option>
|
||||
<option name="singlevalformat" type="integer" change-action="none">0</option>
|
||||
<option name="usepageerase" type="boolean" change-action="none">false</option>
|
||||
<option name="autoselect" type="boolean" change-action="none">true</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">.</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="boolean" change-action="build">false</option>
|
||||
<option name="eram" type="string" change-action="build">0-0</option>
|
||||
<option name="erom" type="string" change-action="build">0-0</option>
|
||||
<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
|
||||
<option name="fplib" type="string" change-action="build">Dummy</option>
|
||||
<option name="iodata" type="string" change-action="build">0-0</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">.\ostest</option>
|
||||
<option name="padhex" type="boolean" change-action="build">false</option>
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">FFB000-FFBFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-007FFF</option>
|
||||
<option name="sort" type="string" change-action="none">name</option>
|
||||
<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
|
||||
<option name="startuptype" type="string" change-action="build">1</option>
|
||||
<option name="undefisfatal" type="boolean" change-action="none">true</option>
|
||||
<option name="useadddirectives" type="boolean" change-action="build">false</option>
|
||||
<option name="usecrun" type="boolean" change-action="build">true</option>
|
||||
<option name="warnoverlap" type="boolean" change-action="none">false</option>
|
||||
<option name="warnisfatal" type="boolean" change-action="none">false</option>
|
||||
<option name="xref" type="boolean" change-action="none">false</option>
|
||||
</options>
|
||||
</tool>
|
||||
</tools>
|
||||
</configuration>
|
||||
<configuration name="Release" >
|
||||
<tools>
|
||||
<tool name="Assembler">
|
||||
<options>
|
||||
<option name="define" type="string" change-action="assemble">_Z16F2811AL=1,_Z16F_SERIES=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">56</option>
|
||||
<option name="pagewidth" type="integer" change-action="none">80</option>
|
||||
<option name="quiet" type="boolean" change-action="none">true</option>
|
||||
</options>
|
||||
</tool>
|
||||
<tool name="Compiler">
|
||||
<options>
|
||||
<option name="chartype" type="string" change-action="compile">U</option>
|
||||
<option name="define" type="string" change-action="compile">_Z16F2811AL,_Z16F_SERIES</option>
|
||||
<option name="genprintf" 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="model" type="string" change-action="compile">S</option>
|
||||
<option name="modsect" 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="regvar" type="boolean" change-action="compile">true</option>
|
||||
<option name="regvarcache" type="boolean" change-action="none">false</option>
|
||||
<option name="reduceopt" type="boolean" change-action="compile">false</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"></option>
|
||||
<option name="debugtool" type="string" change-action="none">ZPAKII</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">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="usepageerase" type="boolean" change-action="none">false</option>
|
||||
<option name="autoselect" type="boolean" change-action="none">true</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">false</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">.</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="boolean" change-action="build">false</option>
|
||||
<option name="eram" type="string" change-action="build">0-0</option>
|
||||
<option name="erom" type="string" change-action="build">0-0</option>
|
||||
<option name="exeform" type="string" change-action="build">OMF695,INTEL32</option>
|
||||
<option name="fplib" type="string" change-action="build">Dummy</option>
|
||||
<option name="iodata" type="string" change-action="build">0-0</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">.\ostest</option>
|
||||
<option name="padhex" type="boolean" change-action="build">false</option>
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">FFB000-FFBFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-007FFF</option>
|
||||
<option name="sort" type="string" change-action="none">name</option>
|
||||
<option name="startuplnkcmds" type="boolean" change-action="build">true</option>
|
||||
<option name="startuptype" type="string" change-action="build">1</option>
|
||||
<option name="undefisfatal" type="boolean" change-action="none">true</option>
|
||||
<option name="useadddirectives" type="boolean" change-action="build">false</option>
|
||||
<option name="usecrun" type="boolean" change-action="build">true</option>
|
||||
<option name="warnoverlap" type="boolean" change-action="none">false</option>
|
||||
<option name="warnisfatal" type="boolean" change-action="none">false</option>
|
||||
<option name="xref" type="boolean" change-action="none">false</option>
|
||||
</options>
|
||||
</tool>
|
||||
</tools>
|
||||
</configuration>
|
||||
</configurations>
|
||||
|
||||
<!-- watch information -->
|
||||
<watch-elements>
|
||||
<watch-element expression="0x801d1a" />
|
||||
</watch-elements>
|
||||
|
||||
<!-- breakpoint information -->
|
||||
<breakpoints>
|
||||
</breakpoints>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,112 @@
|
||||
/****************************************************************************
|
||||
* boards/z16/z16f/z16f2800100zcog/include/board.h
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __BOARDS_Z16_Z16F2811_Z16F2800100ZCOG_INCLUDE_BOARD_H
|
||||
#define __BOARDS_Z16_Z16F2811_Z16F2800100ZCOG_INCLUDE_BOARD_H
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* The Z16F2800100ZCOG board has a 20MHz crystal. The ZNEO clocking will be
|
||||
* configured to use this crystal frequency directly as the clock source
|
||||
*/
|
||||
|
||||
#define BOARD_XTAL_FREQUENCY 20000000 /* 20MHz */
|
||||
#define BOARD_CLKSRC 1 /* Clock source = external crystal */
|
||||
#define BOARD_SYSTEM_FREQUENCY BOARD_XTAL_FREQUENCY
|
||||
|
||||
/* Flash option bits
|
||||
*
|
||||
* "Each time the option bits are programmed or erased, the device must be
|
||||
* Reset for the change to take place. During any reset operation .., the
|
||||
* option bits are automatically read from the Program memory and written
|
||||
* to Option Configuration registers. ... Option Bit Control Register are
|
||||
* loaded before the device exits Reset and the ZNEO CPU begins code
|
||||
* execution. The Option Configuration registers are not part of the
|
||||
* Register file and are not accessible for read or write access."
|
||||
*/
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
# define BOARD_FLOPTION0 (Z16F_FLOPTION0_MAXPWR | Z16F_FLOPTION0_WDTRES | \
|
||||
Z16F_FLOPTION0_WDTA0 | Z16F_FLOPTION0_VBOA0 | \
|
||||
Z16F_FLOPTION0_DBGUART | Z16F_FLOPTION0_FWP | \
|
||||
Z16F_FLOPTION0_RP)
|
||||
|
||||
# define BOARD_FLOPTION1 (Z16F_FLOPTION1_RESVD | Z16F_FLOPTION1_MCEN | \
|
||||
Z16F_FLOPTION1_OFFH | Z16F_FLOPTION1_OFFL)
|
||||
|
||||
# define BOARD_FLOPTION2 Z16F_FLOPTION2_RESVD
|
||||
|
||||
# define BOARD_FLOPTION3 (Z16F_FLOPTION3_RESVD | Z16F_FLOPTION3_NORMAL | \
|
||||
Z16F_FLOPTION3_ROMLESS)
|
||||
|
||||
/* The same settings, pre-digested for assembly language */
|
||||
|
||||
#else
|
||||
# define BOARD_FLOPTION0 %ff
|
||||
# define BOARD_FLOPTION1 %ff
|
||||
# define BOARD_FLOPTION2 %ff
|
||||
# define BOARD_FLOPTION3 %ff
|
||||
#endif
|
||||
|
||||
/* LED pattern definitions
|
||||
*
|
||||
* The z16f2800100zcog board has four LEDs:
|
||||
*
|
||||
* - Green LED D1 which illuminates in the presence of Vcc
|
||||
* - Red LED D2 connected to chip port PA0_T0IN
|
||||
* - Yellow LED D3 connected to chip port PA1_T0OUT
|
||||
* - Green LED D4 connected to chip port PA2_DE0
|
||||
*/
|
||||
|
||||
#define LED_STARTED 0
|
||||
#define LED_HEAPALLOCATE 1
|
||||
#define LED_IRQSENABLED 2
|
||||
#define LED_STACKCREATED 3
|
||||
#define LED_IDLE 4
|
||||
#define LED_INIRQ 5
|
||||
#define LED_SIGNAL 6
|
||||
#define LED_ASSERTION 7
|
||||
#define LED_PANIC 8
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#undef EXTERN
|
||||
#if defined(__cplusplus)
|
||||
#define EXTERN extern "C"
|
||||
extern "C"
|
||||
{
|
||||
#else
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
#undef EXTERN
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BOARDS_Z16_Z16F2811_Z16F2800100ZCOG_INCLUDE_BOARD_H */
|
||||
@@ -0,0 +1,69 @@
|
||||
############################################################################
|
||||
# boards/z16/z16f/z16f2800100zcog/scripts/Make.defs
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include $(TOPDIR)/.config
|
||||
include $(TOPDIR)/tools/Config.mk
|
||||
include $(TOPDIR)/arch/z16/src/z16f/Toolchain.defs
|
||||
include $(TOPDIR)/tools/zds/Config.mk
|
||||
|
||||
# CFLAGS
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
else
|
||||
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
|
||||
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
endif
|
||||
|
||||
# Assembler definitions
|
||||
|
||||
ARCHASMCPUFLAGS = -cpu:Z16F2811AL -NOigcase
|
||||
ARCHASMLIST = -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
|
||||
ARCHASMWARNINGS = -warn
|
||||
ARCHASMDEFINES = -define:_Z16F2811AL=1 -define:_Z16K_SERIES=1 -define:_Z16F_SERIES=1 -define:__ASSEMBLY__
|
||||
AFLAGS := $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
|
||||
|
||||
# Compiler definitions
|
||||
|
||||
ARCHCPUFLAGS = -chartype:S -model:L -NOmodsect -cpu:Z16F2811AL -NOgenprint \
|
||||
-asmsw:" $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
|
||||
ARCHLIST = -keeplst -NOlist -NOlistinc -NOkeepasm
|
||||
ARCHWARNINGS = -warn
|
||||
ARCHDEFINES = -define:_Z16F2811AL -define:_Z16K_SERIES -define:_Z16F_SERIES
|
||||
ARCHINCLUDES = $(ARCHSTDINCLUDES)
|
||||
CFLAGS := $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS)
|
||||
|
||||
CPPDEFINES = -D_Z16F2811AL -D_Z16K_SERIES -D_Z16F_SERIES -D__ASSEMBLY__
|
||||
CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
|
||||
CPPFLAGS := $(CPPDEFINES) $(CPPINCLUDES)
|
||||
|
||||
# Librarian definitions
|
||||
|
||||
ARFLAGS = -quiet -warn
|
||||
|
||||
# Linker definitions
|
||||
|
||||
LDSCRIPT = z16f2800100zcog.linkcmd
|
||||
LINKCMDTEMPLATE = $(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)
|
||||
|
||||
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
/****************************************************************************/
|
||||
/* boards/z16/z16f/z16f2800100zcog/scripts/z16f2800100zcog.linkcmd */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
-FORMAT=OMF695,INTEL32
|
||||
-map -maxhexlen=64 -quiet -sort NAME=ascending -unresolved=fatal
|
||||
-warnoverlap -NOxref -warn -debug -NOigcase
|
||||
|
||||
RANGE ROM $000000 : $007FFF
|
||||
RANGE RAM $FFB000 : $FFBFFF
|
||||
RANGE IODATA $FFC000 : $FFFFFF
|
||||
RANGE EROM $008000 : $01FFFF
|
||||
RANGE ERAM $800000 : $87FFFF
|
||||
|
||||
CHANGE NEAR_TEXT=NEAR_DATA
|
||||
CHANGE FAR_TEXT=FAR_DATA
|
||||
|
||||
ORDER FAR_BSS, FAR_DATA
|
||||
ORDER NEAR_BSS, NEAR_DATA
|
||||
COPY NEAR_DATA EROM
|
||||
COPY FAR_DATA EROM
|
||||
|
||||
define _0_exit = 0
|
||||
define _low_near_romdata = copy base of NEAR_DATA
|
||||
define _low_neardata = base of NEAR_DATA
|
||||
define _len_neardata = length of NEAR_DATA
|
||||
define _low_far_romdata = copy base of FAR_DATA
|
||||
define _low_fardata = base of FAR_DATA
|
||||
define _len_fardata = length of FAR_DATA
|
||||
define _low_nearbss = base of NEAR_BSS
|
||||
define _len_nearbss = length of NEAR_BSS
|
||||
define _low_farbss = base of FAR_BSS
|
||||
define _len_farbss = length of FAR_BSS
|
||||
define _near_heaptop = highaddr of RAM
|
||||
define _far_heaptop = highaddr of ERAM
|
||||
define _far_stack = highaddr of ERAM
|
||||
define _near_stack = highaddr of RAM
|
||||
define _near_heapbot = top of RAM
|
||||
define _far_heapbot = top of ERAM
|
||||
|
||||
define _SYS_CLK_SRC = 1
|
||||
define _SYS_CLK_FREQ = 20000000
|
||||
|
||||
define __EXTCT_INIT_PARAM = $80
|
||||
define __EXTCS0_INIT_PARAM = $8012
|
||||
define __EXTCS1_INIT_PARAM = $8001
|
||||
define __EXTCS2_INIT_PARAM = $0000
|
||||
define __EXTCS3_INIT_PARAM = $0000
|
||||
define __EXTCS4_INIT_PARAM = $0000
|
||||
define __EXTCS5_INIT_PARAM = $0000
|
||||
|
||||
define __PFAF_INIT_PARAM = $ff
|
||||
define __PGAF_INIT_PARAM = $ff
|
||||
define __PDAF_INIT_PARAM = $ff00
|
||||
define __PAAF_INIT_PARAM = $0000
|
||||
define __PCAF_INIT_PARAM = $0000
|
||||
define __PHAF_INIT_PARAM = $0300
|
||||
define __PKAF_INIT_PARAM = $0f
|
||||
|
||||
/* arch/z16/src/Makefile will append target, object and library paths below */
|
||||
@@ -0,0 +1,29 @@
|
||||
############################################################################
|
||||
# boards/z16/z16f/z16f2800100zcog/src/Makefile
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include $(TOPDIR)/Make.defs
|
||||
|
||||
CSRCS = z16f_boot.c z16f_leds.c
|
||||
|
||||
ifeq ($(CONFIG_LIB_BOARDCTL),y)
|
||||
CSRCS += z16f_appinit.c
|
||||
endif
|
||||
|
||||
include $(TOPDIR)/boards/Board.mk
|
||||
@@ -0,0 +1,71 @@
|
||||
/****************************************************************************
|
||||
* boards/z16/z16f/z16f2800100zcog/src/z16f_appinit.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 <stdint.h>
|
||||
|
||||
#include <nuttx/board.h>
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef OK
|
||||
# define OK 0
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_app_initialize
|
||||
*
|
||||
* Description:
|
||||
* Perform application specific initialization. This function is never
|
||||
* called directly from application code, but only indirectly via the
|
||||
* (non-standard) boardctl() interface using the command BOARDIOC_INIT.
|
||||
*
|
||||
* Input Parameters:
|
||||
* arg - The boardctl() argument is passed to the board_app_initialize()
|
||||
* implementation without modification. The argument has no
|
||||
* meaning to NuttX; the meaning of the argument is a contract
|
||||
* between the board-specific initialization logic and the
|
||||
* matching application logic. The value could be such things as a
|
||||
* mode enumeration value, a set of DIP switch switch settings, a
|
||||
* pointer to configuration data read from a file or serial FLASH,
|
||||
* or whatever you would like to do with it. Every implementation
|
||||
* should accept zero/NULL as a default configuration.
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) is returned on success; a negated errno value is returned on
|
||||
* any failure to indicate the nature of the failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_app_initialize(uintptr_t arg)
|
||||
{
|
||||
return OK;
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
/****************************************************************************
|
||||
* boards/z16/z16f/z16f2800100zcog/src/z16f_boot.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 "chip.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: z16f_gpioinit
|
||||
*
|
||||
* Description:
|
||||
* Configure board-specific GPIO usage here. Driver pin configurations
|
||||
* are set in the associated device drivers (such as UART, SPI, I2C,
|
||||
* etc.) and must be preserved.
|
||||
*
|
||||
* Based upon sample code included with the Zilog ZDS-II toolchain.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
static void z16f_gpioinit(void)
|
||||
{
|
||||
/* Configure LEDs and Run/Stop switch port */
|
||||
|
||||
putreg8(getreg8(Z16F_GPIOA_DD) | 0x87, Z16F_GPIOA_DD);
|
||||
putreg8(getreg8(Z16F_GPIOA_OUT) | 0x07, Z16F_GPIOA_OUT);
|
||||
putreg8(getreg8(Z16F_GPIOA_DD) & 0xf8, Z16F_GPIOA_DD);
|
||||
|
||||
/* Configure rate switch port */
|
||||
|
||||
putreg8(getreg8(Z16F_GPIOB_DD) | 0x20, Z16F_GPIOB_DD);
|
||||
putreg8(getreg8(Z16F_GPIOB_AFL) | 0x20, Z16F_GPIOB_AFL);
|
||||
|
||||
#if 0 /* Not yet */
|
||||
putreg8(0x05, Z16F_ADC0_MAX);
|
||||
putreg8(0xf5, Z16F_ADC0_CTL);
|
||||
#endif
|
||||
|
||||
/* Configure Direction switch port */
|
||||
|
||||
putreg8(getreg8(Z16F_GPIOC_DD) | 0x01, Z16F_GPIOC_DD);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: z16f_board_initialize
|
||||
*
|
||||
* Description:
|
||||
* All Z16 architectures must provide the following entry point. This
|
||||
* entry point is called early in the initialization -- after all memory
|
||||
* has been configured but before any devices have been initialized.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void z16f_board_initialize(void)
|
||||
{
|
||||
z16f_gpioinit();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_late_initialize
|
||||
*
|
||||
* Description:
|
||||
* If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
|
||||
* initialization call will be performed in the boot-up sequence to a
|
||||
* function called board_late_initialize(). board_late_initialize() will
|
||||
* be called immediately after up_initialize() is called and just before
|
||||
* the initial application is started. This additional initialization
|
||||
* phase may be used, for example, to initialize board-specific device
|
||||
* drivers.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_BOARD_LATE_INITIALIZE
|
||||
void board_late_initialize(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
/****************************************************************************
|
||||
* boards/z16/z16f/z16f2800100zcog/src/z16f_leds.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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* The z16f2800100zcog board has four LEDs:
|
||||
*
|
||||
* - Green LED D1 which illuminates in the presence of Vcc
|
||||
* - Red LED D2 connected to chip port PA0_T0IN
|
||||
* - Yellow LED D3 connected to chip port PA1_T0OUT
|
||||
* - Green LED D4 connected to chip port PA2_DE0
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "z16_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_autoled_initialize
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_ARCH_LEDS
|
||||
void board_autoled_initialize(void)
|
||||
{
|
||||
/* The following is performed z16f_board_initialize() as well */
|
||||
|
||||
putreg8(getreg8(Z16F_GPIOA_OUT) | 0x07, Z16F_GPIOA_OUT);
|
||||
putreg8(getreg8(Z16F_GPIOA_DD) & 0xf8, Z16F_GPIOA_DD);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_autoled_on
|
||||
****************************************************************************/
|
||||
|
||||
void board_autoled_on(int led)
|
||||
{
|
||||
if ((unsigned)led <= 7)
|
||||
{
|
||||
putreg8(((getreg8(Z16F_GPIOA_OUT) & 0xf8) | led), Z16F_GPIOA_OUT);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_autoled_off
|
||||
****************************************************************************/
|
||||
|
||||
void board_autoled_off(int led)
|
||||
{
|
||||
if (led >= 1)
|
||||
{
|
||||
board_autoled_on(led - 1);
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_ARCH_LEDS */
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
############################################################################
|
||||
# boards/z16/z16f/z16f2800100zcog/tools/dopatch.sh
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
USAGE="${0} [-R] \$PWD"
|
||||
WD=`pwd`
|
||||
TOOLDIR=${WD}/boards/z16f2800100zcog/tools
|
||||
ME=${TOOLDIR}/dopatch.sh
|
||||
PATCH=${TOOLDIR}/zneo-zdsii-5_0_1-variadic-func-fix.patch
|
||||
ARGS=${1}
|
||||
|
||||
if [ ! -x ${ME} ]; then
|
||||
echo "ERROR: This script must be executed from the top-level NuttX directory"
|
||||
echo ${USAGE}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -r ${PATCH} ]; then
|
||||
echo "ERROR: Readable patch not found at ${PATCH}"
|
||||
echo ${USAGE}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd .. || \
|
||||
{ echo "ERROR: failed to CD to the parent directory"; exit 1; }
|
||||
|
||||
cat ${PATCH} | patch ${ARGS} -p1 || \
|
||||
{ echo "ERROR: patch failed" ; exit 1; }
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
diff --git a/apps/nshlib/nsh_console.c b/apps/nshlib/nsh_console.c
|
||||
index ba7dbe7..45e4ab1 100644
|
||||
--- a/apps/nshlib/nsh_console.c
|
||||
+++ b/apps/nshlib/nsh_console.c
|
||||
@@ -46,6 +46,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
+#include <stdarg.h>
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <debug.h>
|
||||
@@ -79,7 +80,12 @@ static FAR struct nsh_vtbl_s *nsh_consoleclone(FAR struct nsh_vtbl_s *vtbl);
|
||||
static void nsh_consolerelease(FAR struct nsh_vtbl_s *vtbl);
|
||||
static ssize_t nsh_consolewrite(FAR struct nsh_vtbl_s *vtbl,
|
||||
FAR const void *buffer, size_t nbytes);
|
||||
+#if 0
|
||||
static int nsh_consoleoutput(FAR struct nsh_vtbl_s *vtbl,
|
||||
FAR const char *fmt, ...);
|
||||
+#else
|
||||
+static int nsh_consolevoutput(FAR struct nsh_vtbl_s *vtbl,
|
||||
+ FAR const char *fmt, va_list ap);
|
||||
+#endif
|
||||
static FAR char *nsh_consolelinebuffer(FAR struct nsh_vtbl_s *vtbl);
|
||||
|
||||
@@ -213,6 +219,7 @@ static ssize_t nsh_consolewrite(FAR struct nsh_vtbl_s *vtbl, FAR const void *buf
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
+#if 0
|
||||
static int nsh_consoleoutput(FAR struct nsh_vtbl_s *vtbl,
|
||||
FAR const char *fmt, ...)
|
||||
{
|
||||
@@ -263,6 +270,29 @@ static int nsh_consoleoutput(FAR struct nsh_vtbl_s *vtbl,
|
||||
#endif
|
||||
}
|
||||
|
||||
+#else
|
||||
+static int nsh_consolevoutput(FAR struct nsh_vtbl_s *vtbl, FAR const char *fmt, va_list ap)
|
||||
+{
|
||||
+ FAR struct console_stdio_s *pstate = (FAR struct console_stdio_s *)vtbl;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* The stream is open in a lazy fashion. This is done because the file
|
||||
+ * descriptor may be opened on a different task than the stream. The
|
||||
+ * actual open will then occur with the first output from the new task.
|
||||
+ */
|
||||
+
|
||||
+ if (nsh_openifnotopen(pstate) != 0)
|
||||
+ {
|
||||
+ return ERROR;
|
||||
+ }
|
||||
+
|
||||
+ ret = vfprintf(pstate->cn_outstream, fmt, ap);
|
||||
+
|
||||
+ return ret;
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/****************************************************************************
|
||||
* Name: nsh_consolelinebuffer
|
||||
*
|
||||
@@ -452,7 +504,11 @@ FAR struct console_stdio_s *nsh_newconsole(void)
|
||||
pstate->cn_vtbl.release = nsh_consolerelease;
|
||||
#endif
|
||||
pstate->cn_vtbl.write = nsh_consolewrite;
|
||||
+#if 0
|
||||
pstate->cn_vtbl.output = nsh_consoleoutput;
|
||||
+#else
|
||||
+ pstate->cn_vtbl.voutput = nsh_consolevoutput;
|
||||
+#endif
|
||||
pstate->cn_vtbl.linebuffer = nsh_consolelinebuffer;
|
||||
pstate->cn_vtbl.exit = nsh_consoleexit;
|
||||
|
||||
@@ -489,3 +545,15 @@ FAR struct console_stdio_s *nsh_newconsole(void)
|
||||
}
|
||||
return pstate;
|
||||
}
|
||||
+
|
||||
+int nsh_output(FAR struct nsh_vtbl_s *vtbl, FAR const char *fmt, ...)
|
||||
+{
|
||||
+ va_list ap;
|
||||
+ int ret;
|
||||
+
|
||||
+ va_start(ap, fmt);
|
||||
+ ret = vtbl->voutput(vtbl, fmt, ap);
|
||||
+ va_end(ap);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
diff --git a/apps/nshlib/nsh_console.h b/apps/nshlib/nsh_console.h
|
||||
index c78362f..207f9b9 100644
|
||||
--- a/apps/nshlib/nsh_console.h
|
||||
+++ b/apps/nshlib/nsh_console.h
|
||||
@@ -47,6 +47,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
+#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
|
||||
/****************************************************************************
|
||||
@@ -62,11 +63,13 @@
|
||||
#define nsh_undirect(v,s) (v)->undirect(v,s)
|
||||
#define nsh_exit(v,s) (v)->exit(v,s)
|
||||
|
||||
+#if 0
|
||||
#ifdef CONFIG_CPP_HAVE_VARARGS
|
||||
# define nsh_output(v, ...) (v)->output(v, ##__VA_ARGS__)
|
||||
#else
|
||||
# define nsh_output vtbl->output
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
/* Size of info to be saved in call to nsh_redirect */
|
||||
|
||||
@@ -107,6 +110,10 @@ struct nsh_vtbl_s
|
||||
void (*release)(FAR struct nsh_vtbl_s *vtbl);
|
||||
#endif
|
||||
ssize_t (*write)(FAR struct nsh_vtbl_s *vtbl, FAR const void *buffer, size_t nbytes);
|
||||
+#if 0
|
||||
int (*output)(FAR struct nsh_vtbl_s *vtbl, FAR const char *fmt, ...);
|
||||
+#else
|
||||
+ int (*voutput)(FAR struct nsh_vtbl_s *vtbl, FAR const char *fmt, va_list ap);
|
||||
+#endif
|
||||
FAR char *(*linebuffer)(FAR struct nsh_vtbl_s *vtbl);
|
||||
void (*redirect)(FAR struct nsh_vtbl_s *vtbl, int fd, FAR uint8_t *save);
|
||||
@@ -159,5 +166,6 @@ struct console_stdio_s
|
||||
/* Defined in nsh_console.c *************************************************/
|
||||
|
||||
FAR struct console_stdio_s *nsh_newconsole(void);
|
||||
+int nsh_output(FAR struct nsh_vtbl_s *vtbl, FAR const char *fmt, ...);
|
||||
|
||||
#endif /* __APPS_NSHLIB_NSH_CONSOLE_H */
|
||||
Reference in New Issue
Block a user