eZ80/z20x: Correct uninitialized stack memory
arch/z80/src/ez80/Toolchain.defs: Correct some CFLAGS when optimization suppressed. arch/z80/src/ez80/Kconfig arch/z80/src/ez80/ez80_emac.c: Remove configuration option for selecting EMAC RAM address. This is duplicated and possibly conflicting. The correct address for the RAM is provided in the linker command file. The RAM should be configured once and using this single definitions. arch/z80/src/ez80/ez80_startup.asm and arch/z80/src/ez80/ez80f9*_init.asm. Move RAM and FLAH intialization out of MCU-specific logic to common start-up logic. We cannot call any functions until SRAM is initialized and the stack is properly initialized because the return address is stored on the stack. Use internal SRAM for the IDLE stack to avoid the chicken'n'egg problem. boards/z80/ez80/z20x/configs/sdboot/sdboot.zdsproj: Discuss build environments.
This commit is contained in:
parent
c161dc07a9
commit
161104c76a
@ -149,12 +149,6 @@ config EZ80_PHYCONFIG
|
||||
---help---
|
||||
0:Autonegotiate, 1:100FD, 2:100HD, 3:10FD, 4:10HD
|
||||
|
||||
config EZ80_RAMADDR
|
||||
hex "Address of internal SRAM"
|
||||
default 0xffc000
|
||||
---help---
|
||||
Address of internal SRAM (default is 0xffc000)
|
||||
|
||||
config EZ80_PKTBUFSIZE
|
||||
int "Packet Buffer Size"
|
||||
default 64
|
||||
|
@ -121,18 +121,19 @@ endif
|
||||
# Optimization level
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHASMOPTIMIZATION = -debug -NOsdiopt
|
||||
ARCHASMOPTIMIZATION = -debug
|
||||
ARCHOPTIMIZATION = -debug
|
||||
else
|
||||
ARCHASMOPTIMIZATION = -nodebug -sdiopt
|
||||
ARCHASMOPTIMIZATION = -NOdebug
|
||||
ARCHOPTIMIZATION = -NOdebug
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_NOOPT),y)
|
||||
ARCHOPTIMIZATION += -reduceopt
|
||||
#else
|
||||
# ARCHOPTIMIZATION += -promote -NOreduceopt -optsize
|
||||
ARCHOPTIMIZATION += -promote -NOreduceopt
|
||||
# ARCHOPTIMIZATION += -promote -reduceopt -NOsdiopt
|
||||
ARCHOPTIMIZATION += -NOsdiopt
|
||||
else
|
||||
# ARCHOPTIMIZATION += -NOpromote -NOreduceopt -sdiopt -optsize
|
||||
ARCHOPTIMIZATION += -sdiopt
|
||||
endif
|
||||
|
||||
# Tool names/paths.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/z80/src/ez80/ez80_emac.c
|
||||
*
|
||||
* Copyright (C) 2009-2010, 2012, 2014-2018 Gregory Nutt. All rights
|
||||
* Copyright (C) 2009-2010, 2012, 2014-2018, 2020 Gregory Nutt. All rights
|
||||
* reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
@ -96,9 +96,14 @@
|
||||
|
||||
#define ETHWORK LPWORK
|
||||
|
||||
#ifndef CONFIG_EZ80_RAMADDR
|
||||
# define CONFIG_EZ80_RAMADDR EZ80_EMACSRAM
|
||||
#endif
|
||||
/* The eZ80F92 has 16Kb of SRAM. The base address of the SRAM is setup by
|
||||
* the eZ80 start-up logic by setting the RAM_ADDR_U register to the upper
|
||||
* 8 bits of the 24-bit address. The EMAC RAM is at an offset of 0x00c000
|
||||
* into that region.
|
||||
*/
|
||||
|
||||
extern uintptr_t __RAM_ADDR_U_INIT_PARAM;
|
||||
#define ETH_RAMADDR ((uintptr_t)&__RAM_ADDR_U_INIT_PARAM << 16) + 0x00c000
|
||||
|
||||
#if CONFIG_NET_ETH_PKTSIZE > 1518
|
||||
# error "MAXF size too big for this device"
|
||||
@ -380,11 +385,12 @@ static struct ez80emac_driver_s g_emac;
|
||||
/* MII logic */
|
||||
|
||||
static void ez80emac_waitmiibusy(void);
|
||||
static void ez80emac_miiwrite(FAR struct ez80emac_driver_s *priv, uint8_t offset,
|
||||
uint16_t value);
|
||||
static uint16_t ez80emac_miiread(FAR struct ez80emac_driver_s *priv, uint32_t offset);
|
||||
static bool ez80emac_miipoll(FAR struct ez80emac_driver_s *priv, uint32_t offset,
|
||||
uint16_t bits, bool bclear);
|
||||
static void ez80emac_miiwrite(FAR struct ez80emac_driver_s *priv,
|
||||
uint8_t offset, uint16_t value);
|
||||
static uint16_t ez80emac_miiread(FAR struct ez80emac_driver_s *priv,
|
||||
uint32_t offset);
|
||||
static bool ez80emac_miipoll(FAR struct ez80emac_driver_s *priv,
|
||||
uint32_t offset, uint16_t bits, bool bclear);
|
||||
static int ez80emac_miiconfigure(FAR struct ez80emac_driver_s *priv);
|
||||
|
||||
/* Multi-cast filtering */
|
||||
@ -405,13 +411,16 @@ static int ez80emac_receive(struct ez80emac_driver_s *priv);
|
||||
/* Interrupt handling */
|
||||
|
||||
static void ez80emac_txinterrupt_work(FAR void *arg);
|
||||
static int ez80emac_txinterrupt(int irq, FAR void *context, FAR void *arg);
|
||||
static int ez80emac_txinterrupt(int irq, FAR void *context,
|
||||
FAR void *arg);
|
||||
|
||||
static void ez80emac_rxinterrupt_work(FAR void *arg);
|
||||
static int ez80emac_rxinterrupt(int irq, FAR void *context, FAR void *arg);
|
||||
static int ez80emac_rxinterrupt(int irq, FAR void *context,
|
||||
FAR void *arg);
|
||||
|
||||
static void ez80emac_sysinterrupt_work(FAR void *arg);
|
||||
static int ez80emac_sysinterrupt(int irq, FAR void *context, FAR void *arg);
|
||||
static int ez80emac_sysinterrupt(int irq, FAR void *context,
|
||||
FAR void *arg);
|
||||
|
||||
/* Watchdog timer expirations */
|
||||
|
||||
@ -430,8 +439,10 @@ static void ez80emac_txavail_work(FAR void *arg);
|
||||
static int ez80emac_txavail(struct net_driver_s *dev);
|
||||
|
||||
#ifdef CONFIG_NET_MCASTGROUP
|
||||
static int ez80emac_addmac(struct net_driver_s *dev, FAR const uint8_t *mac);
|
||||
static int ez80emac_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac);
|
||||
static int ez80emac_addmac(struct net_driver_s *dev,
|
||||
FAR const uint8_t *mac);
|
||||
static int ez80emac_rmmac(struct net_driver_s *dev,
|
||||
FAR const uint8_t *mac);
|
||||
#endif
|
||||
|
||||
/* Initialization */
|
||||
@ -750,16 +761,26 @@ static int ez80emac_miiconfigure(FAR struct ez80emac_driver_s *priv)
|
||||
}
|
||||
|
||||
dumpregs:
|
||||
ninfo("Am79c874 MII registers (FIAD=%lx)\n", CONFIG_EZ80_FIAD);
|
||||
ninfo(" MII_MCR: %04x\n", ez80emac_miiread(priv, MII_MCR));
|
||||
ninfo(" MII_MSR: %04x\n", ez80emac_miiread(priv, MII_MSR));
|
||||
ninfo(" MII_PHYID1: %04x\n", ez80emac_miiread(priv, MII_PHYID1));
|
||||
ninfo(" MII_PHYID2: %04x\n", ez80emac_miiread(priv, MII_PHYID2));
|
||||
ninfo(" MII_ADVERTISE: %04x\n", ez80emac_miiread(priv, MII_ADVERTISE));
|
||||
ninfo(" MII_LPA: %04x\n", ez80emac_miiread(priv, MII_LPA));
|
||||
ninfo(" MII_EXPANSION: %04x\n", ez80emac_miiread(priv, MII_EXPANSION));
|
||||
ninfo(" MII_DIAGNOSTICS: %04x\n", ez80emac_miiread(priv, MII_AM79C874_DIAGNOSTIC));
|
||||
ninfo("EMAC CFG1: %02x\n", inp(EZ80_EMAC_CFG1));
|
||||
ninfo("Am79c874 MII registers (FIAD=%lx)\n",
|
||||
CONFIG_EZ80_FIAD);
|
||||
ninfo(" MII_MCR: %04x\n",
|
||||
ez80emac_miiread(priv, MII_MCR));
|
||||
ninfo(" MII_MSR: %04x\n",
|
||||
ez80emac_miiread(priv, MII_MSR));
|
||||
ninfo(" MII_PHYID1: %04x\n",
|
||||
ez80emac_miiread(priv, MII_PHYID1));
|
||||
ninfo(" MII_PHYID2: %04x\n",
|
||||
ez80emac_miiread(priv, MII_PHYID2));
|
||||
ninfo(" MII_ADVERTISE: %04x\n",
|
||||
ez80emac_miiread(priv, MII_ADVERTISE));
|
||||
ninfo(" MII_LPA: %04x\n",
|
||||
ez80emac_miiread(priv, MII_LPA));
|
||||
ninfo(" MII_EXPANSION: %04x\n",
|
||||
ez80emac_miiread(priv, MII_EXPANSION));
|
||||
ninfo(" MII_DIAGNOSTICS: %04x\n",
|
||||
ez80emac_miiread(priv, MII_AM79C874_DIAGNOSTIC));
|
||||
ninfo("EMAC CFG1: %02x\n",
|
||||
inp(EZ80_EMAC_CFG1));
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
@ -824,7 +845,8 @@ static int ez80emac_miiconfigure(FAR struct ez80emac_driver_s *priv)
|
||||
|
||||
/* Check for 100BASETX half duplex */
|
||||
|
||||
else if ((advertise & MII_ADVERTISE_100BASETXHALF) && (lpa & MII_LPA_100BASETXHALF))
|
||||
else if ((advertise & MII_ADVERTISE_100BASETXHALF) &&
|
||||
(lpa & MII_LPA_100BASETXHALF))
|
||||
{
|
||||
ninfo("100BASETX half duplex\n");
|
||||
regval = inp(EZ80_EMAC_CFG1);
|
||||
@ -1195,7 +1217,7 @@ static int ez80emac_txpoll(struct net_driver_s *dev)
|
||||
static inline FAR struct ez80emac_desc_s *ez80emac_rwp(void)
|
||||
{
|
||||
return (FAR struct ez80emac_desc_s *)
|
||||
(CONFIG_EZ80_RAMADDR +
|
||||
(ETH_RAMADDR +
|
||||
((uint24_t)inp(EZ80_EMAC_RWP_H) << 8) + (uint24_t)inp(EZ80_EMAC_RWP_L));
|
||||
}
|
||||
|
||||
@ -1216,7 +1238,7 @@ static inline FAR struct ez80emac_desc_s *ez80emac_rwp(void)
|
||||
static inline FAR struct ez80emac_desc_s *ez80emac_rrp(void)
|
||||
{
|
||||
return (FAR struct ez80emac_desc_s *)
|
||||
(CONFIG_EZ80_RAMADDR +
|
||||
(ETH_RAMADDR +
|
||||
((uint24_t)inp(EZ80_EMAC_RRP_H) << 8) + (uint24_t)inp(EZ80_EMAC_RRP_L));
|
||||
}
|
||||
|
||||
@ -1772,9 +1794,11 @@ static void ez80emac_sysinterrupt_work(FAR void *arg)
|
||||
|
||||
if ((istat & EMAC_ISTAT_TXFSMERR) != 0)
|
||||
{
|
||||
nwarn("WARNING: Tx FSMERR txhead=%p {%06x, %u, %04x} trp=%02x%02x istat=%02x\n",
|
||||
priv->txhead, priv->txhead->np, priv->txhead->pktsize, priv->txhead->stat,
|
||||
inp(EZ80_EMAC_TRP_H), inp(EZ80_EMAC_TRP_L), istat);
|
||||
nwarn("WARNING: Tx FSMERR txhead=%p {%06x, %u, %04x} trp=%02x%02x "
|
||||
"istat=%02x\n",
|
||||
priv->txhead, priv->txhead->np, priv->txhead->pktsize,
|
||||
priv->txhead->stat, inp(EZ80_EMAC_TRP_H), inp(EZ80_EMAC_TRP_L),
|
||||
istat);
|
||||
|
||||
/* Increment statistics */
|
||||
|
||||
@ -2017,7 +2041,8 @@ static void ez80emac_poll_expiry(int argc, wdparm_t arg, ...)
|
||||
|
||||
static int ez80emac_ifup(FAR struct net_driver_s *dev)
|
||||
{
|
||||
FAR struct ez80emac_driver_s *priv = (FAR struct ez80emac_driver_s *)dev->d_private;
|
||||
FAR struct ez80emac_driver_s *priv =
|
||||
(FAR struct ez80emac_driver_s *)dev->d_private;
|
||||
uint8_t regval;
|
||||
int ret;
|
||||
|
||||
@ -2202,7 +2227,8 @@ static void ez80emac_txavail_work(FAR void *arg)
|
||||
|
||||
static int ez80emac_txavail(FAR struct net_driver_s *dev)
|
||||
{
|
||||
FAR struct ez80emac_driver_s *priv = (FAR struct ez80emac_driver_s *)dev->d_private;
|
||||
FAR struct ez80emac_driver_s *priv =
|
||||
(FAR struct ez80emac_driver_s *)dev->d_private;
|
||||
|
||||
/* Is our single work structure available? It may not be if there are
|
||||
* pending interrupt actions and we will have to ignore the Tx
|
||||
@ -2313,12 +2339,14 @@ static int ez80_emacinitialize(void)
|
||||
|
||||
/* The ez80 has a fixed 8kb of EMAC SRAM memory (+ 8kb of
|
||||
* general purpose SRAM) located in the high address space.
|
||||
* Configure the GP and EMAC SRAM
|
||||
* Configure the GP and EMAC SRAM.
|
||||
*
|
||||
* EZ80_RAM_CTL and EZ80_RAM_ADDR_U where configured by ez80 start-up
|
||||
* logic. We need only enable EMAC RAM here.
|
||||
*/
|
||||
|
||||
outp(EZ80_RAM_CTL, (RAMCTL_ERAMEN | RAMCTL_GPRAMEN));
|
||||
outp(EZ80_RAM_ADDR_U, (CONFIG_EZ80_RAMADDR >> 16));
|
||||
outp(EZ80_EMAC_BP_U, (CONFIG_EZ80_RAMADDR >> 16));
|
||||
outp(EZ80_EMAC_BP_U, (ETH_RAMADDR >> 16));
|
||||
|
||||
/* The EMAC memory is broken into two parts: the Tx buffer and the Rx buffer.
|
||||
*
|
||||
@ -2328,7 +2356,7 @@ static int ez80_emacinitialize(void)
|
||||
* The Transmit Write Pointer, TRP, will be set to the TLBP.
|
||||
*/
|
||||
|
||||
addr = CONFIG_EZ80_RAMADDR;
|
||||
addr = ETH_RAMADDR;
|
||||
outp(EZ80_EMAC_TLBP_L, (uint8_t)(addr & 0xff));
|
||||
outp(EZ80_EMAC_TLBP_H, (uint8_t)((addr >> 8) & 0xff));
|
||||
|
||||
|
@ -41,11 +41,16 @@
|
||||
; Constants
|
||||
;**************************************************************************
|
||||
|
||||
EZ80_RAM_CTL EQU %b4
|
||||
EZ80_RAM_ADDR_U EQU %b5
|
||||
|
||||
EZ80_FLASH_ADDR_U EQU %f7
|
||||
EZ80_FLASH_CTRL EQU %f8
|
||||
|
||||
;**************************************************************************
|
||||
; Global symbols used
|
||||
;**************************************************************************
|
||||
|
||||
xref __stack
|
||||
xref _ez80_init
|
||||
xref _ez80_initvectors
|
||||
xref _ez80_initsysclk
|
||||
@ -61,6 +66,12 @@
|
||||
xref __len_code
|
||||
xref __low_code
|
||||
xref __low_romcode
|
||||
|
||||
xref __RAM_ADDR_U_INIT_PARAM
|
||||
xref __RAM_CTL_INIT_PARAM
|
||||
xref __FLASH_ADDR_U_INIT_PARAM
|
||||
xref __FLASH_CTL_INIT_PARAM
|
||||
|
||||
xref _nx_start
|
||||
xdef _ez80_startup
|
||||
xdef _ez80_halt
|
||||
@ -77,10 +88,22 @@
|
||||
;**************************************************************************
|
||||
|
||||
_ez80_startup:
|
||||
; Set up the stack pointer at the location determined the linkcmd
|
||||
; file
|
||||
; Enable internal memory using settings from the linkcmd file
|
||||
|
||||
ld sp, __stack
|
||||
ld a, __FLASH_ADDR_U_INIT_PARAM
|
||||
out0 (EZ80_FLASH_ADDR_U), a
|
||||
ld a, __FLASH_CTL_INIT_PARAM
|
||||
out0 (EZ80_FLASH_CTRL), a
|
||||
|
||||
ld a, __RAM_ADDR_U_INIT_PARAM
|
||||
out0 (EZ80_RAM_ADDR_U), a
|
||||
ld a, __RAM_CTL_INIT_PARAM
|
||||
out0 (EZ80_RAM_CTL), a
|
||||
|
||||
; Position the IDLE task stack point at an offset of 1Kb in on-chip SRAM
|
||||
; On-chip SRAM resides at an offset of %00e000 from the RAM base address.
|
||||
|
||||
ld sp, __RAM_ADDR_U_INIT_PARAM << 16 + %00e400
|
||||
|
||||
; Perform chip-specific initialization
|
||||
|
||||
|
@ -55,6 +55,9 @@
|
||||
#define EZ80_EMACSRAM 0xffc000 /* On-chip EMAC SRAM (8Kb) on reset*/
|
||||
#define EZ80_ONCHIPSRAM 0xffe000 /* On-chip SRAM (8Kb) on reset */
|
||||
|
||||
#define EZ80_FLASH_SIZE 0x040000 /* 256Kb on-chip flash */
|
||||
#define EZ80_SRAM_SIZE 0x002000 /* 8Kb on-chip sram */
|
||||
|
||||
/* Product ID Registers ************************************************************/
|
||||
|
||||
#define EZ80_ZDI_ID_L 0x00
|
||||
|
@ -1,6 +1,5 @@
|
||||
/************************************************************************************
|
||||
* arch/z80/src/ez80/ez80f91_emac.h
|
||||
* arch/z80/src/chip/ez80f91_emac.h
|
||||
*
|
||||
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
|
@ -188,17 +188,6 @@ _ez80_init:
|
||||
ld a, __CS3_CTL_INIT_PARAM
|
||||
out0 (CS3_CTL), a
|
||||
|
||||
; Enable internal memory
|
||||
|
||||
ld a, __FLASH_ADDR_U_INIT_PARAM
|
||||
out0 (FLASH_ADDR_U), a
|
||||
ld a, __FLASH_CTL_INIT_PARAM
|
||||
out0 (FLASH_CTRL), a
|
||||
|
||||
ld a, __RAM_ADDR_U_INIT_PARAM
|
||||
out0 (RAM_ADDR_U), a
|
||||
ld a, __RAM_CTL_INIT_PARAM
|
||||
out0 (RAM_CTL), a
|
||||
ret
|
||||
|
||||
;*****************************************************************************
|
||||
|
@ -25,7 +25,7 @@
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include "ez80f91_emac.h"
|
||||
#include "nuttx/config.h"
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -33,11 +33,19 @@
|
||||
|
||||
/* Memory map ***********************************************************************/
|
||||
|
||||
#define EZ80_ONCHIPFLASH 0x000000 /* CS0: 128Kb of on-chip flash */
|
||||
#define EZ80_ONCHIPFLASH 0x000000 /* CS0: 64-128Kb of on-chip flash */
|
||||
#define EZ80_OFFCHIPCS0 0x400000 /* CS0: Off chip use (usually flash) */
|
||||
#define EZ80_OFFCHIPCS2 0x800000 /* CS2: Off chip use (e.g. memory mapped I/O) */
|
||||
#define EZ80_OFFCHIPCS1 0xc00000 /* CS1: Off chip use (usually SRAM) */
|
||||
#define EZ80_ONCHIPSRAM 0xffe000 /* On-chip SRAM (8Kb) on reset */
|
||||
#define EZ80_ONCHIPSRAM 0xffe000 /* On-chip SRAM (4-8Kb) on reset */
|
||||
|
||||
#if defined(CONFIGS_ARCH_CHIP_EZ80L92)
|
||||
# define EZ80_FLASH_SIZE 0x020000 /* 128Kb on-chip flash */
|
||||
# define EZ80_SRAM_SIZE 0x002000 /* 8Kb on-chip sram */
|
||||
#elif defined(CONFIGS_ARCH_CHIP_EZ80L93)
|
||||
# define EZ80_FLASH_SIZE 0x010000 /* 64Kb on-chip flash */
|
||||
# define EZ80_SRAM_SIZE 0x001000 /* 4Kb on-chip sram */
|
||||
#endif
|
||||
|
||||
/* Product ID Registers ************************************************************/
|
||||
|
||||
|
@ -133,17 +133,6 @@ _ez80_init:
|
||||
ld a, __CS3_CTL_INIT_PARAM
|
||||
out0 (CS3_CTL), a
|
||||
|
||||
; Enable internal memory
|
||||
|
||||
ld a, __FLASH_ADDR_U_INIT_PARAM
|
||||
out0 (FLASH_ADDR_U), a
|
||||
ld a, __FLASH_CTL_INIT_PARAM
|
||||
out0 (FLASH_CTRL), a
|
||||
|
||||
ld a, __RAM_ADDR_U_INIT_PARAM
|
||||
out0 (RAM_ADDR_U), a
|
||||
ld a, __RAM_CTL_INIT_PARAM
|
||||
out0 (RAM_CTL), a
|
||||
ret
|
||||
|
||||
;*****************************************************************************
|
||||
|
@ -43,9 +43,9 @@ CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_TESTING_OSTEST_NBARRIER_THREADS=3
|
||||
CONFIG_TESTING_OSTEST_STACKSIZE=2048
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_RXBUFSIZE=0
|
||||
CONFIG_UART0_RXBUFSIZE=32
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=0
|
||||
CONFIG_UART0_TXBUFSIZE=32
|
||||
CONFIG_USERMAIN_STACKSIZE=1024
|
||||
CONFIG_USER_ENTRYPOINT="ostest_main"
|
||||
CONFIG_WDOG_INTRESERVE=0
|
||||
|
@ -54,9 +54,9 @@ CONFIG_STDIO_DISABLE_BUFFERING=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_BITS=0
|
||||
CONFIG_UART0_RXBUFSIZE=0
|
||||
CONFIG_UART0_RXBUFSIZE=32
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=0
|
||||
CONFIG_UART0_TXBUFSIZE=32
|
||||
CONFIG_USERMAIN_STACKSIZE=1024
|
||||
CONFIG_USER_ENTRYPOINT="dhcpd_main"
|
||||
CONFIG_WDOG_INTRESERVE=1
|
||||
|
@ -53,9 +53,9 @@ CONFIG_STDIO_DISABLE_BUFFERING=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_BITS=0
|
||||
CONFIG_UART0_RXBUFSIZE=0
|
||||
CONFIG_UART0_RXBUFSIZE=32
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=0
|
||||
CONFIG_UART0_TXBUFSIZE=32
|
||||
CONFIG_USERMAIN_STACKSIZE=1024
|
||||
CONFIG_USER_ENTRYPOINT="webserver_main"
|
||||
CONFIG_WDOG_INTRESERVE=1
|
||||
|
@ -50,9 +50,9 @@ CONFIG_STDIO_DISABLE_BUFFERING=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_BITS=0
|
||||
CONFIG_UART0_RXBUFSIZE=0
|
||||
CONFIG_UART0_RXBUFSIZE=32
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=0
|
||||
CONFIG_UART0_TXBUFSIZE=32
|
||||
CONFIG_USERMAIN_STACKSIZE=1024
|
||||
CONFIG_USER_ENTRYPOINT="nettest_main"
|
||||
CONFIG_WDOG_INTRESERVE=1
|
||||
|
@ -52,9 +52,9 @@ CONFIG_STDIO_DISABLE_BUFFERING=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_UART0_BAUD=57600
|
||||
CONFIG_UART0_BITS=0
|
||||
CONFIG_UART0_RXBUFSIZE=0
|
||||
CONFIG_UART0_RXBUFSIZE=32
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=0
|
||||
CONFIG_UART0_TXBUFSIZE=32
|
||||
CONFIG_USERMAIN_STACKSIZE=1024
|
||||
CONFIG_USER_ENTRYPOINT="poll_main"
|
||||
CONFIG_WDOG_INTRESERVE=1
|
||||
|
@ -33,6 +33,7 @@ Contents
|
||||
========
|
||||
|
||||
o ZDS-II Compiler Versions
|
||||
o Environments
|
||||
o Serial Console
|
||||
o LEDs and Buttons
|
||||
- LEDs
|
||||
@ -62,6 +63,26 @@ Other Versions
|
||||
boards/z80/ez80/z20x/scripts/Make.defs and, perhaps, (3)
|
||||
arch/z80/src/ez80/Toolchain.defs.
|
||||
|
||||
Environments
|
||||
============
|
||||
|
||||
Cygwin:
|
||||
|
||||
All testing was done using the Cygwin environment under Windows.
|
||||
|
||||
MinGW/MSYS
|
||||
|
||||
One attempt was made using the MSYS2 environment under Windws. That build
|
||||
correctly until the very end, then it failed to include "chip.h". this
|
||||
was traced to arch/z80/src/Makefile.zdsiil: The usrinc paths created by
|
||||
Makefile.zdsiil contained POSIX-style paths that were not usable to the
|
||||
ZDS-II compiler.
|
||||
|
||||
Native
|
||||
|
||||
The Windows native build has not been attempt. I would expect that it
|
||||
would have numerous problems.
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
|
@ -110,7 +110,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">Standard</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0FFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
@ -230,7 +230,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">Standard</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0BFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
|
@ -140,7 +140,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
@ -291,7 +291,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
|
@ -110,7 +110,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">AllRam</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0FFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
@ -230,7 +230,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">AllRam</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0BFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
|
@ -140,7 +140,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
@ -291,7 +291,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
|
@ -110,7 +110,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">Standard</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0FFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
@ -230,7 +230,7 @@
|
||||
<option name="linkconfig" type="string" change-action="build">Standard</option>
|
||||
<option name="flashinfo" type="string" change-action="build">000000-0000FF</option>
|
||||
<option name="ram" type="string" change-action="build">040000-0BFFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="extio" type="string" change-action="build">000000-00FFFF</option>
|
||||
<option name="intio" type="string" change-action="build">000000-0000FF</option>
|
||||
</options>
|
||||
|
@ -140,7 +140,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
@ -291,7 +291,7 @@
|
||||
<option name="quiet" type="boolean" change-action="none">false</option>
|
||||
<option name="ram" type="string" change-action="build">B7E000-B7FFFF</option>
|
||||
<option name="relist" type="boolean" change-action="build">false</option>
|
||||
<option name="rom" type="string" change-action="build">000000-03FFFF</option>
|
||||
<option name="rom" type="string" change-action="build">000000-01FFFF</option>
|
||||
<option name="startup" type="string" change-action="build"></option>
|
||||
<option name="startuptype" type="integer" change-action="build">1</option>
|
||||
<option name="usebootdirectives" type="boolean" change-action="build">false</option>
|
||||
|
@ -23,7 +23,7 @@
|
||||
-map -maxhexlen=64 -quiet -warnoverlap -xref -unresolved=fatal
|
||||
-sort NAME=ascending -warn -debug -NOigcase
|
||||
|
||||
RANGE ROM $000000 : $03FFFF
|
||||
RANGE ROM $000000 : $01FFFF
|
||||
RANGE RAM $040000 : $0BFFFF
|
||||
RANGE EXTIO $000000 : $00FFFF
|
||||
RANGE INTIO $000000 : $0000FF
|
||||
|
@ -23,7 +23,7 @@
|
||||
-map -maxhexlen=64 -quiet -warnoverlap -xref -unresolved=fatal
|
||||
-sort NAME=ascending -warn -debug -NOigcase
|
||||
|
||||
RANGE ROM $000000 : $03FFFF
|
||||
RANGE ROM $000000 : $01FFFF
|
||||
RANGE RAM $040000 : $0BFFFF
|
||||
RANGE EXTIO $000000 : $00FFFF
|
||||
RANGE INTIO $000000 : $0000FF
|
||||
|
@ -23,7 +23,7 @@
|
||||
-map -maxhexlen=64 -quiet -warnoverlap -xref -unresolved=fatal
|
||||
-sort NAME=ascending -warn -debug -NOigcase
|
||||
|
||||
RANGE ROM $000000 : $03FFFF
|
||||
RANGE ROM $000000 : $01FFFF
|
||||
RANGE RAM $040000 : $0BFFFF
|
||||
RANGE EXTIO $000000 : $00FFFF
|
||||
RANGE INTIO $000000 : $0000FF
|
||||
|
@ -48,6 +48,14 @@
|
||||
/* Memory map. Board-specific extensions to the basic ez80f91 memory map
|
||||
* (see arch/z80/src/ez80/ez80f91.h)
|
||||
*
|
||||
* 00 0000 - 01 ffff - 128Kb FLASH
|
||||
* 02 0000 - 03 ffff - (Reserved for parts with 256Kb FLASH)
|
||||
* 04 0000 - 0b ffff - 512Kb External SRAM
|
||||
* SSD1963 LCD frame buffer interface
|
||||
* YM2413B Sound Generator
|
||||
* af e000 - af ffff - 8Kb on-chip SRAM
|
||||
* af e000 - af e3ff - IDLE stack
|
||||
*
|
||||
* Chip select 0 is for the 512Kb AS6C4008 SRAM starting at address 0x40000
|
||||
* (after the flash).
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user