mirror of
https://github.com/apache/nuttx.git
synced 2026-05-23 14:58:13 +08:00
configs/16z: Add support for 16z board
This commit is contained in:
@@ -6492,4 +6492,8 @@
|
||||
* Several network related files: Changes from Max Holtzberg to improve
|
||||
how network status is reported. New controls to manage carrier
|
||||
detect. (2014-1-21).
|
||||
* configs/16z: Add basic support for the 16z board. The 16z board is
|
||||
based on the ZiLOG ZNEOZ16F2811AL20EG part. See
|
||||
https://github.com/toyaga/16z (2014-1-22)
|
||||
|
||||
for further information.
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
| |- audio/
|
||||
| | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/audio/README.txt"><b><i>README.txt</i></b></a>
|
||||
| |- configs/
|
||||
| | |- 16z/
|
||||
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/16z/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- amber/
|
||||
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/amber/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- arduino-due/
|
||||
|
||||
@@ -995,6 +995,8 @@ nuttx
|
||||
|- audio/
|
||||
| `-README.txt
|
||||
|- configs/
|
||||
| |- 16z/
|
||||
| | `- README.txt
|
||||
| |- amber/
|
||||
| | `- README.txt
|
||||
| |- arduino-due/
|
||||
|
||||
@@ -9,12 +9,12 @@ comment "Z16F Configuration Options"
|
||||
# UART0/1 always enabled
|
||||
|
||||
config Z16F_UART0
|
||||
bool
|
||||
bool "UART0"
|
||||
default y
|
||||
select ARCH_HAVE_UART0
|
||||
|
||||
config Z16F_UART1
|
||||
bool
|
||||
bool "UART1"
|
||||
default y
|
||||
select ARCH_HAVE_UART1
|
||||
|
||||
|
||||
@@ -226,6 +226,22 @@
|
||||
#define Z16F_SYSEXCP_PRIOSC Z16F_SYSEXCPL_PRIOSC
|
||||
#define Z16F_SYSEXCP_WDT Z16F_SYSEXCPL_WDT
|
||||
|
||||
/* External memory interface ********************************************************/
|
||||
|
||||
#define Z16F_EXTCT _HX32(ffffe070) /* External Interface Control */
|
||||
#define Z16F_EXTCS0H _HX32(ffffe072) /* Chip Select 0 Control High */
|
||||
#define Z16F_EXTCS0L _HX32(ffffe073) /* Chip Select 0 Control Low */
|
||||
#define Z16F_EXTCS1H _HX32(ffffe074) /* Chip Select 1 Control High */
|
||||
#define Z16F_EXTCS1L _HX32(ffffe075) /* Chip Select 1 Control Low */
|
||||
#define Z16F_EXTCS2H _HX32(ffffe076) /* Chip Select 2 Control High */
|
||||
#define Z16F_EXTCS2L _HX32(ffffe077) /* Chip Select 2 Control Low */
|
||||
#define Z16F_EXTCS3H _HX32(ffffe078) /* Chip Select 3 Control High */
|
||||
#define Z16F_EXTCS3L _HX32(ffffe079) /* Chip Select 3 Control Low */
|
||||
#define Z16F_EXTCS4H _HX32(ffffe07a) /* Chip Select 4 Control High */
|
||||
#define Z16F_EXTCS4L _HX32(ffffe07b) /* Chip Select 4 Control Low */
|
||||
#define Z16F_EXTCS5H _HX32(ffffe07c) /* Chip Select 5 Control High */
|
||||
#define Z16F_EXTCS5L _HX32(ffffe07d) /* Chip Select 5 Control Low */
|
||||
|
||||
/* Oscillator control registers *****************************************************/
|
||||
|
||||
#define Z16F_OSC_CTL _HX32(ffffe0A0) /* 8-bit: Oscillator Control */
|
||||
|
||||
@@ -44,6 +44,22 @@
|
||||
|
||||
#ifdef USE_LOWUARTINIT
|
||||
|
||||
/*************************************************************************
|
||||
* Pre-processor Definitions
|
||||
*************************************************************************/
|
||||
|
||||
#ifndef CONFIG_Z16F_UART0
|
||||
# undef CONFIG_UART0_SERIAL_CONSOLE
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_Z16F_UART1
|
||||
# undef CONFIG_UART1_SERIAL_CONSOLE
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_UART0_SERIAL_CONSOLE) || defined(CONFIG_UART1_SERIAL_CONSOLE)
|
||||
# define HAVE_Z16F_SERIAL_CONSOLE
|
||||
#endif
|
||||
|
||||
/*************************************************************************
|
||||
* External References / External Definitions
|
||||
*************************************************************************/
|
||||
@@ -80,47 +96,54 @@
|
||||
*************************************************************************/
|
||||
|
||||
_z16f_lowuartinit:
|
||||
|
||||
#ifdef HAVE_Z16F_SERIAL_CONSOLE
|
||||
/* Calculate and set the baud rate generation register */
|
||||
|
||||
#ifdef CONFIG_UART1_SERIAL_CONSOLE
|
||||
ld r3, #CONFIG_UART1_BAUD /* r3 = Selected UART1 baud */
|
||||
ld r3, #CONFIG_UART1_BAUD /* r3 = Selected UART1 baud */
|
||||
#else
|
||||
ld r3, #CONFIG_UART0_BAUD /* r3 = Selected UART0 (default) baud */
|
||||
ld r3, #CONFIG_UART0_BAUD /* r3 = Selected UART0 (default) baud */
|
||||
#endif
|
||||
ld r0, r3 /* r0 = baud */
|
||||
sll r0, #3 /* r0 = baud * 8 */
|
||||
add r0, #_SYS_CLK_FREQ /* r3 = freq + baud * 8 */
|
||||
sll r3, #4 /* r3 = baud * 16 */
|
||||
udiv r0, r3 /* BRG = (freq + baud * 8)/(baud * 16) */
|
||||
ld r0, r3 /* r0 = baud */
|
||||
sll r0, #3 /* r0 = baud * 8 */
|
||||
add r0, #_SYS_CLK_FREQ /* r3 = freq + baud * 8 */
|
||||
sll r3, #4 /* r3 = baud * 16 */
|
||||
udiv r0, r3 /* BRG = (freq + baud * 8)/(baud * 16) */
|
||||
|
||||
#ifdef CONFIG_UART1_SERIAL_CONSOLE
|
||||
ld.w Z16F_UART1_BR, r0 /* Z16F_UART1_BR = BRG */
|
||||
|
||||
/* Set the GPIO Alternate Function Register Lo (AFL) register */
|
||||
|
||||
ld r0, #%30
|
||||
or.b Z16F_GPIOD_AFL, r0 /* Z16F_GPIOD_AFL |= %30 */
|
||||
ld r0, #%30
|
||||
or.b Z16F_GPIOD_AFL, r0 /* Z16F_GPIOD_AFL |= %30 */
|
||||
|
||||
/* Enable UART receive (REN) and transmit (TEN) */
|
||||
|
||||
clr.b Z16F_UART1_CTL1 /* Z16F_UART1_CTL1 = 0 */
|
||||
ld r0, #(Z16F_UARTCTL0_TEN|Z16F_UARTCTL0_REN)
|
||||
ld.b Z16F_UART1_CTL0, r0 /* Z16F_UART1_CTL0 = %c0 */
|
||||
clr.b Z16F_UART1_CTL1 /* Z16F_UART1_CTL1 = 0 */
|
||||
ld r0, #(Z16F_UARTCTL0_TEN|Z16F_UARTCTL0_REN)
|
||||
ld.b Z16F_UART1_CTL0, r0 /* Z16F_UART1_CTL0 = %c0 */
|
||||
|
||||
#else
|
||||
ld.w Z16F_UART0_BR, r0 /* Z16F_UART0_BR = BRG */
|
||||
ld.w Z16F_UART0_BR, r0 /* Z16F_UART0_BR = BRG */
|
||||
|
||||
/* Set the GPIO Alternate Function Register Lo (AFL) register */
|
||||
|
||||
ld r0, #%30
|
||||
or.b Z16F_GPIOA_AFL, r0 /* Z16F_GPIOA_AFL |= %30 */
|
||||
ld r0, #%30
|
||||
or.b Z16F_GPIOA_AFL, r0 /* Z16F_GPIOA_AFL |= %30 */
|
||||
|
||||
/* Enable UART receive (REN) and transmit (TEN) */
|
||||
|
||||
clr.b Z16F_UART0_CTL1 /* Z16F_UART0_CTL1 = 0 */
|
||||
ld r0, #(Z16F_UARTCTL0_TEN|Z16F_UARTCTL0_REN)
|
||||
ld.b Z16F_UART0_CTL0, r0 /* Z16F_UART0_CTL0 = %c0 */
|
||||
clr.b Z16F_UART0_CTL1 /* Z16F_UART0_CTL1 = 0 */
|
||||
ld r0, #(Z16F_UARTCTL0_TEN|Z16F_UARTCTL0_REN)
|
||||
ld.b Z16F_UART0_CTL0, r0 /* Z16F_UART0_CTL0 = %c0 */
|
||||
|
||||
#endif
|
||||
ret /* Return */
|
||||
#endif /* HAVE_Z16F_SERIAL_CONSOLE */
|
||||
|
||||
ret /* Return */
|
||||
|
||||
#endif /* USE_LOWUARTINIT */
|
||||
|
||||
/*************************************************************************
|
||||
@@ -141,18 +164,21 @@ _z16f_lowuartinit:
|
||||
|
||||
#ifdef CONFIG_Z16_LOWPUTC
|
||||
_up_lowputc:
|
||||
|
||||
#ifdef HAVE_Z16F_SERIAL_CONSOLE
|
||||
/* Check if the character to output is a linefeed */
|
||||
|
||||
ext.ub r0, r1 /* r0=Character masked to 8-bits */
|
||||
cp r0, #10 /* Is it a linefeed ('\n') */
|
||||
jp ne, _z16f_xmitc /* No? Jump to _z16f_xmitc with character in r1 */
|
||||
ext.ub r0, r1 /* r0=Character masked to 8-bits */
|
||||
cp r0, #10 /* Is it a linefeed ('\n') */
|
||||
jp ne, _z16f_xmitc /* No? Jump to _z16f_xmitc with character in r1 */
|
||||
|
||||
/* Output a carriage return before the linefeed */
|
||||
|
||||
ld r1, #13 /* Output carriage reuturn ('\r') */
|
||||
call _z16f_xmitc /* Call _z16f_xmitc with r1='\r' */
|
||||
ld r1, #10 /* Restore r1=linefeed to output */
|
||||
/* Fall through to _z16f_xmitc with linefeed in r1 */
|
||||
ld r1, #13 /* Output carriage reuturn ('\r') */
|
||||
call _z16f_xmitc /* Call _z16f_xmitc with r1='\r' */
|
||||
ld r1, #10 /* Restore r1=linefeed to output */
|
||||
/* Fall through to _z16f_xmitc with linefeed in r1 */
|
||||
#endif /* HAVE_Z16F_SERIAL_CONSOLE */
|
||||
|
||||
/*************************************************************************
|
||||
* Name: _z16f_xmitc
|
||||
@@ -172,17 +198,24 @@ _up_lowputc:
|
||||
|
||||
_z16f_xmitc:
|
||||
_z16f_xmitc1:
|
||||
ld r0, Z16F_UARTSTAT0_TDRE /* TDRE=Transmitter Data Register Empty */
|
||||
|
||||
#ifdef HAVE_Z16F_SERIAL_CONSOLE
|
||||
ld r0, Z16F_UARTSTAT0_TDRE /* TDRE=Transmitter Data Register Empty */
|
||||
|
||||
#ifdef CONFIG_UART1_SERIAL_CONSOLE
|
||||
tm.b Z16F_UART1_STAT0, r0 /* r0 = Z16F_UART1_STAT0 */
|
||||
jp eq, _z16f_xmitc1 /* While (!(Z16F_UART1_STAT0 & TDRE)) */
|
||||
tm.b Z16F_UART1_STAT0, r0 /* r0 = Z16F_UART1_STAT0 */
|
||||
jp eq, _z16f_xmitc1 /* While (!(Z16F_UART1_STAT0 & TDRE)) */
|
||||
ld.b Z16F_UART1_TXD, r1 /* Z16F_UART1_TXD = r1 (character) */
|
||||
|
||||
#else
|
||||
tm.b Z16F_UART0_STAT0, r0 /* r0 = Z16F_UART0_STAT1 */
|
||||
jp eq, _z16f_xmitc1 /* While (!(Z16F_UART0_STAT0 & TDRE)) */
|
||||
tm.b Z16F_UART0_STAT0, r0 /* r0 = Z16F_UART0_STAT1 */
|
||||
jp eq, _z16f_xmitc1 /* While (!(Z16F_UART0_STAT0 & TDRE)) */
|
||||
ld.b Z16F_UART0_TXD, r1 /* Z16F_UART0_TXD = r1 (character) */
|
||||
|
||||
#endif
|
||||
ret /* Return */
|
||||
#endif /* HAVE_Z16F_SERIAL_CONSOLE */
|
||||
|
||||
ret /* Return */
|
||||
|
||||
#endif /* CONFIG_Z16_LOWPUTC */
|
||||
|
||||
@@ -203,26 +236,35 @@ _z16f_xmitc1:
|
||||
#ifdef CONFIG_Z16_LOWGETC
|
||||
_up_lowgetc:
|
||||
_up_lowgetc1:
|
||||
ld r0, #Z16F_UARTSTAT0_RDA /* RDA=Receive data available */
|
||||
|
||||
#ifdef HAVE_Z16F_SERIAL_CONSOLE
|
||||
ld r0, #Z16F_UARTSTAT0_RDA /* RDA=Receive data available */
|
||||
|
||||
#ifdef CONFIG_UART1_SERIAL_CONSOLE
|
||||
tm.b Z16F_UART1_STAT0, r0
|
||||
jp eq, _up_lowgetc1 /* While (!Z16F_UART1_STAT0 & RDA)) */
|
||||
jp eq, _up_lowgetc1 /* While (!Z16F_UART1_STAT0 & RDA)) */
|
||||
ld.ub r0, Z16F_UART1_RXD /* r0 = Z16F_UART1_RXD */
|
||||
|
||||
#else
|
||||
tm.b Z16F_UART0_STAT0,r0 /* While (!Z16F_UART0_STAT0 & RDA) */
|
||||
jp eq, _up_lowgetc1
|
||||
jp eq, _up_lowgetc1
|
||||
ld.ub r0, Z16F_UART0_RXD /* r0 = Z16F_UART0_RXD */
|
||||
#endif
|
||||
cp r0, #%0d /* Test for '\r' */
|
||||
jp eq, _up_lowgetc2
|
||||
|
||||
cp r0, #%0d /* Test \r + high bit */
|
||||
jp ne, _up_lowgetc3
|
||||
#endif
|
||||
|
||||
cp r0, #%0d /* Test for '\r' */
|
||||
jp eq, _up_lowgetc2
|
||||
|
||||
cp r0, #%0d /* Test \r + high bit */
|
||||
jp ne, _up_lowgetc3
|
||||
|
||||
_up_lowgetc2:
|
||||
ld r0, #%0a /* Convert '\r' to '\n' */
|
||||
_up_lowgetc3: /* Return value in r0 */
|
||||
ret /* Return */
|
||||
ld r0, #%0a /* Convert '\r' to '\n' */
|
||||
|
||||
_up_lowgetc3: /* Return value in r0 */
|
||||
#endif /* HAVE_Z16F_SERIAL_CONSOLE */
|
||||
|
||||
ret /* Return */
|
||||
#endif
|
||||
|
||||
end
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/z16/src/z16f/z16f_serial.c
|
||||
*
|
||||
* Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2008-2009, 2012, 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -129,12 +129,18 @@ static const struct uart_ops_s g_uart_ops =
|
||||
|
||||
/* I/O buffers */
|
||||
|
||||
#ifdef CONFIG_Z16F_UART0
|
||||
static char g_uart0rxbuffer[CONFIG_UART0_RXBUFSIZE];
|
||||
static char g_uart0txbuffer[CONFIG_UART0_TXBUFSIZE];
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_Z16F_UART1
|
||||
static char g_uart1rxbuffer[CONFIG_UART1_RXBUFSIZE];
|
||||
static char g_uart1txbuffer[CONFIG_UART1_TXBUFSIZE];
|
||||
#endif
|
||||
|
||||
/* This describes the state of the DM320 uart0 port. */
|
||||
#ifdef CONFIG_Z16F_UART0
|
||||
/* This describes the state of the ZNEO uart0 port. */
|
||||
|
||||
static struct z16f_uart_s g_uart0priv =
|
||||
{
|
||||
@@ -178,8 +184,10 @@ static uart_dev_t g_uart0port =
|
||||
&g_uart_ops, /* ops */
|
||||
&g_uart0priv, /* priv */
|
||||
};
|
||||
#endif
|
||||
|
||||
/* This describes the state of the DM320 uart1 port. */
|
||||
#ifdef CONFIG_Z16F_UART1
|
||||
/* This describes the state of the ZNEO uart1 port. */
|
||||
|
||||
static struct z16f_uart_s g_uart1priv =
|
||||
{
|
||||
@@ -223,17 +231,47 @@ static uart_dev_t g_uart1port =
|
||||
&g_uart_ops, /* ops */
|
||||
&g_uart1priv, /* priv */
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Now, which one with be tty0/console and which tty1? */
|
||||
|
||||
#ifdef CONFIG_UART1_SERIAL_CONSOLE
|
||||
# define CONSOLE_DEV g_uart1port
|
||||
# define TTYS0_DEV g_uart1port
|
||||
# define TTYS1_DEV g_uart0port
|
||||
#ifndef CONFIG_Z16F_UART0
|
||||
# undef CONFIG_UART0_SERIAL_CONSOLE
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_Z16F_UART1
|
||||
# undef CONFIG_UART1_SERIAL_CONSOLE
|
||||
#endif
|
||||
|
||||
/* First pick the console and ttys0. This could be either of UART0-1 */
|
||||
|
||||
#if defined(CONFIG_UART0_SERIAL_CONSOLE)
|
||||
# define CONSOLE_DEV g_uart0port /* UART0 is console */
|
||||
# define TTYS0_DEV g_uart0port /* UART0 is ttyS0 */
|
||||
# define UART0_ASSIGNED 1
|
||||
#elif defined(CONFIG_UART1_SERIAL_CONSOLE)
|
||||
# define CONSOLE_DEV g_uart1port /* UART1 is console */
|
||||
# define TTYS0_DEV g_uart1port /* UART1 is ttyS0 */
|
||||
# define UART1_ASSIGNED 1
|
||||
#else
|
||||
# define CONSOLE_DEV g_uart0port
|
||||
# define TTYS0_DEV g_uart0port
|
||||
# define TTYS1_DEV g_uart1port
|
||||
# undef CONSOLE_DEV /* No console */
|
||||
# if defined(CONFIG_KINETIS_UART0)
|
||||
# define TTYS0_DEV g_uart0port /* UART0 is ttyS0 */
|
||||
# define UART0_ASSIGNED 1
|
||||
# elif defined(CONFIG_KINETIS_UART1)
|
||||
# define TTYS0_DEV g_uart1port /* UART1 is ttyS0 */
|
||||
# define UART1_ASSIGNED 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Pick ttys1. This could be either of UART0-1 excluding the console UART. */
|
||||
|
||||
#if defined(CONFIG_KINETIS_UART0) && !defined(UART0_ASSIGNED)
|
||||
# define TTYS1_DEV g_uart0port /* UART0 is ttyS1 */
|
||||
# define UART0_ASSIGNED 1
|
||||
#elif defined(CONFIG_KINETIS_UART1) && !defined(UART1_ASSIGNED)
|
||||
# define TTYS1_DEV g_uart1port /* UART1 is ttyS1 */
|
||||
# define UART1_ASSIGNED 1
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
@@ -277,6 +315,7 @@ static void z16f_restoreuartirq(struct uart_dev_s *dev, uint8_t state)
|
||||
* Name: z16f_consoleput
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONSOLE_DEV
|
||||
static void z16f_consoleput(uint8_t ch)
|
||||
{
|
||||
struct z16f_uart_s *priv = (struct z16f_uart_s*)CONSOLE_DEV.priv;
|
||||
@@ -292,6 +331,7 @@ static void z16f_consoleput(uint8_t ch)
|
||||
|
||||
putreg8(ch, priv->uartbase + Z16F_UART_TXD);
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: z16f_setup
|
||||
@@ -434,14 +474,19 @@ static int z16f_rxinterrupt(int irq, void *context)
|
||||
struct z16f_uart_s *priv;
|
||||
uint8_t status;
|
||||
|
||||
#ifdef CONFIG_Z16F_UART1
|
||||
if (g_uart1priv.rxirq == irq)
|
||||
{
|
||||
dev = &g_uart1port;
|
||||
}
|
||||
else if (g_uart0priv.rxirq == irq)
|
||||
else
|
||||
#endif
|
||||
#ifdef CONFIG_Z16F_UART0
|
||||
if (g_uart0priv.rxirq == irq)
|
||||
{
|
||||
dev = &g_uart0port;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
PANIC();
|
||||
@@ -483,14 +528,19 @@ static int z16f_txinterrupt(int irq, void *context)
|
||||
struct z16f_uart_s *priv;
|
||||
uint8_t status;
|
||||
|
||||
#ifdef CONFIG_Z16F_UART1
|
||||
if (g_uart1priv.txirq == irq)
|
||||
{
|
||||
dev = &g_uart1port;
|
||||
}
|
||||
else if (g_uart0priv.txirq == irq)
|
||||
else
|
||||
#endif
|
||||
#ifdef CONFIG_Z16F_UART0
|
||||
if (g_uart0priv.txirq == irq)
|
||||
{
|
||||
dev = &g_uart0port;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
PANIC();
|
||||
@@ -682,11 +732,17 @@ void up_earlyserialinit(void)
|
||||
{
|
||||
/* REVISIT: UART GPIO AFL register is not initialized */
|
||||
|
||||
#ifdef TTYS0_DEV
|
||||
(void)z16f_disableuartirq(&TTYS0_DEV);
|
||||
#endif
|
||||
#ifdef TTYS1_DEV
|
||||
(void)z16f_disableuartirq(&TTYS1_DEV);
|
||||
#endif
|
||||
|
||||
#ifdef CONSOLE_DEV
|
||||
CONSOLE_DEV.isconsole = true;
|
||||
z16f_setup(&CONSOLE_DEV);
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -700,9 +756,15 @@ void up_earlyserialinit(void)
|
||||
|
||||
void up_serialinit(void)
|
||||
{
|
||||
#ifdef CONSOLE_DEV
|
||||
(void)uart_register("/dev/console", &CONSOLE_DEV);
|
||||
#endif
|
||||
#ifdef TTYS0_DEV
|
||||
(void)uart_register("/dev/ttyS0", &TTYS0_DEV);
|
||||
#endif
|
||||
#ifdef TTYS1_DEV
|
||||
(void)uart_register("/dev/ttyS1", &TTYS1_DEV);
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -713,6 +775,7 @@ void up_serialinit(void)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONSOLE_DEV
|
||||
int up_putc(int ch)
|
||||
{
|
||||
uint8_t state;
|
||||
@@ -744,6 +807,7 @@ int up_putc(int ch)
|
||||
z16f_restoreuartirq(&CONSOLE_DEV, state);
|
||||
return ch;
|
||||
}
|
||||
#endif
|
||||
|
||||
#else /* USE_SERIALDRIVER */
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see misc/tools/kconfig-language.txt.
|
||||
#
|
||||
|
||||
if CONFIG_ARCH_BOARD_16Z
|
||||
|
||||
config 16Z_RFTRANSCEIVER
|
||||
bool "RF Transceiver installed"
|
||||
default n
|
||||
---help---
|
||||
Select this option if the on-board RF transceiver is installed
|
||||
|
||||
config 16Z_SERIAL_MEMORY
|
||||
bool "Serial memory"
|
||||
default n
|
||||
---help---
|
||||
Select this option if the on-board serial memory is installed
|
||||
|
||||
endif # CONFIG_ARCH_BOARD_16Z
|
||||
@@ -0,0 +1,426 @@
|
||||
README.txt
|
||||
==========
|
||||
|
||||
This is the README file for the NuttX port to the 16z board. The 16z board
|
||||
is based on the ZiLOG ZNEOZ16F2811AL20EG part. See https://github.com/toyaga/16z
|
||||
for further information.
|
||||
|
||||
Contents
|
||||
========
|
||||
|
||||
- GPIO Configuration
|
||||
- ZDS-II Compiler Versions
|
||||
- Serial Console
|
||||
- LEDs
|
||||
- RAM
|
||||
- Selecting Configurations
|
||||
- Configuration Sub-directories
|
||||
|
||||
GPIO Configuration
|
||||
==================
|
||||
|
||||
--------------------------- ------ --------------------------------------------
|
||||
GPIO SIGNAL On-Board Connections
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PA0/T0IN/T0OUT/DMA0REQ GP8 PS/2 / GPIO, Expansion slots
|
||||
PA1/T0OUT/DMA0ACK GP9 PS/2 / GPIO, Expansion slots
|
||||
PA2/DE0/FAULTY ~INTI Power section, RF transceiver (1)
|
||||
PA3/CTS0/FAULT0 ~INTX Expansion slots
|
||||
PA4/RXD0/CS1 RXD MAX3232D RS-232
|
||||
PA5/TXD0/CS2 TXD MAX3232D RS-232
|
||||
PA6/SCL/CS3 SCL RTC / UID, Expansion slots
|
||||
PA7/SDA/CS4 SDA RTC / UID, Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PB0/ANA0/T0IN0 GP0 Expansion slots
|
||||
PB1/ANA1/T0IN1 GP1 Expansion slots
|
||||
PB2/ANA2/T0IN2 GP2 Expansion slots
|
||||
PB3/ANA3/OPOUT GP3 Expansion slots
|
||||
PB4/ANA4 GP4 Expansion slots
|
||||
PB5/ANA5 GP5 Expansion slots
|
||||
PB6/ANA6/OPINP/CINN GP6 Expansion slots
|
||||
PB7/ANA7/OPINN GP7 Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PC0/T1IN/T1OUT/DMA1REQ/CINN GP10 PS/2 / GPIO, Expansion slots
|
||||
PC1/T1OUT/DMA1ACK/COMPOUT GP11 PS/2 / GPIO, Expansion slots
|
||||
PC2/SS/CS4 ~EXP Expansion slots
|
||||
PC3/SCK/DMA2REQ SCK FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
Expansion slots, SD0, 1, and 2
|
||||
PC4/MOSI/DMA2ACK MOSI FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
Expansion slots, SD0, 1, and 2
|
||||
PC5/MISO/CS5 MISO FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
Expansion slots, SD0, 1, and 2
|
||||
PC6/T2IN/T2OUT/PWMH0 ~CTS MAX3232D RS-232
|
||||
PC7/T2OUT/PWML0 ~RTS MAX3232D RS-232, Power section (?)
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PD0/PWMH1/ADR20 A20 RAM, Expansion slots
|
||||
PD1/PWML1/ADR21 A21 RAM, Expansion slots
|
||||
PD2/PWMH2/ADR22 A22 RAM, Expansion slots
|
||||
PD3/DE1/ADR16 A16 RAM, Expansion slots
|
||||
PD4/RXD1/ADR18 A18 RAM, Expansion slots
|
||||
PD5/TXD1/ADR19 A19 RAM, Expansion slots
|
||||
PD6/CTS1/ADR17 A17 RAM, Expansion slots
|
||||
PD7/PWML2/ADR23 A23 Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PE0/DATA0 D0 RAM, Expansion slots
|
||||
PE1/DATA1 D1 RAM, Expansion slots
|
||||
PE2/DATA2 D2 RAM, Expansion slots
|
||||
PE3/DATA3 D3 RAM, Expansion slots
|
||||
PE4/DATA4 D4 RAM, Expansion slots
|
||||
PE5/DATA5 D5 RAM, Expansion slots
|
||||
PE6/DATA6 D6 RAM, Expansion slots
|
||||
PE7/DATA7 D7 RAM, Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PF0/ADR0 A0 Expansion slots
|
||||
PF1/ADR1 A1 RAM, Expansion slots
|
||||
PF2/ADR2 A2 RAM, Expansion slots
|
||||
PF3/ADR3 A3 RAM, Expansion slots
|
||||
PF4/ADR4 A4 RAM, Expansion slots
|
||||
PF5/ADR5 A5 RAM, Expansion slots
|
||||
PF6/ADR6 A6 RAM, Expansion slots
|
||||
PF7/ADR7 A7 RAM, Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PG0/ADR0 A8 RAM, Expansion slots
|
||||
PG1/ADR0 A9 RAM, Expansion slots
|
||||
PG2/ADR0 A10 RAM, Expansion slots
|
||||
PG3/ADR0 A11 RAM, Expansion slots
|
||||
PG4/ADR0 A12 RAM, Expansion slots
|
||||
PG5/ADR0 A13 RAM, Expansion slots
|
||||
PG6/ADR0 A14 RAM, Expansion slots
|
||||
PG7/ADR0 A15 RAM, Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PH0/ANA8/WR ~WR RAM, Expansion slots
|
||||
PH1/ANA9/RD ~RD RAM, Expansion slots
|
||||
PH2/ANA10/CS0 ~RF LED3, RF transceiver, X2 (1)
|
||||
PH3/ANA11/CINP/WAIT ~SXM LED4, Chip select for the serial memory, U4 (1)
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PJ0/DATA8 ~SD1 LED5, Chip select for the SD card 1, X11.
|
||||
PJ1/DATA9 ~DT1 Card detect for SD card 1
|
||||
PJ2/DATA10 WP1 Write protect for SD card 1
|
||||
PJ3/DATA11 EVE EVE chip select
|
||||
PJ4/DATA12 ~SD2 LED6, Chip select for the SD card 2, X10.
|
||||
PJ5/DATA13 ~DT2 Card detect for SD card 2
|
||||
PJ6/DATA14 WP2 Write protect for SD card 2
|
||||
PJ7/DATA15 ~SD0 LED7, Chip select for the microSD 0, X12.
|
||||
--------------------------- ------ --------------------------------------------
|
||||
PK0/BHEN ~BHE RAM, Expansion slots
|
||||
PK1/BLEN ~BLE RAM, Expansion slots
|
||||
PK2/CS0 ~0000 Bottom RAM bank, Expansion slots
|
||||
PK3/CS1 ~8000 Top RAM bank, Expansion slots
|
||||
PK4/CS2 ~F000 Expansion slots
|
||||
PK5/CS3 ~FFC8 Expansion slots
|
||||
PK6/CS4 ~FFD0 Expansion slots
|
||||
PK7/CS5 ~FFD8 Expansion slots
|
||||
--------------------------- ------ --------------------------------------------
|
||||
|
||||
Note 1: Not populated on my board
|
||||
|
||||
ZDS-II Compiler Versions
|
||||
========================
|
||||
|
||||
Version 5.0.1
|
||||
|
||||
All testing has been performed with ZSD II verion 5.0.1 for the ZNEO.
|
||||
|
||||
Other Versions
|
||||
|
||||
If you use any version of ZDS-II other than 5.0.1 or if you install ZDS-II
|
||||
at any location other than the default location, you will have to modify
|
||||
two files: (1) configs/16z/*/setenv.sh and (2) configs/16z/*/Make.defs.
|
||||
Simply edit these two files, changing 5.0.1 to whatever.
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
The 16z supports a single UART, UART0, that will be used to support the
|
||||
NuttX serial console.
|
||||
|
||||
LEDs
|
||||
====
|
||||
|
||||
The 16z board has 7 LEDs, five of which are controllable via software:
|
||||
|
||||
----- ------ ------ ------------------------------------
|
||||
LED Color Signal Description
|
||||
----- ------ ------ ------------------------------------
|
||||
LED1 Red 3V3 Indicates the presence of +3.3V
|
||||
LED2 Red 5V Indicates the presence of +5V
|
||||
|
||||
LED3 Blue ~RF Controlled via PH2. Notes: 1, 2
|
||||
LED4 Green ~SXM Controlled via PH3. Notes: 1, 3
|
||||
LED5 Green ~SD1 Controlled via PJ0. Notes: 1, 4
|
||||
LED6 Yellow ~SD2 Controlled via PJ4. Notes: 1, 5
|
||||
LED7 Yellow ~SD0 Controlled via PJ7. Notes: 1, 6
|
||||
----- ------ ------ ------------------------------------
|
||||
|
||||
Note 1: Pulled high so a low output illuminates the LED.
|
||||
Note 2: PH2/~RF is also used by the RF transceiver, X2. That part is not
|
||||
populated on my board.
|
||||
Note 3: ~SXM is the chip select for the serial memory, U4. That part is
|
||||
not populated on my board.
|
||||
Note 4: ~SD1 is the chip select for the SD card 1, X11.
|
||||
Note 5: ~SD2 is the chip select for the SD card 2, X10.
|
||||
Note 6: ~SD0 is the chip select for the microSD 0, X12.
|
||||
|
||||
In conclusion: None of the LEDs are available to indicate software status
|
||||
without potentially sacrificing board functionality. If the RF transceiver
|
||||
is not installed (CONFIG_16Z_RFTRANSCEIVER=n) and if LED support is
|
||||
requested (CONFIG_ARCH_LEDS), then LED3 will be used to indicate status: A
|
||||
solid color means that the board has boot successfully; flashing at a rate
|
||||
of approximately 2Hz indicates a software failure.
|
||||
|
||||
RAM
|
||||
===
|
||||
|
||||
The 16z has two IS66WVE4M16BLL 64Mb (4M x 16b) "Pseudo" SRAM parts on board.
|
||||
This provides a total of 16MiB of SRAM from program usage.
|
||||
|
||||
Selecting Configurations
|
||||
========================
|
||||
|
||||
Variations on the basic 16z configuration are maintained in subdirectories.
|
||||
To configure any specific configuration, do the following steps:
|
||||
|
||||
cd <nuttx-top-directory>/tools
|
||||
./configure.sh 16z/<sub-directory>
|
||||
cd <nuttx-top-directory>
|
||||
make
|
||||
|
||||
Where <sub-directory> is the specific board configuration that you wish to
|
||||
build. The following board-specific configurations are available.
|
||||
|
||||
Before entering the make command, make certain that the path to the ZNEO
|
||||
compiler is in you PATH variable. You make modify and use the setenv.sh
|
||||
script to set that PATH if you like. You can simply source setenv.sh
|
||||
before making like:
|
||||
|
||||
...
|
||||
. ./setenv.sh
|
||||
make
|
||||
|
||||
|
||||
Configuration Sub-directories
|
||||
=============================
|
||||
|
||||
source/ and include/
|
||||
--------------------
|
||||
|
||||
These directories contain common logic for all 16z configurations.
|
||||
|
||||
nsh
|
||||
---
|
||||
nsh:
|
||||
This configuration directory will built the NuttShell (NSH). See
|
||||
the NSH user manual in the documents directory (or online at 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
|
||||
and misc/tools/
|
||||
|
||||
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:
|
||||
Currently, NSH failes nsh_consoleoutput(). Here is an example.
|
||||
This echo command causes the system to hang:
|
||||
|
||||
nsh> echo abc
|
||||
|
||||
Below is some annotated output from the debugger. Here is the 30,000 ft view:
|
||||
|
||||
- cmd_echo loops for each argv[i], 1 >=i > argc.
|
||||
|
||||
- It calls:
|
||||
|
||||
vtbl->output(vtbl, "%s ", argv[i])
|
||||
|
||||
where the prototype for output is:
|
||||
|
||||
int (*output)(FAR struct nsh_vtbl_s *vtbl, const char *fmt, ...);
|
||||
|
||||
- vtbl->output maps to nsh_consoleoutput() in this case.
|
||||
|
||||
- cmd_echo passes all of the arguments to output in registers.
|
||||
|
||||
- nsh_consoleoutput expects all of the parameters on the stack.
|
||||
|
||||
- nsh_console calls vfprintf() using bad values from the stack.
|
||||
|
||||
- vfprintf crashes and never returns.
|
||||
|
||||
Looks like a compiler bug to me.
|
||||
|
||||
# int cmd_echo(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||
#
|
||||
# All input parameters are in registers
|
||||
#
|
||||
# R1=00802DA0 # vtbl
|
||||
# R2=00000002 # argc
|
||||
# R3=00802D15 # argv
|
||||
# # argv[0]=00802DD7
|
||||
# # argv[1]=00802DDC
|
||||
# # 00802DD7="echo\0abc\0"
|
||||
# SP=00802CDD
|
||||
|
||||
0001024C 05F0 PUSHMHI <R8-R11> # SP=00802CCD
|
||||
0001024E 4418 LD R8,R1 # R8=00802DA0 vtbl
|
||||
00010250 442A LD R10,R2 # R10=00000002 argc
|
||||
00010252 443B LD R11,R3 # R11=00802D15 argv
|
||||
00010254 3901 LD R9,#%1 # R9=00000001 arg index
|
||||
00010256 C00C JP %10270
|
||||
|
||||
00010270 A5A9 CP R9,R10 # Bottom of loop
|
||||
00010272 E1F2 JP lt,%10258
|
||||
|
||||
00010258 48840010 LD R4,%10(R8) # R4=00011156 adddress of output() method
|
||||
0001025C 4490 LD R0,R9 # R0=00000001 Index of argv[1]
|
||||
0001025E BC20 SLL R0,#%2 # R0=00000004 Offset to argv[1]
|
||||
00010260 A0B0 ADD R0,R11 # R0=00802D19 Address of argv[1]
|
||||
00010262 4481 LD R1,R8 # R1=00802DA0 vtbl address
|
||||
00010264 452200008ADB LD R2,#%8ADB # R2=00008ADB = "%s "
|
||||
0001026A 1203 LD R3,(R0) # R3=00802DDC Value of argv[1]
|
||||
0001026C F214 CALL (R4) # Call vtbl->output(vtbl, "%s ", argv[i]);
|
||||
# vtbl->output is nsh_consoleoutput
|
||||
|
||||
# static int nsh_consoleoutput(FAR struct nsh_vtbl_s *vtbl, const char *fmt, ...)
|
||||
#
|
||||
# All parameters are in registers:
|
||||
#
|
||||
# R1=00802DA0 vtbl address
|
||||
# R2=00008ADB "%s "
|
||||
# R3=00802DDC Value of argv[1]
|
||||
|
||||
# First is a check if the output file is open
|
||||
#
|
||||
# if (nsh_openifnotopen(pstate) != 0)
|
||||
# {
|
||||
# return ERROR;
|
||||
# }
|
||||
|
||||
00011156 0800 LINK #%0 # SP=00802CC9, R14=00802CC9
|
||||
00011158 5C81 LD R1,%8(FP) # R1=0000017F Should be value file FILE * for output
|
||||
0001115A DF96 CALL %11088 # Call nsh_openifnotopen(), returns R0=00000000
|
||||
0001115C 9000 CP R0,#%0
|
||||
0001115E E602 JP z,%11164 # Skip over error return
|
||||
|
||||
00011160 30FF LD R0,#-%1
|
||||
00011162 C007 JP %11172
|
||||
|
||||
# Then the failing call to vfprintf:
|
||||
#
|
||||
# va_start(ap, fmt);
|
||||
# ret = vfprintf(pstate->cn_outstream, fmt, ap);
|
||||
# va_end(ap);
|
||||
#
|
||||
# return ret;
|
||||
|
||||
00011164 4D03 LEA R3,%10(FP) # R3=00802CD5 ap=GARBAGE
|
||||
00011166 5C80 LD R0,%8(FP) # R0=0000017F Should be value of pstate
|
||||
00011168 48010033 LD R1,%33(R0) # R1=01000000 pstate->cn_outstream. Looks suspicious
|
||||
0001116C 5CC2 LD R2,%C(FP) # R2=00802DA0
|
||||
0001116E F10003FB CALL %11968 # Call vfprintf(01000000, 00802DA0, 00802CD5)
|
||||
# All arguments are bad
|
||||
# Does not survive call to vfprintf
|
||||
|
||||
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
|
||||
and misc/tools/
|
||||
|
||||
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. You can't use setenv.sh in the native Windows environment. Try
|
||||
scripts/setenv.bat instead.
|
||||
c. 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 carrirage 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.
|
||||
|
||||
pashello
|
||||
--------
|
||||
|
||||
Configures to use examples/pashello for execution from FLASH
|
||||
See examples/README.txt for information about pashello.
|
||||
|
||||
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
|
||||
and misc/tools/
|
||||
|
||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||
reconfiguration process.
|
||||
|
||||
2. The last time I tried building this configuration, there were
|
||||
a few undefined symbols from the PCODE logic. It might require
|
||||
a little TLC to get this all working again.
|
||||
|
||||
3. The native windows build has not been tried with this configuration
|
||||
but should, in principle, work (see notes for the ostest configuration
|
||||
above).
|
||||
|
||||
Check out any README.txt files in these <sub-directory>s.
|
||||
@@ -0,0 +1,129 @@
|
||||
/****************************************************************************
|
||||
* board/board.h
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __ARCH_BOARD_BOARD_H
|
||||
#define __ARCH_BOARD_BOARD_H
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* LEDs
|
||||
*
|
||||
* The 16z board has 7 LEDs, five of which are controllable via software:
|
||||
*
|
||||
* ----- ------ ------ ------------------------------------
|
||||
* LED Color Signal Description
|
||||
* ----- ------ ------ ------------------------------------
|
||||
* LED1 Red 3V3 Indicates the presence of +3.3V
|
||||
* LED2 Red 5V Indicates the presence of +5V
|
||||
|
||||
* LED3 Blue ~RF Controlled via PH2. Notes: 1, 2
|
||||
* LED4 Green ~SXM Controlled via PH3. Notes: 1, 3
|
||||
* LED5 Green ~SD1 Controlled via PJ0. Notes: 1, 4
|
||||
* LED6 Yellow ~SD2 Controlled via PJ4. Notes: 1, 5
|
||||
* LED7 Yellow ~SD0 Controlled via PJ7. Notes: 1, 6
|
||||
* ----- ------ ------ ------------------------------------
|
||||
*
|
||||
* Note 1: Pulled high so a low output illuminates the LED.
|
||||
* Note 2: PH2/~RF is also used by the RF transceiver, X2. That part is not
|
||||
* populated on my board.
|
||||
* Note 3: ~SXM is the chip select for the serial memory, U4. That part is
|
||||
* not populated on my board.
|
||||
* Note 4: ~SD1 is the chip select for the SD card 1, X11.
|
||||
* Note 5: ~SD2 is the chip select for the SD card 2, X10.
|
||||
* Note 6: ~SD0 is the chip select for the microSD 0, X12.
|
||||
*
|
||||
* In conclusion: None of the LEDs are available to indicate software status
|
||||
* without potentially sacrificing board functionality. If the RF transceiver
|
||||
* is not installed (CONFIG_16Z_RFTRANSCEIVER=n) and if LED support is
|
||||
* requested (CONFIG_ARCH_LEDS), then LED3 will be used to indicate status: A
|
||||
* solid color means that the board has boot successfully; flashing at a rate
|
||||
* of approximately 2Hz indicates a software failure.
|
||||
*/
|
||||
|
||||
#define __LED3_BIT (1 << 0)
|
||||
#define __LED4_BIT (1 << 1)
|
||||
#undef HAVE_16Z_LED3
|
||||
#undef HAVE_16Z_LED4
|
||||
|
||||
#if !defined(CONFIG_16Z_RFTRANSCEIVER)
|
||||
# define __LEDPANIC __LED3_BIT
|
||||
# define HAVE_16Z_LED3
|
||||
#elif !defined(CONFIG_16Z_SERIAL_MEMORY)
|
||||
# define __LEDPANIC __LED4_BIT
|
||||
# define HAVE_16Z_LED4
|
||||
#else
|
||||
# define __LEDPANIC (0)
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_16Z_SERIAL_MEMORY) && !defined(HAVE_16Z_LED4)
|
||||
# define __LEDSTARTED __LED4_BIT
|
||||
# define HAVE_16Z_LED4
|
||||
#else
|
||||
# define __LEDSTARTED __LEDPANIC
|
||||
#endif
|
||||
/* LED3 LED4 */
|
||||
#define LED_STARTED 0 /* OFF OFF */
|
||||
#define LED_HEAPALLOCATE 0 /* N/C N/C */
|
||||
#define LED_IRQSENABLED 0 /* N/C N/C */
|
||||
#define LED_STACKCREATED __LEDSTARTED /* N/C ON */
|
||||
#define LED_INIRQ 0 /* N/C N/C */
|
||||
#define LED_SIGNAL 0 /* N/C N/C */
|
||||
#define LED_ASSERTION 0 /* N/C N/C */
|
||||
#define LED_PANIC __LEDPANIC /* ON N/C */
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
#undef EXTERN
|
||||
#if defined(__cplusplus)
|
||||
#define EXTERN extern "C"
|
||||
extern "C" {
|
||||
#else
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
#undef EXTERN
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ARCH_BOARD_BOARD_H */
|
||||
@@ -0,0 +1,5 @@
|
||||
nsh.hex
|
||||
nsh.map
|
||||
nsh.lod
|
||||
nsh.wsp
|
||||
|
||||
@@ -0,0 +1,264 @@
|
||||
############################################################################
|
||||
# configs/16z/nsh/Make.defs
|
||||
#
|
||||
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include $(TOPDIR)/.config
|
||||
include $(TOPDIR)/tools/Config.mk
|
||||
|
||||
# These are the directories where the ZDS-II toolchain is installed. NOTE
|
||||
# that short 8.3 path names are used in order to avoid spaces. On my machine
|
||||
# I have:
|
||||
#
|
||||
# C:\PROGRA~1\ = C:\Profram Files\
|
||||
# C:\PROGRA~2\ = C:\Program Files (x86)\
|
||||
#
|
||||
# Your PC may be configured differently.
|
||||
|
||||
ZDSVERSION = 5.0.1
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_ZNEO_$(ZDSVERSION)
|
||||
INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
|
||||
ZDSBINDIR = $(INSTALLDIR)\bin
|
||||
ZDSSTDINCDIR = $(INSTALLDIR)\include\std
|
||||
ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
|
||||
ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
|
||||
ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
|
||||
|
||||
# CFLAGs
|
||||
|
||||
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHUSRINCLUDES = -usrinc:.
|
||||
else
|
||||
WINTOOL = y
|
||||
ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_ZNEO_$(ZDSVERSION)
|
||||
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
|
||||
ZDSBINDIR = $(INSTALLDIR)/bin
|
||||
ZDSSTDINCDIR = $(INSTALLDIR)/include/std
|
||||
ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
|
||||
ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
|
||||
ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
|
||||
|
||||
# These are the same directories but with the directory separator
|
||||
# character swapped as needed by the ZDS-II compiler
|
||||
|
||||
WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
|
||||
WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
|
||||
WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
|
||||
WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
|
||||
WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
|
||||
|
||||
# Escaped versions
|
||||
|
||||
ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
|
||||
EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
|
||||
EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
|
||||
|
||||
# CFLAGs
|
||||
|
||||
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
|
||||
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
ARCHUSRINCLUDES = -usrinc:'.'
|
||||
endif
|
||||
|
||||
# Assembler definitions
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHASMOPTIMIZATION = -debug
|
||||
else
|
||||
ARCHASMOPTIMIZATION = -nodebug
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHOPTIMIZATION = -debug
|
||||
else
|
||||
ARCHOPTIMIZATION = -nodebug
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_NOOPT),y)
|
||||
ARCHOPTIMIZATION += -NOregvar -reduceopt
|
||||
else
|
||||
ARCHOPTIMIZATION += -regvar
|
||||
endif
|
||||
|
||||
ARCHCPUFLAGS = -chartype:S -model:L -NOmodsect -cpu:Z16F2811AL -NOgenprint \
|
||||
-asmsw:" $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
|
||||
ARCHLIST = -keeplst -NOlist -NOlistinc -NOkeepasm
|
||||
ARCHPICFLAGS =
|
||||
ARCHWARNINGS = -warn
|
||||
ARCHDEFINES = -define:_Z16F2811AL -define:_Z16K_SERIES -define:_Z16F_SERIES
|
||||
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
|
||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||
|
||||
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
|
||||
|
||||
LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)16z$(DELIM)nsh$(DELIM)nsh.linkcmd
|
||||
|
||||
# Tool names/pathes
|
||||
|
||||
CROSSDEV =
|
||||
CC = zneocc.exe
|
||||
CPP = gcc -E
|
||||
LD = zneolink.exe
|
||||
AS = zneoasm.exe
|
||||
AR = zneolib.exe
|
||||
|
||||
# File extensions
|
||||
|
||||
ASMEXT = .asm
|
||||
OBJEXT = .obj
|
||||
LIBEXT = .lib
|
||||
EXEEXT = .hex
|
||||
|
||||
# These are the macros that will be used in the NuttX make system
|
||||
# to compile and assembly source files and to insert the resulting
|
||||
# object files into an archive
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
|
||||
define PREPROCESS
|
||||
@echo CPP: $1->$2
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define MOVEOBJ
|
||||
$(call MOVEFILE, "$1.obj", "$2$(DELIM)$1.obj")
|
||||
$(call MOVEFILE, "$1.lst", "$2$(DELIM)$1.lst")
|
||||
@#$(call MOVEFILE, "$1.src", "$2$(DELIM)$1.src")
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
@echo AR: $2
|
||||
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
|
||||
endef
|
||||
|
||||
define CLEAN
|
||||
$(Q) if exist *.obj (del /f /q *.obj)
|
||||
$(Q) if exist *.src (del /f /q *.src)
|
||||
$(Q) if exist *.lib (del /f /q *.lib)
|
||||
$(Q) if exist *.hex (del /f /q *.hex)
|
||||
$(Q) if exist *.lod (del /f /q *.lod)
|
||||
$(Q) if exist *.lst (del /f /q *.lst)
|
||||
endef
|
||||
|
||||
else
|
||||
|
||||
define PREPROCESS
|
||||
@echo "CPP: $1->$2"
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
|
||||
endef
|
||||
|
||||
define MOVEOBJ
|
||||
$(call MOVEFILE, "$1.obj", "$2$(DELIM)$1.obj")
|
||||
$(call MOVEFILE, "$1.lst", "$2$(DELIM)$1.lst")
|
||||
@#$(call MOVEFILE, "$1.src", "$2$(DELIM)$1.src")
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
$(Q) for __obj in $(2) ; do \
|
||||
echo "AR: $$__obj"; \
|
||||
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
|
||||
done
|
||||
endef
|
||||
|
||||
define CLEAN
|
||||
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
|
||||
endef
|
||||
endif
|
||||
|
||||
# Windows native host tool definitions
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
HOSTCC = mingw32-gcc.exe
|
||||
HOSTINCLUDES = -I.
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||
HOSTLDFLAGS =
|
||||
HOSTEXEEXT = .exe
|
||||
|
||||
# Windows-native host tools
|
||||
|
||||
MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
|
||||
else
|
||||
|
||||
# Linux/Cygwin host tool definitions
|
||||
|
||||
HOSTCC = gcc
|
||||
HOSTINCLUDES = -I.
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||
HOSTLDFLAGS =
|
||||
|
||||
# This is the tool to use for dependencies (i.e., none)
|
||||
|
||||
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
||||
|
||||
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
|
||||
|
||||
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)copydir.sh
|
||||
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
|
||||
endif
|
||||
@@ -0,0 +1,49 @@
|
||||
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. This configuration does not run correctly. There is a problem with the
|
||||
serial driver. When started, some garbled characters appear on the
|
||||
console. I suspect (a) the UART is not being configured correctly, and
|
||||
(2) UART interrupts are not be set up correctly.
|
||||
|
||||
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.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Executable
+92
@@ -0,0 +1,92 @@
|
||||
/****************************************************************************/
|
||||
/* configs/16z/nsh/nsh.linkcmd */
|
||||
/* */
|
||||
/* Copyright (C) 2014 Gregory Nutt. All rights reserved. */
|
||||
/* Author: Gregory Nutt <gnutt@nuttx.org> */
|
||||
/* */
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
/* */
|
||||
/* 1. Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
/* 2. Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
/* 3. Neither the name NuttX nor the names of its contributors may be */
|
||||
/* used to endorse or promote products derived from this software */
|
||||
/* without specific prior written permission. */
|
||||
/* */
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS */
|
||||
/* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED */
|
||||
/* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
-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 : $FFFFFF
|
||||
|
||||
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 = 2
|
||||
define _SYS_CLK_FREQ = 20000000
|
||||
|
||||
define __EXTCT_INIT_PARAM = $40
|
||||
define __EXTCS0_INIT_PARAM = $9001
|
||||
define __EXTCS1_INIT_PARAM = $9001
|
||||
define __EXTCS2_INIT_PARAM = $9011
|
||||
define __EXTCS3_INIT_PARAM = $9015
|
||||
define __EXTCS4_INIT_PARAM = $9015
|
||||
define __EXTCS5_INIT_PARAM = $9015
|
||||
|
||||
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,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>
|
||||
Executable
+64
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# configs/16z/nsh/setenv.sh
|
||||
#
|
||||
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# Check how we were executed
|
||||
#
|
||||
|
||||
if [ "$_" = "$0" ] ; then
|
||||
echo "You must source this script, not run it!" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WD=`pwd`
|
||||
if [ ! -x "setenv.sh" ]; then
|
||||
echo "This script must be executed from the top-level NuttX build directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${PATH_ORIG}" ]; then
|
||||
export PATH_ORIG="${PATH}"
|
||||
fi
|
||||
|
||||
#
|
||||
# This is the Cygwin path to location where the XDS-II tools were installed
|
||||
#
|
||||
TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/ZiLOG/ZDSII_ZNEO_5.0.1/bin"
|
||||
|
||||
#
|
||||
# Add the path to the toolchain to the PATH variable. NOTE that /bin and /usr/bin
|
||||
# preceded the toolchain bin directory. This is because the ZDSII bin directory
|
||||
# includes binaries like make.exe that will interfere with the normal build process
|
||||
# if we do not give priority to the versions at /bin and /usr/bin.
|
||||
#
|
||||
export PATH="/bin:/usr/bin:${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
||||
echo "PATH : ${PATH}"
|
||||
@@ -0,0 +1,5 @@
|
||||
ostest.hex
|
||||
ostest.map
|
||||
ostest.lod
|
||||
ostest.wsp
|
||||
|
||||
@@ -0,0 +1,264 @@
|
||||
############################################################################
|
||||
# configs/16z/ostest/Make.defs
|
||||
#
|
||||
# Copyright (C) 2008, 2010, 2012-2013 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include $(TOPDIR)/.config
|
||||
include $(TOPDIR)/tools/Config.mk
|
||||
|
||||
# These are the directories where the ZDS-II toolchain is installed. NOTE
|
||||
# that short 8.3 path names are used in order to avoid spaces. On my machine
|
||||
# I have:
|
||||
#
|
||||
# C:\PROGRA~1\ = C:\Profram Files\
|
||||
# C:\PROGRA~2\ = C:\Program Files (x86)\
|
||||
#
|
||||
# Your PC may be configured differently.
|
||||
|
||||
ZDSVERSION = 5.0.1
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_ZNEO_$(ZDSVERSION)
|
||||
INSTALLDIR = ${shell echo $(ZDSINSTALLDIR)| sed -e "s/\//\\/g"}
|
||||
ZDSBINDIR = $(INSTALLDIR)\bin
|
||||
ZDSSTDINCDIR = $(INSTALLDIR)\include\std
|
||||
ZDSZILOGINCDIR = $(INSTALLDIR)\include\zilog
|
||||
ZDSSTDLIBDIR = $(INSTALLDIR)\lib\std
|
||||
ZDSZILOGLIBDIR = $(INSTALLDIR)\lib\zilog
|
||||
|
||||
# CFLAGs
|
||||
|
||||
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHUSRINCLUDES = -usrinc:.
|
||||
else
|
||||
WINTOOL = y
|
||||
ZDSINSTALLDIR = C:/PROGRA~2/ZiLOG/ZDSII_ZNEO_$(ZDSVERSION)
|
||||
INSTALLDIR = ${shell cygpath -u "$(ZDSINSTALLDIR)"}
|
||||
ZDSBINDIR = $(INSTALLDIR)/bin
|
||||
ZDSSTDINCDIR = $(INSTALLDIR)/include/std
|
||||
ZDSZILOGINCDIR = $(INSTALLDIR)/include/zilog
|
||||
ZDSSTDLIBDIR = $(INSTALLDIR)/lib/std
|
||||
ZDSZILOGLIBDIR = $(INSTALLDIR)/lib/zilog
|
||||
|
||||
# These are the same directories but with the directory separator
|
||||
# character swapped as needed by the ZDS-II compiler
|
||||
|
||||
WTOPDIR = ${shell cygpath -w "$(TOPDIR)"}
|
||||
WZDSSTDINCDIR = ${shell cygpath -w "$(ZDSSTDINCDIR)"}
|
||||
WZDSZILOGINCDIR = ${shell cygpath -w "$(ZDSZILOGINCDIR)"}
|
||||
WZDSSTDLIBDIR = ${shell cygpath -w "$(ZDSSTDLIBDIR)"}
|
||||
WZDSZILOGLIBDIR = ${shell cygpath -w "$(ZDSZILOGLIBDIR)"}
|
||||
|
||||
# Escaped versions
|
||||
|
||||
ETOPDIR = ${shell echo "$(WTOPDIR)" | sed -e "s/ /%20/g"}
|
||||
EZDSSTDINCDIR = ${shell echo "$(WZDSSTDINCDIR)" | sed -e "s/ /%20/g"}
|
||||
EZDSZILOGINCDIR = ${shell echo "$(WZDSZILOGINCDIR)" | sed -e "s/ /%20/g"}
|
||||
|
||||
# CFLAGs
|
||||
|
||||
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
|
||||
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
||||
ARCHUSRINCLUDES = -usrinc:'.'
|
||||
endif
|
||||
|
||||
# Assembler definitions
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHASMOPTIMIZATION = -debug
|
||||
else
|
||||
ARCHASMOPTIMIZATION = -nodebug
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHOPTIMIZATION = -debug
|
||||
else
|
||||
ARCHOPTIMIZATION = -nodebug
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_NOOPT),y)
|
||||
ARCHOPTIMIZATION += -NOregvar -reduceopt
|
||||
else
|
||||
ARCHOPTIMIZATION += -regvar
|
||||
endif
|
||||
|
||||
ARCHCPUFLAGS = -chartype:S -model:L -NOmodsect -cpu:Z16F2811AL -NOgenprint \
|
||||
-asmsw:" $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
|
||||
ARCHLIST = -keeplst -NOlist -NOlistinc -NOkeepasm
|
||||
ARCHPICFLAGS =
|
||||
ARCHWARNINGS = -warn
|
||||
ARCHDEFINES = -define:_Z16F2811AL -define:_Z16K_SERIES -define:_Z16F_SERIES
|
||||
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
|
||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||
|
||||
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
|
||||
|
||||
LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)configs$(DELIM)16z$(DELIM)ostest$(DELIM)ostest.linkcmd
|
||||
|
||||
# Tool names/pathes
|
||||
|
||||
CROSSDEV =
|
||||
CC = zneocc.exe
|
||||
CPP = gcc -E
|
||||
LD = zneolink.exe
|
||||
AS = zneoasm.exe
|
||||
AR = zneolib.exe
|
||||
|
||||
# File extensions
|
||||
|
||||
ASMEXT = .asm
|
||||
OBJEXT = .obj
|
||||
LIBEXT = .lib
|
||||
EXEEXT = .hex
|
||||
|
||||
# These are the macros that will be used in the NuttX make system
|
||||
# to compile and assembly source files and to insert the resulting
|
||||
# object files into an archive
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
|
||||
define PREPROCESS
|
||||
@echo CPP: $1->$2
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define MOVEOBJ
|
||||
$(call MOVEFILE, "$1.obj", "$2$(DELIM)$1.obj")
|
||||
$(call MOVEFILE, "$1.lst", "$2$(DELIM)$1.lst")
|
||||
@#$(call MOVEFILE, "$1.src", "$2$(DELIM)$1.src")
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
@echo AR: $2
|
||||
$(Q) for %%G in ($(2)) do ( "$(AR)" $(ARFLAGS) $1=-+%%G )
|
||||
endef
|
||||
|
||||
define CLEAN
|
||||
$(Q) if exist *.obj (del /f /q *.obj)
|
||||
$(Q) if exist *.src (del /f /q *.src)
|
||||
$(Q) if exist *.lib (del /f /q *.lib)
|
||||
$(Q) if exist *.hex (del /f /q *.hex)
|
||||
$(Q) if exist *.lod (del /f /q *.lod)
|
||||
$(Q) if exist *.lst (del /f /q *.lst)
|
||||
endef
|
||||
|
||||
else
|
||||
|
||||
define PREPROCESS
|
||||
@echo "CPP: $1->$2"
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
|
||||
endef
|
||||
|
||||
define MOVEOBJ
|
||||
$(call MOVEFILE, "$1.obj", "$2$(DELIM)$1.obj")
|
||||
$(call MOVEFILE, "$1.lst", "$2$(DELIM)$1.lst")
|
||||
@#$(call MOVEFILE, "$1.src", "$2$(DELIM)$1.src")
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
$(Q) for __obj in $(2) ; do \
|
||||
echo "AR: $$__obj"; \
|
||||
"$(AR)" $(ARFLAGS) $1=-+$$__obj || { echo "$(AR) $1=-+$$__obj FAILED!" ; exit 1 ; } \
|
||||
done
|
||||
endef
|
||||
|
||||
define CLEAN
|
||||
$(Q) rm -f *.obj *.src *.lib *.hex *.lod *.lst
|
||||
endef
|
||||
endif
|
||||
|
||||
# Windows native host tool definitions
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
HOSTCC = mingw32-gcc.exe
|
||||
HOSTINCLUDES = -I.
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||
HOSTLDFLAGS =
|
||||
HOSTEXEEXT = .exe
|
||||
|
||||
# Windows-native host tools
|
||||
|
||||
MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
|
||||
else
|
||||
|
||||
# Linux/Cygwin host tool definitions
|
||||
|
||||
HOSTCC = gcc
|
||||
HOSTINCLUDES = -I.
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
|
||||
HOSTLDFLAGS =
|
||||
|
||||
# This is the tool to use for dependencies (i.e., none)
|
||||
|
||||
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
||||
|
||||
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
|
||||
|
||||
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)copydir.sh
|
||||
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
|
||||
endif
|
||||
@@ -0,0 +1,37 @@
|
||||
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
|
||||
|
||||
ostest.zdzbak is a project file for an older ZDS-II 4.0 version (There is no
|
||||
difference in the files other than for some versioning information at the
|
||||
top).
|
||||
|
||||
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.
|
||||
File diff suppressed because it is too large
Load Diff
Executable
+92
@@ -0,0 +1,92 @@
|
||||
/****************************************************************************/
|
||||
/* configs/16z/ostest/ostest.linkcmd */
|
||||
/* */
|
||||
/* Copyright (C) 2008 Gregory Nutt. All rights reserved. */
|
||||
/* Author: Gregory Nutt <gnutt@nuttx.org> */
|
||||
/* */
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
/* */
|
||||
/* 1. Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
/* 2. Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
/* 3. Neither the name NuttX nor the names of its contributors may be */
|
||||
/* used to endorse or promote products derived from this software */
|
||||
/* without specific prior written permission. */
|
||||
/* */
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS */
|
||||
/* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED */
|
||||
/* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
-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 : $FFFFFF
|
||||
|
||||
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 = 2
|
||||
define _SYS_CLK_FREQ = 20000000
|
||||
|
||||
define __EXTCT_INIT_PARAM = $40
|
||||
define __EXTCS0_INIT_PARAM = $9001
|
||||
define __EXTCS1_INIT_PARAM = $9001
|
||||
define __EXTCS2_INIT_PARAM = $9011
|
||||
define __EXTCS3_INIT_PARAM = $9015
|
||||
define __EXTCS4_INIT_PARAM = $9015
|
||||
define __EXTCS5_INIT_PARAM = $9015
|
||||
|
||||
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 */
|
||||
|
||||
Executable
+238
@@ -0,0 +1,238 @@
|
||||
<project type="Standard" project-type="Standard" configuration="Debug" created-by="{{build_number}}" modified-by="c:4.11:07031901">
|
||||
<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,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>
|
||||
Executable
+63
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# configs/16z/ostest/setenv.sh
|
||||
#
|
||||
# Copyright (C) 2008, 2009, 2012 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# Check how we were executed
|
||||
#
|
||||
if [ "$_" = "$0" ] ; then
|
||||
echo "You must source this script, not run it!" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WD=`pwd`
|
||||
if [ ! -x "setenv.sh" ]; then
|
||||
echo "This script must be executed from the top-level NuttX build directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${PATH_ORIG}" ]; then
|
||||
export PATH_ORIG="${PATH}"
|
||||
fi
|
||||
|
||||
#
|
||||
# This is the Cygwin path to location where the XDS-II tools were installed
|
||||
#
|
||||
TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/ZiLOG/ZDSII_ZNEO_5.0.1/bin"
|
||||
|
||||
#
|
||||
# Add the path to the toolchain to the PATH variable. NOTE that /bin and /usr/bin
|
||||
# preceded the toolchain bin directory. This is because the ZDSII bin directory
|
||||
# includes binaries like make.exe that will interfere with the normal build process
|
||||
# if we do not give priority to the versions at /bin and /usr/bin.
|
||||
#
|
||||
export PATH="/bin:/usr/bin:${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
||||
echo "PATH : ${PATH}"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
rem configs/16z/scripts/setenv.bat
|
||||
rem
|
||||
rem Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||
rem Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
rem
|
||||
rem Redistribution and use in source and binary forms, with or without
|
||||
rem modification, are permitted provided that the following conditions
|
||||
rem are met:
|
||||
rem
|
||||
rem 1. Redistributions of source code must retain the above copyright
|
||||
rem notice, this list of conditions and the following disclaimer.
|
||||
rem 2. Redistributions in binary form must reproduce the above copyright
|
||||
rem notice, this list of conditions and the following disclaimer in
|
||||
rem the documentation and/or other materials provided with the
|
||||
rem distribution.
|
||||
rem 3. Neither the name NuttX nor the names of its contributors may be
|
||||
rem used to endorse or promote products derived from this software
|
||||
rem without specific prior written permission.
|
||||
rem
|
||||
rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
rem "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
rem LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
rem FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
rem COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
rem INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
rem BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
rem OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
rem AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
rem LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
rem ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
rem POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
rem This is the location where I installed in the MinGW compiler. With
|
||||
rem this configuration, it is recommended that you do NOT install the
|
||||
rem MSYS tools; they conflict with the GNUWin32 tools. See
|
||||
rem http://www.mingw.org/ for further info.
|
||||
|
||||
set PATH=C:\MinGW\bin;%PATH%
|
||||
|
||||
rem This is the location where I installed the ZDS-II toolchain.
|
||||
|
||||
set PATH=C:\Program Files (x86)\ZiLOG\ZDSII_ZNEO_5.0.1\bin;%PATH%
|
||||
|
||||
rem This is the location where I installed the GNUWin32 tools. See
|
||||
rem http://gnuwin32.sourceforge.net/.
|
||||
|
||||
set PATH=C:\gnuwin32\bin;%PATH%
|
||||
echo %PATH%
|
||||
@@ -0,0 +1,4 @@
|
||||
/Make.dep
|
||||
/.depend
|
||||
/*.obj
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
############################################################################
|
||||
# configs/16z/Makefile
|
||||
#
|
||||
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
-include $(TOPDIR)/Make.defs
|
||||
|
||||
SCHEDSRCDIR = $(TOPDIR)$(DELIM)sched
|
||||
ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
USRINCLUDES = -usrinc:".;$(SCHEDSRCDIR);$(ARCHSRCDIR);$(ARCHSRCDIR)\common"
|
||||
else
|
||||
WSCHEDSRCDIR = ${shell cygpath -w $(SCHEDSRCDIR)}
|
||||
WARCHSRCDIR = ${shell cygpath -w $(ARCHSRCDIR)}
|
||||
USRINCLUDES = -usrinc:'.;$(WSCHEDSRCDIR);$(WARCHSRCDIR);$(WARCHSRCDIR)\common'
|
||||
endif
|
||||
|
||||
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
|
||||
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(EXTRADEFINES)
|
||||
|
||||
ASRCS =
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
CSRCS = z16f_lowinit.c z16f_leds.c
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
|
||||
SRCS = $(ASRCS) $(CSRCS)
|
||||
OBJS = $(AOBJS) $(COBJS)
|
||||
|
||||
all: libboard$(LIBEXT)
|
||||
|
||||
$(ASRCS) $(HEAD_ASRC): %$(ASMEXT): %.S
|
||||
$(Q) $(CPP) $(CPPFLAGS) $< -o $@.tmp
|
||||
$(Q) cat $@.tmp | sed -e "s/^#/;/g" > $@
|
||||
$(Q) rm $@.tmp
|
||||
|
||||
$(AOBJS): %$(OBJEXT): %$(ASMEXT)
|
||||
$(call ASSEMBLE, $<, $@)
|
||||
|
||||
$(COBJS) $(LINKOBJS): %$(OBJEXT): %.c
|
||||
$(call COMPILE, $<, $@)
|
||||
|
||||
libboard$(LIBEXT): $(OBJS)
|
||||
$(call ARCHIVE, $@, $(OBJS))
|
||||
|
||||
.depend: Makefile $(SRCS)
|
||||
$(Q) $(MKDEP) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
|
||||
$(Q) touch $@
|
||||
|
||||
depend: .depend
|
||||
|
||||
clean:
|
||||
$(call DELFILE, libboard$(LIBEXT))
|
||||
$(call CLEAN)
|
||||
|
||||
distclean: clean
|
||||
$(call DELFILE, Make.dep)
|
||||
$(call DELFILE, .depend)
|
||||
|
||||
-include Make.dep
|
||||
@@ -0,0 +1,175 @@
|
||||
/****************************************************************************
|
||||
* configs/16z/z16f_leds.c
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/* LEDs
|
||||
*
|
||||
* The 16z board has 7 LEDs, five of which are controllable via software:
|
||||
*
|
||||
* ----- ------ ------ ------------------------------------
|
||||
* LED Color Signal Description
|
||||
* ----- ------ ------ ------------------------------------
|
||||
* LED1 Red 3V3 Indicates the presence of +3.3V
|
||||
* LED2 Red 5V Indicates the presence of +5V
|
||||
|
||||
* LED3 Blue ~RF Controlled via PH2. Notes: 1, 2
|
||||
* LED4 Green ~SXM Controlled via PH3. Notes: 1, 3
|
||||
* LED5 Green ~SD1 Controlled via PJ0. Notes: 1, 4
|
||||
* LED6 Yellow ~SD2 Controlled via PJ4. Notes: 1, 5
|
||||
* LED7 Yellow ~SD0 Controlled via PJ7. Notes: 1, 6
|
||||
* ----- ------ ------ ------------------------------------
|
||||
*
|
||||
* Note 1: Pulled high so a low output illuminates the LED.
|
||||
* Note 2: PH2/~RF is also used by the RF transceiver, X2. That part is not
|
||||
* populated on my board.
|
||||
* Note 3: ~SXM is the chip select for the serial memory, U4. That part is
|
||||
* not populated on my board.
|
||||
* Note 4: ~SD1 is the chip select for the SD card 1, X11.
|
||||
* Note 5: ~SD2 is the chip select for the SD card 2, X10.
|
||||
* Note 6: ~SD0 is the chip select for the microSD 0, X12.
|
||||
*
|
||||
* In conclusion: None of the LEDs are available to indicate software status
|
||||
* without potentially sacrificing board functionality. If the RF transceiver
|
||||
* is not installed (CONFIG_16Z_RFTRANSCEIVER=n) and if LED support is
|
||||
* requested (CONFIG_ARCH_LEDS), then LED3 will be used to indicate status: A
|
||||
* solid color means that the board has boot successfully; flashing at a rate
|
||||
* of approximately 2Hz indicates a software failure.
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <arch/board/board.h>
|
||||
#include "up_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_ledinit
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_ARCH_LEDS
|
||||
void up_ledinit(void)
|
||||
{
|
||||
/* All GPIO initialization is done in up_lowinit() */
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_ledon
|
||||
****************************************************************************/
|
||||
|
||||
void up_ledon(int led)
|
||||
{
|
||||
#if defined(HAVE_16Z_LED3) || defined(HAVE_16Z_LED4)
|
||||
/* The following operations must be atomic */
|
||||
|
||||
irqstate_t flags = irqsave();
|
||||
uint8_t regval = getreg8(Z16F_GPIOH_OUT);
|
||||
|
||||
#ifdef HAVE_16Z_LED3
|
||||
/* LED3 is available at PH2 and illuminated by a low output */
|
||||
|
||||
if ((led & __LED3_BIT) != 0)
|
||||
{
|
||||
regval &= ~(1 << 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_16Z_LED4
|
||||
/* LED4 is available at PH3 and illuminated by a low output */
|
||||
|
||||
if ((led & __LED4_BIT) != 0)
|
||||
{
|
||||
regval &= ~(1 << 3);
|
||||
}
|
||||
#endif
|
||||
|
||||
putreg8(regval, Z16F_GPIOH_OUT);
|
||||
irqrestore(flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_ledoff
|
||||
****************************************************************************/
|
||||
|
||||
void up_ledoff(int led)
|
||||
{
|
||||
#if defined(HAVE_16Z_LED3) || defined(HAVE_16Z_LED4)
|
||||
/* The following operations must be atomic */
|
||||
|
||||
irqstate_t flags = irqsave();
|
||||
uint8_t regval = getreg8(Z16F_GPIOH_OUT);
|
||||
|
||||
#ifdef HAVE_16Z_LED3
|
||||
/* LED3 is available at PH2 and illuminated by a low output */
|
||||
|
||||
if ((led & __LED3_BIT) != 0)
|
||||
{
|
||||
regval |= (1 << 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_16Z_LED4
|
||||
/* LED4 is available at PH3 and illuminated by a low output */
|
||||
|
||||
if ((led & __LED4_BIT) != 0)
|
||||
{
|
||||
regval |= (1 << 3);
|
||||
}
|
||||
#endif
|
||||
|
||||
putreg8(regval, Z16F_GPIOH_OUT);
|
||||
irqrestore(flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ARCH_LEDS */
|
||||
@@ -0,0 +1,256 @@
|
||||
/***************************************************************************
|
||||
* configs/16z/src/z16f_lowinit.c
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Based upon sample code included with the Zilog ZDS-II toolchain.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Included Files
|
||||
***************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include "chip/chip.h"
|
||||
|
||||
/***************************************************************************
|
||||
* Definitions
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Private Functions
|
||||
***************************************************************************/
|
||||
|
||||
static void z16f_extcsinit(void)
|
||||
{
|
||||
putreg8(0x40, Z16F_EXTCT); /* 8-bit External Bus Interface is enabled (Port E). */
|
||||
putreg8(0x90, Z16F_EXTCS0H); /* CS0 enabled, Data [0:7] */
|
||||
putreg8(0x01, Z16F_EXTCS0L); /* Post Read: No wait states; Chip select: 1 wait state */
|
||||
putreg8(0x90, Z16F_EXTCS1H); /* CS1 enabled, Data [0:7] */
|
||||
putreg8(0x01, Z16F_EXTCS1L); /* Post Read: No wait states; Chip select: 1 wait state */
|
||||
putreg8(0x90, Z16F_EXTCS2H); /* CS2 enabled, Data [0:7] */
|
||||
putreg8(0x11, Z16F_EXTCS2L); /* Post Read: 1 wait state; Chip select: 1 wait state */
|
||||
putreg8(0x90, Z16F_EXTCS3H); /* CS3 enabled, Data [0:7] */
|
||||
putreg8(0x15, Z16F_EXTCS3L); /* Post Read: 1 wait state; Chip select: 5 wait states */
|
||||
putreg8(0x90, Z16F_EXTCS4H); /* CS4 enabled, Data [0:7] */
|
||||
putreg8(0x15, Z16F_EXTCS4L); /* Post Read: 1 wait state; Chip select: 5 wait states */
|
||||
putreg8(0x90, Z16F_EXTCS5H); /* CS5 enabled, Data [0:7] */
|
||||
putreg8(0x15, Z16F_EXTCS5L); /* Post Read: 1 wait state; Chip select: 5 wait states */
|
||||
}
|
||||
|
||||
static void z16f_gpioinit(void)
|
||||
{
|
||||
/* NOTE: Here we assume that all ports are in the default reset state */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PA0/T0IN/T0OUT/DMA0REQ GP8 PS/2 / GPIO, Expansion slots
|
||||
* PA1/T0OUT/DMA0ACK GP9 PS/2 / GPIO, Expansion slots
|
||||
* PA2/DE0/FAULTY ~INTI Power section, RF transceiver (1)
|
||||
* PA3/CTS0/FAULT0 ~INTX Expansion slots
|
||||
* PA4/RXD0/CS1 RXD MAX3232D RS-232
|
||||
* PA5/TXD0/CS2 TXD MAX3232D RS-232
|
||||
* PA6/SCL/CS3 SCL RTC / UID, Expansion slots
|
||||
* PA7/SDA/CS4 SDA RTC / UID, Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x9f, Z16F_GPIOA_DD); /* Inputs: GP8, GP9, ~INTI, ~INTX, RXD, and SDA */
|
||||
putreg8(0x03, Z16F_GPIOA_HDE); /* High drive current: GP8 and GP9 */
|
||||
putreg8(0xf0, Z16F_GPIOA_AFL); /* RXD=Alt 1, TXD=Alt 1, SCL=Alt 1, SDA=Alt 1 */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PB0/ANA0/T0IN0 GP0 Expansion slots
|
||||
* PB1/ANA1/T0IN1 GP1 Expansion slots
|
||||
* PB2/ANA2/T0IN2 GP2 Expansion slots
|
||||
* PB3/ANA3/OPOUT GP3 Expansion slots
|
||||
* PB4/ANA4 GP4 Expansion slots
|
||||
* PB5/ANA5 GP5 Expansion slots
|
||||
* PB6/ANA6/OPINP/CINN GP6 Expansion slots
|
||||
* PB7/ANA7/OPINN GP7 Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0xff, Z16F_GPIOB_DD); /* Inputs: all */
|
||||
putreg8(0xff, Z16F_GPIOB_HDE); /* High drive current: all */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PC0/T1IN/T1OUT/DMA1REQ/CINN GP10 PS/2 / GPIO, Expansion slots
|
||||
* PC1/T1OUT/DMA1ACK/COMPOUT GP11 PS/2 / GPIO, Expansion slots
|
||||
* PC2/SS/CS4 ~EXP Expansion slots
|
||||
* PC3/SCK/DMA2REQ SCK FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
* Expansion slots, SD0, 1, and 2
|
||||
* PC4/MOSI/DMA2ACK MOSI FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
* Expansion slots, SD0, 1, and 2
|
||||
* PC5/MISO/CS5 MISO FT800Q, Serial memory (1), RF Transceiver (1),
|
||||
* Expansion slots, SD0, 1, and 2
|
||||
* PC6/T2IN/T2OUT/PWMH0 ~CTS MAX3232D RS-232
|
||||
* PC7/T2OUT/PWML0 ~RTS MAX3232D RS-232, Power section (?)
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x63, Z16F_GPIOC_DD); /* Inputs: GP10, GP11, MISO, and ~CTS */
|
||||
putreg8(0x03, Z16F_GPIOC_HDE); /* High drive current: GP10 and GP11 */
|
||||
putreg8(0x38, Z16F_GPIOC_AFL); /* SCK=Alt 1, MOSI=Alt 1, MISO=Alt 1 */
|
||||
putreg8(0x04, Z16F_GPIOC_OUT); /* ~EXP output high */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PD0/PWMH1/ADR20 A20 RAM, Expansion slots
|
||||
* PD1/PWML1/ADR21 A21 RAM, Expansion slots
|
||||
* PD2/PWMH2/ADR22 A22 RAM, Expansion slots
|
||||
* PD3/DE1/ADR16 A16 RAM, Expansion slots
|
||||
* PD4/RXD1/ADR18 A18 RAM, Expansion slots
|
||||
* PD5/TXD1/ADR19 A19 RAM, Expansion slots
|
||||
* PD6/CTS1/ADR17 A17 RAM, Expansion slots
|
||||
* PD7/PWML2/ADR23 A23 Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x00, Z16F_GPIOD_DD); /* Inputs: None */
|
||||
putreg8(0xff, Z16F_GPIOD_AFH); /* All=Alt 2
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PE0/DATA0 D0 RAM, Expansion slots
|
||||
* PE1/DATA1 D1 RAM, Expansion slots
|
||||
* PE2/DATA2 D2 RAM, Expansion slots
|
||||
* PE3/DATA3 D3 RAM, Expansion slots
|
||||
* PE4/DATA4 D4 RAM, Expansion slots
|
||||
* PE5/DATA5 D5 RAM, Expansion slots
|
||||
* PE6/DATA6 D6 RAM, Expansion slots
|
||||
* PE7/DATA7 D7 RAM, Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0xff, Z16F_GPIOE_DD); /* Inputs: all */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PF0/ADR0 A0 Expansion slots
|
||||
* PF1/ADR1 A1 RAM, Expansion slots
|
||||
* PF2/ADR2 A2 RAM, Expansion slots
|
||||
* PF3/ADR3 A3 RAM, Expansion slots
|
||||
* PF4/ADR4 A4 RAM, Expansion slots
|
||||
* PF5/ADR5 A5 RAM, Expansion slots
|
||||
* PF6/ADR6 A6 RAM, Expansion slots
|
||||
* PF7/ADR7 A7 RAM, Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x00, Z16F_GPIOF_DD); /* Inputs: None */
|
||||
putreg8(0xff, Z16F_GPIOF_AFL); /* All=Alt 1 */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PG0/ADR0 A8 RAM, Expansion slots
|
||||
* PG1/ADR0 A9 RAM, Expansion slots
|
||||
* PG2/ADR0 A10 RAM, Expansion slots
|
||||
* PG3/ADR0 A11 RAM, Expansion slots
|
||||
* PG4/ADR0 A12 RAM, Expansion slots
|
||||
* PG5/ADR0 A13 RAM, Expansion slots
|
||||
* PG6/ADR0 A14 RAM, Expansion slots
|
||||
* PG7/ADR0 A15 RAM, Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x00, Z16F_GPIOG_DD); /* Inputs: None */
|
||||
putreg8(0xff, Z16F_GPIOG_AFL); /* All=Alt 1 */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PH0/ANA8/WR ~WR RAM, Expansion slots
|
||||
* PH1/ANA9/RD ~RD RAM, Expansion slots
|
||||
* PH2/ANA10/CS0 ~RF LED3, RF transceiver, X2 (1)
|
||||
* PH3/ANA11/CINP/WAIT ~SXM LED4, Chip select for the serial memory, U4 (1)
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0xf0, Z16F_GPIOH_DD); /* Inputs: None (PH4-PH7 undefined) */
|
||||
putreg8(0x03, Z16F_GPIOH_AFH); /*~WR=Alt2 ~RD=Alt 2 */
|
||||
putreg8(0x0c, Z16F_GPIOH_OUT); /* Output high: ~RF and ~SXM */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PJ0/DATA8 ~SD1 LED5, Chip select for the SD card 1, X11.
|
||||
* PJ1/DATA9 ~DT1 Card detect for SD card 1
|
||||
* PJ2/DATA10 WP1 Write protect for SD card 1
|
||||
* PJ3/DATA11 EVE EVE chip select
|
||||
* PJ4/DATA12 ~SD2 LED6, Chip select for the SD card 2, X10.
|
||||
* PJ5/DATA13 ~DT2 Card detect for SD card 2
|
||||
* PJ6/DATA14 WP2 Write protect for SD card 2
|
||||
* PJ7/DATA15 ~SD0 LED7, Chip select for the microSD 0, X12.
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x66, Z16F_GPIOJ_DD); /* Inputs: ~DT1, WP1, ~DT2, and WP2 */
|
||||
putreg8(0x99, Z16F_GPIOJ_OUT); /* Output high: ~SD1, EVE, ~SD2, ~SD0 */
|
||||
|
||||
/* --------------------------- ------ --------------------------------------------
|
||||
* GPIO SIGNAL On-Board Connections
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
* PK0/BHEN ~BHE RAM, Expansion slots
|
||||
* PK1/BLEN ~BLE RAM, Expansion slots
|
||||
* PK2/CS0 ~0000 Bottom RAM bank, Expansion slots
|
||||
* PK3/CS1 ~8000 Top RAM bank, Expansion slots
|
||||
* PK4/CS2 ~F000 Expansion slots
|
||||
* PK5/CS3 ~FFC8 Expansion slots
|
||||
* PK6/CS4 ~FFD0 Expansion slots
|
||||
* PK7/CS5 ~FFD8 Expansion slots
|
||||
* --------------------------- ------ --------------------------------------------
|
||||
*/
|
||||
|
||||
putreg8(0x00, Z16F_GPIOK_DD); /* Inputs: None */
|
||||
putreg8(0xff, Z16F_GPIOK_AFL); /* All=Alt 1 */
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
* Public Functions
|
||||
***************************************************************************/
|
||||
|
||||
void z16f_lowinit(void)
|
||||
{
|
||||
z16f_extcsinit();
|
||||
z16f_gpioinit();
|
||||
}
|
||||
@@ -12,6 +12,15 @@ choice
|
||||
be available for selection. Use ARCH_BOARD_CUSTOM to create a new
|
||||
board configuration.
|
||||
|
||||
config ARCH_BOARD_16Z
|
||||
bool "16z Board"
|
||||
depends on ARCH_CHIP_Z16F2811
|
||||
select ARCH_HAVE_LEDS
|
||||
---help---
|
||||
This selection enables the port of NuttX port to the 16z board. The
|
||||
16z board is based on the ZiLOG ZNEO Z16F2811AL20EG part. See
|
||||
https://github.com/toyaga/16z for further information.
|
||||
|
||||
config ARCH_BOARD_AMBER
|
||||
bool "Amber Web Server"
|
||||
depends on ARCH_CHIP_ATMEGA128
|
||||
@@ -871,6 +880,7 @@ config ARCH_BOARD_CUSTOM_DIR
|
||||
|
||||
config ARCH_BOARD
|
||||
string
|
||||
default "16z" if ARCH_BOARD_16Z
|
||||
default "amber" if ARCH_BOARD_AMBER
|
||||
default "arduino-due" if ARCH_BOARD_ARDUINO_DUE
|
||||
default "avr32dev1" if ARCH_BOARD_AVR32DEV1
|
||||
@@ -1013,6 +1023,9 @@ config NSH_MMCSDSPIPORTNO
|
||||
|
||||
comment "Board-Specific Options"
|
||||
|
||||
if ARCH_BOARD_16Z
|
||||
source "configs/16z/Kconfig"
|
||||
endif
|
||||
if ARCH_BOARD_AMBER
|
||||
source "configs/amber/Kconfig"
|
||||
endif
|
||||
|
||||
@@ -169,6 +169,11 @@ http://nuttx.org/Documentation/NuttXConfigVariables.html.
|
||||
Supported Boards
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
configs/16z
|
||||
This is the port of NuttX port to the 16z board. The 16z board is based on
|
||||
the ZiLOG ZNEO Z16F2811AL20EG part. See https://github.com/toyaga/16z for
|
||||
further information.
|
||||
|
||||
configs/amber
|
||||
This is placeholder for the SoC Robotics Amber Web Server that is based
|
||||
on the Atmel AVR ATMega128 MCU. There is not much there yet and what is
|
||||
|
||||
@@ -83,7 +83,7 @@ nsh
|
||||
nsh:
|
||||
This configuration directory will built the NuttShell (NSH). See
|
||||
the NSH user manual in the documents directory (or online at nuttx.org).
|
||||
See also the README.txt file in the ostest sub-directory for information
|
||||
See also the README.txt file in the nsh sub-directory for information
|
||||
about using ZDS-II.
|
||||
|
||||
NOTES:
|
||||
|
||||
Reference in New Issue
Block a user