9
0
Fork 0

Still detangling lowuart stuff

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@709 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2008-02-18 18:22:06 +00:00
parent 7dcf33c19d
commit 87958bca21
14 changed files with 75 additions and 15 deletions

View File

@ -66,10 +66,17 @@
/* Determine which (if any) console driver to use */ /* Determine which (if any) console driver to use */
#if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE) #if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
# define CONFIG_USE_LOWUARTINIT 1 # undef CONFIG_USE_SERIALDRIVER
# undef CONFIG_USE_EARLYSERIALINIT
# ifdef CONFIG_HAVE_LOWUARTINIT
# define CONFIG_USE_LOWUARTINIT 1
# else
# undef CONFIG_USE_LOWUARTINIT
# endif
#elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0 #elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
# define CONFIG_USE_SERIALDRIVER 1 # define CONFIG_USE_SERIALDRIVER 1
# define CONFIG_USE_EARLYSERIALINIT 1 # define CONFIG_USE_EARLYSERIALINIT 1
# undef CONFIG_USE_LOWUARTINIT
#endif #endif
/**************************************************************************** /****************************************************************************

View File

@ -60,6 +60,9 @@ extern "C" {
#define EXTERN extern #define EXTERN extern
#endif #endif
EXTERN void z80_lowputc(char ch) __naked;
EXTERN char z80_lowgetc(void) __naked;
#undef EXTERN #undef EXTERN
#if defined(__cplusplus) #if defined(__cplusplus)
} }

View File

@ -110,8 +110,13 @@ CONFIG_LINKER_CODE_AREA=0x5300
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=nsh CONFIG_EXAMPLE=nsh
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -125,7 +130,9 @@ CONFIG_START_YEAR=2007
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_CONSOLE=n CONFIG_DEV_CONSOLE=n
CONFIG_DEV_LOWCONSOLE=n
# #
# The following can be used to disable categories of # The following can be used to disable categories of

View File

@ -110,8 +110,13 @@ CONFIG_LINKER_CODE_AREA=0x5300
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=ostest CONFIG_EXAMPLE=ostest
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -125,7 +130,9 @@ CONFIG_START_YEAR=2008
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_CONSOLE=n CONFIG_DEV_CONSOLE=n
CONFIG_DEV_LOWCONSOLE=n
# #
# The following can be used to disable categories of # The following can be used to disable categories of

View File

@ -110,8 +110,13 @@ CONFIG_LINKER_CODE_AREA=0x5300
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=pashello CONFIG_EXAMPLE=pashello
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -125,6 +130,7 @@ CONFIG_START_YEAR=2008
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_CONSOLE=n CONFIG_DEV_CONSOLE=n
CONFIG_DEV_LOWCONSOLE=n CONFIG_DEV_LOWCONSOLE=n

View File

@ -77,10 +77,10 @@
********************************************************************************/ ********************************************************************************/
/******************************************************************************** /********************************************************************************
* Name: up_lowputc * Name: z80_lowputc
********************************************************************************/ ********************************************************************************/
void up_lowputc(char ch) __naked void z80_lowputc(char ch) __naked
{ {
_asm _asm
ld hl, #2 ld hl, #2
@ -92,10 +92,10 @@ void up_lowputc(char ch) __naked
} }
/******************************************************************************** /********************************************************************************
* Name: up_lowgetc * Name: z80_lowgetc
********************************************************************************/ ********************************************************************************/
char up_lowgetc(void) __naked char z80_lowgetc(void) __naked
{ {
_asm _asm
call _TRS80_M3_KBDSCN ;0x002b call _TRS80_M3_KBDSCN ;0x002b

View File

@ -277,7 +277,7 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
static int up_receive(struct uart_dev_s *dev, uint32 *status) static int up_receive(struct uart_dev_s *dev, uint32 *status)
{ {
// uint8 ch = up_lowgetc(); // uint8 ch = z80_lowputc();
*status = 0; *status = 0;
return ch; return ch;
@ -318,7 +318,7 @@ static boolean up_rxavailable(struct uart_dev_s *dev)
static void up_send(struct uart_dev_s *dev, int ch) static void up_send(struct uart_dev_s *dev, int ch)
{ {
up_lowputc(ch); z80_lowputc(ch);
} }
/**************************************************************************** /****************************************************************************
@ -409,6 +409,6 @@ void up_serialinit(void)
int up_putc(int ch) int up_putc(int ch)
{ {
up_lowputc(ch); z80_lowputc(ch);
return 0; return 0;
} }

View File

@ -55,6 +55,9 @@ extern "C" {
#define EXTERN extern #define EXTERN extern
#endif #endif
EXTERN void z80_lowputc(char ch) __naked;
EXTERN char z80_lowgetc(void) __naked;
#undef EXTERN #undef EXTERN
#if defined(__cplusplus) #if defined(__cplusplus)
} }

View File

@ -103,8 +103,13 @@ CONFIG_HAVE_LIBM=n
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=nsh CONFIG_EXAMPLE=nsh
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -118,7 +123,9 @@ CONFIG_START_YEAR=2007
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_CONSOLE=y CONFIG_DEV_CONSOLE=y
CONFIG_DEV_LOWCONSOLE=n
# #
# The following can be used to disable categories of # The following can be used to disable categories of

View File

@ -103,8 +103,13 @@ CONFIG_HAVE_LIBM=n
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=ostest CONFIG_EXAMPLE=ostest
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -118,7 +123,9 @@ CONFIG_START_YEAR=2007
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_CONSOLE=n CONFIG_DEV_CONSOLE=n
CONFIG_DEV_LOWCONSOLE=n
# #
# The following can be used to disable categories of # The following can be used to disable categories of

View File

@ -103,8 +103,13 @@ CONFIG_HAVE_LIBM=n
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=pashello CONFIG_EXAMPLE=pashello
CONFIG_DEBUG=n CONFIG_DEBUG=n
@ -119,7 +124,9 @@ CONFIG_START_MONTH=2
CONFIG_START_DAY=21 CONFIG_START_DAY=21
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_DEV_CONSOLE=y CONFIG_DEV_CONSOLE=y
CONFIG_HAVE_LOWUARTINIT=n
CONFIG_DEV_LOWCONSOLE=y CONFIG_DEV_LOWCONSOLE=y
CONFIG_DEV_LOWCONSOLE=n
# #
# The following can be used to disable categories of # The following can be used to disable categories of

View File

@ -69,13 +69,13 @@
********************************************************************************/ ********************************************************************************/
/******************************************************************************** /********************************************************************************
* Name: up_lowputc * Name: z80_lowputc
* *
* Data sent to port 0xbe are echoed on stdout by the simulation * Data sent to port 0xbe are echoed on stdout by the simulation
* *
********************************************************************************/ ********************************************************************************/
void up_lowputc(char ch) __naked void z80_lowputc(char ch) __naked
{ {
_asm _asm
ld hl, #2 ld hl, #2
@ -87,13 +87,13 @@ void up_lowputc(char ch) __naked
} }
/******************************************************************************** /********************************************************************************
* Name: up_lowgetc * Name: z80_lowgetc
* *
* Data from stdin can be received on port 0xbe in the simulation * Data from stdin can be received on port 0xbe in the simulation
* *
********************************************************************************/ ********************************************************************************/
char up_lowgetc(void) __naked char z80_lowgetc(void) __naked
{ {
_asm _asm
in a, (0xbe) in a, (0xbe)

View File

@ -227,7 +227,7 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
static int up_receive(struct uart_dev_s *dev, uint32 *status) static int up_receive(struct uart_dev_s *dev, uint32 *status)
{ {
uint8 ch = up_lowgetc(); uint8 ch = z80_getputc();
*status = 0; *status = 0;
return ch; return ch;
} }
@ -267,7 +267,7 @@ static boolean up_rxavailable(struct uart_dev_s *dev)
static void up_send(struct uart_dev_s *dev, int ch) static void up_send(struct uart_dev_s *dev, int ch)
{ {
up_lowputc(ch); z80_lowputc(ch);
} }
/**************************************************************************** /****************************************************************************
@ -358,7 +358,7 @@ void up_serialinit(void)
int up_putc(int ch) int up_putc(int ch)
{ {
up_lowputc(ch); z80_lowputc(ch);
return 0; return 0;
} }

View File

@ -137,8 +137,13 @@ CONFIG_HAVE_LIBM=n
# CONFIG_JULIAN_TIME - Enables Julian time conversions # CONFIG_JULIAN_TIME - Enables Julian time conversions
# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - # CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
# Used to initialize the internal time logic. # Used to initialize the internal time logic.
# CONFIG_HAVE_LOWUARTINIT - Provides low-level UART initialization
# logic as up_lowuartinit (only needed if there is no
# serial driver).
# CONFIG_DEV_CONSOLE - Set if architecture-specific logic # CONFIG_DEV_CONSOLE - Set if architecture-specific logic
# provides /dev/console. Enables stdout, stderr, stdin. # provides /dev/console. Enables stdout, stderr, stdin.
# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
# driver (minimul support)
# #
CONFIG_EXAMPLE=ostest CONFIG_EXAMPLE=ostest
CONFIG_DEBUG=y CONFIG_DEBUG=y
@ -152,6 +157,7 @@ CONFIG_START_YEAR=2008
CONFIG_START_MONTH=2 CONFIG_START_MONTH=2
CONFIG_START_DAY=17 CONFIG_START_DAY=17
CONFIG_JULIAN_TIME=n CONFIG_JULIAN_TIME=n
CONFIG_HAVE_LOWUARTINIT=y
CONFIG_DEV_CONSOLE=n CONFIG_DEV_CONSOLE=n
CONFIG_DEV_LOWCONSOLE=n CONFIG_DEV_LOWCONSOLE=n