Still detangling lowuart stuff

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@709 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2008-02-18 18:22:06 +00:00
parent cb2cc8c22e
commit e6756626f8
14 changed files with 75 additions and 15 deletions
+8 -1
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
/**************************************************************************** /****************************************************************************
+3
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)
} }
+7
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
+7
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
+6
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
+4 -4
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
+3 -3
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;
} }
+3
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)
} }
+7
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
+7
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
+7
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
+4 -4
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)
+3 -3
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;
} }
+6
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