Debug z80sim NSH (still doesn't work)

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@476 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2008-01-01 14:54:10 +00:00
parent db57264e1f
commit 424eae4cfb
9 changed files with 89 additions and 70 deletions
+2
View File
@@ -287,4 +287,6 @@
* Changes for use with SDCC compiler * Changes for use with SDCC compiler
* Added a simulated z80 target * Added a simulated z80 target
* Fix deadlock errors when using stdio but with no buffering
+2 -1
View File
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4"> <tr align="center" bgcolor="#e4e4e4">
<td> <td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1> <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: December 30, 2007</p> <p>Last Updated: January 1, 2008</p>
</td> </td>
</tr> </tr>
</table> </table>
@@ -725,6 +725,7 @@ Other memory:
* Changes for use with SDCC compiler * Changes for use with SDCC compiler
* Added a simulated z80 target * Added a simulated z80 target
* Fix deadlock errors when using stdio but with no buffering
</pre></ul> </pre></ul>
<table width ="100%"> <table width ="100%">
+15 -3
View File
@@ -18,7 +18,7 @@ NuttX TODO List (Last updated December 13, 2007)
(1) ARM/DM320 (arch/arm/src/dm320/) (1) ARM/DM320 (arch/arm/src/dm320/)
(2) ARM/LPC214x (arch/arm/src/lpc214x/) (2) ARM/LPC214x (arch/arm/src/lpc214x/)
(4) pjrc-8052 / MCS51 (arch/pjrc-8051/) (4) pjrc-8052 / MCS51 (arch/pjrc-8051/)
(0) z80 (arch/z80/) (2) z80 (arch/z80/)
o Task/Scheduler (sched/) o Task/Scheduler (sched/)
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
@@ -315,7 +315,19 @@ o pjrc-8052 / MCS51 (arch/pjrc-8051/)
o z80 (arch/z80) o z80 (arch/z80)
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
Has the same problems with interger overflow during compilation as described Description: The Has the same problems with interger overflow during compilation
for pjrc-8051 as described for pjrc-8051. At typical cause is code like
usleep(500*1000) which exceeds the range of a 16-bit integer
Status: See pjrc-8051
Priority: See pjrc-8051
Description: The simulated serial console (configs/z80sim/src/z80_serial.c +
driver/serial.c) does not work. This is because there are
no interrupts in the simulation so there is never any serial
traffic.
Status: Open
Priority: Low -- the simulated console is not critical path and the designs
to solve the problem are complex.
+25 -25
View File
@@ -1,7 +1,7 @@
/************************************************************ /****************************************************************************
* common/up_assert.c * common/up_assert.c
* *
* Copyright (C) 2007 Gregory Nutt. All rights reserved. * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be * 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Included Files * Included Files
************************************************************/ ****************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
@@ -51,9 +51,9 @@
#include "os_internal.h" #include "os_internal.h"
#include "up_internal.h" #include "up_internal.h"
/************************************************************ /****************************************************************************
* Definitions * Definitions
************************************************************/ ****************************************************************************/
/* Output debug info if stack dump is selected -- even if /* Output debug info if stack dump is selected -- even if
* debug is not selected. * debug is not selected.
@@ -64,17 +64,17 @@
# define lldbg lib_lowprintf # define lldbg lib_lowprintf
#endif #endif
/************************************************************ /****************************************************************************
* Private Data * Private Data
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Private Functions * Private Functions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Name: up_getsp * Name: up_getsp
************************************************************/ ****************************************************************************/
/* I don't know if the builtin to get SP is enabled */ /* I don't know if the builtin to get SP is enabled */
@@ -89,9 +89,9 @@ static inline uint32 up_getsp(void)
return sp; return sp;
} }
/************************************************************ /****************************************************************************
* Name: up_stackdump * Name: up_stackdump
************************************************************/ ****************************************************************************/
#ifdef CONFIG_ARCH_STACKDUMP #ifdef CONFIG_ARCH_STACKDUMP
static void up_stackdump(void) static void up_stackdump(void)
@@ -152,9 +152,9 @@ static void up_stackdump(void)
# define up_stackdump() # define up_stackdump()
#endif #endif
/************************************************************ /****************************************************************************
* Name: _up_assert * Name: _up_assert
************************************************************/ ****************************************************************************/
static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */ static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */
{ {
@@ -179,13 +179,13 @@ static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */
} }
} }
/************************************************************ /****************************************************************************
* Public Funtions * Public Functions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Name: up_assert * Name: up_assert
************************************************************/ ****************************************************************************/
void up_assert(const ubyte *filename, int lineno) void up_assert(const ubyte *filename, int lineno)
{ {
@@ -205,9 +205,9 @@ void up_assert(const ubyte *filename, int lineno)
_up_assert(EXIT_FAILURE); _up_assert(EXIT_FAILURE);
} }
/************************************************************ /****************************************************************************
* Name: up_assert_code * Name: up_assert_code
************************************************************/ ****************************************************************************/
void up_assert_code(const ubyte *filename, int lineno, int errorcode) void up_assert_code(const ubyte *filename, int lineno, int errorcode)
{ {
+23 -19
View File
@@ -1,7 +1,7 @@
/************************************************************ /****************************************************************************
* common/up_exit.c * common/up_exit.c
* *
* Copyright (C) 2007 Gregory Nutt. All rights reserved. * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be * 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Included Files * Included Files
************************************************************/ ****************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include <sys/types.h> #include <sys/types.h>
@@ -49,19 +49,19 @@
#include <nuttx/fs.h> #include <nuttx/fs.h>
#endif #endif
/************************************************************ /****************************************************************************
* Private Definitions * Private Definitions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Private Data * Private Data
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Private Funtions * Private Funtions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Name: _up_dumponexit * Name: _up_dumponexit
* *
* Description: * Description:
@@ -70,7 +70,7 @@
* related reference counting but could be useful again * related reference counting but could be useful again
* sometime in the future. * sometime in the future.
* *
************************************************************/ ****************************************************************************/
#if defined(CONFIG_DUMP_ON_EXIT) && defined(CONFIG_DEBUG) #if defined(CONFIG_DUMP_ON_EXIT) && defined(CONFIG_DEBUG)
static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg) static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg)
@@ -110,9 +110,13 @@ static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg)
struct file_struct *filep = &tcb->streams->sl_streams[i]; struct file_struct *filep = &tcb->streams->sl_streams[i];
if (filep->fs_filedes >= 0) if (filep->fs_filedes >= 0)
{ {
#if CONFIG_STDIO_BUFFER_SIZE > 0
dbg(" fd=%d nbytes=%d\n", dbg(" fd=%d nbytes=%d\n",
filep->fs_filedes, filep->fs_filedes,
filep->fs_bufpos - filep->fs_bufstart); filep->fs_bufpos - filep->fs_bufstart);
#else
dbg(" fd=%d\n", filep->fs_filedes);
#endif
} }
} }
} }
@@ -120,18 +124,18 @@ static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg)
} }
#endif #endif
/************************************************************ /****************************************************************************
* Public Funtions * Public Functions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Name: _exit * Name: _exit
* *
* Description: * Description:
* This function causes the currently executing task to cease * This function causes the currently executing task to cease
* to exist. This is a special case of task_delete(). * to exist. This is a special case of task_delete().
* *
************************************************************/ ****************************************************************************/
void _exit(int status) void _exit(int status)
{ {
+17 -17
View File
@@ -1,7 +1,7 @@
/************************************************************ /****************************************************************************
* common/up_internal.h * common/up_internal.h
* *
* Copyright (C) 2007 Gregory Nutt. All rights reserved. * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be * 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
@@ -31,18 +31,18 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
************************************************************/ ****************************************************************************/
#ifndef __UP_INTERNAL_H #ifndef __UP_INTERNAL_H
#define __UP_INTERNAL_H #define __UP_INTERNAL_H
/************************************************************ /****************************************************************************
* Included Files * Included Files
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Definitions * Definitions
************************************************************/ ****************************************************************************/
/* Bring-up debug configurations. These are here (vs defconfig) /* Bring-up debug configurations. These are here (vs defconfig)
* because these should only be controlled during low level * because these should only be controlled during low level
@@ -53,19 +53,19 @@
#undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */ #undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */
#undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */ #undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */
#undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */ #undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */
#define CONFIG_DUMP_ON_EXIT 1 /* Dump task state on exit */ #undef CONFIG_DUMP_ON_EXIT /* Dump task state on exit */
/************************************************************ /****************************************************************************
* Public Types * Public Types
************************************************************/ ****************************************************************************/
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
typedef void (*up_vector_t)(void); typedef void (*up_vector_t)(void);
#endif #endif
/************************************************************ /****************************************************************************
* Public Variables * Public Variables
************************************************************/ ****************************************************************************/
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
/* This holds a references to the current interrupt level /* This holds a references to the current interrupt level
@@ -84,14 +84,14 @@ extern uint32 *current_regs;
extern uint32 g_heapbase; extern uint32 g_heapbase;
#endif #endif
/************************************************************ /****************************************************************************
* Inline Functions * Inline Functions
************************************************************/ ****************************************************************************/
/************************************************************ /****************************************************************************
* Public Functions * Public Functions
************************************************************/ ****************************************************************************/
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
+1 -1
View File
@@ -130,7 +130,7 @@ CONFIG_DISABLE_POSIX_TIMERS=y
CONFIG_DISABLE_PTHREAD=y CONFIG_DISABLE_PTHREAD=y
CONFIG_DISABLE_SIGNALS=n CONFIG_DISABLE_SIGNALS=n
CONFIG_DISABLE_MQUEUE=y CONFIG_DISABLE_MQUEUE=y
CONFIG_DISABLE_MOUNTPOINT=n CONFIG_DISABLE_MOUNTPOINT=y
CONFIG_DISABLE_ENVIRON=y CONFIG_DISABLE_ENVIRON=y
# #
+1 -1
View File
@@ -288,7 +288,7 @@ static boolean up_txfifonotfull(struct uart_dev_s *dev)
static boolean up_txfifoempty(struct uart_dev_s *dev) static boolean up_txfifoempty(struct uart_dev_s *dev)
{ {
return FALSE; return TRUE;
} }
/**************************************************************************** /****************************************************************************
+3 -3
View File
@@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* sched_setupstreams.c * sched_setupstreams.c
* *
* Copyright (C) 2007 Gregory Nutt. All rights reserved. * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the * the documentation and/or other materials provided with the
* distribution. * distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be * 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software * used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
@@ -78,4 +78,4 @@ int sched_setupstreams(FAR _TCB *tcb)
return OK; return OK;
} }
#endif /* CONFIG_NFILE_STREAMS && CONFIG_NFILE_STREAMS*/ #endif /* CONFIG_NFILE_STREAMS && CONFIG_NFILE_STREAMS */