State of 16550 driver in libchip

jennifer averett jennifer.averett at oarcorp.com
Tue Apr 3 18:45:23 UTC 2001


I receantly used the 16550 driver.  I started using it in polled and by the end of
the project was using it in interrrupt mode.  I fixed several small bugs and submitted
the changes.  Attached are  all source files from  the console directory that I used and
the ns16550 uart source that I was using.   ns16550.c, ns16550.h and ns16550_p.h are
from libchip and the remainder were in my console directory.
The modifications I made should be in the latest release, but I haven't verified this.

Jennifer

peter.o.mueller at gmx.de wrote:

> We have a 16552 chip on our board. I saw an 16550 driver in the libchip
> directory. Can anyone tell me the state of this driver. The readme mentioned that
> poll should work, but irq operation was not really tested. The
> rtems_termios_callbacks struct is not the one used in e.g. gen68360, so I assume the
> driver was not in use for some time.
>
> What is the reference bsp for hooking serial drivers into rtems (gen68360)?
> At the moment we do it like this:
>
> rtems_io_register_name("/dev/ttyS1", major, 0);
> rtems_io_register_name("/dev/ttyS2", major, 1);
> rtems_termios_open(major, 0, 0 /* arg */ &opllCallbacks);
> rtems_termios_open(major, 1, 0 /* arg */ &opllCallbacks);
>
> Is this the proposed way?
>
> Is there a list what major numbers are currently in use?
>
> Peter
>
> --
> GMX - Die Kommunikationsplattform im Internet.
> http://www.gmx.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550.h
Type: application/x-unknown-content-type-hfile
Size: 977 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0007.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550_p.h
Type: application/x-unknown-content-type-hfile
Size: 5399 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0008.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550.c
Type: application/x-unknown-content-type-cfile
Size: 16635 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0009.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550cfg.h
Type: application/x-unknown-content-type-hfile
Size: 764 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0010.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debugio.c
Type: application/x-unknown-content-type-cfile
Size: 921 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0011.bin>
-------------- next part --------------
## 
## $Id: Makefile.am,v 1.3 2000/03/15 20:51:29 uid500 Exp $
## 

AUTOMAKE_OPTIONS = foreign 1.4

PGM = $(ARCH)/console.rel

VPATH = @srcdir@:@srcdir@/../../../shared

C_FILES = console.c consolereserveresources.c config.c debugio.c \
    ns16550cfg.c printk.c
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)

OBJS = $(C_O_FILES)

include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
include $(top_srcdir)/../../../../../../automake/lib.am

#
# (OPTIONAL) Add local stuff here using +=
#

$(PGM): $(OBJS)
	$(make-rel)

# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile

all-local: $(ARCH) $(OBJS) $(PGM)

.PRECIOUS: $(PGM)

EXTRA_DIST = console.c consolereserveresources.c debugputs.c

include $(top_srcdir)/../../../../../../automake/local.am
-------------- next part --------------
# Makefile.in generated automatically by automake 1.4 from Makefile.am

# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.




SHELL = @SHELL@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include

DESTDIR =

pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@

top_builddir = ..

ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@

NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
CC = @CC@
CC_FOR_TARGET = @CC_FOR_TARGET@
CPP = @CPP@
GCCSED = @GCCSED@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
PACKHEX = @PACKHEX@
PROJECT_INCLUDE = @PROJECT_INCLUDE@
PROJECT_RELEASE = @PROJECT_RELEASE@
PROJECT_ROOT = @PROJECT_ROOT@
RTEMS_BSP = @RTEMS_BSP@
RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
RTEMS_CPU = @RTEMS_CPU@
RTEMS_CPU_MODEL = @RTEMS_CPU_MODEL@
RTEMS_HOST = @RTEMS_HOST@
RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
RTEMS_ROOT = @RTEMS_ROOT@
RTEMS_TOPdir = @RTEMS_TOPdir@
VERSION = @VERSION@

AUTOMAKE_OPTIONS = foreign 1.4

PGM = $(ARCH)/console.rel

VPATH = @srcdir@:@srcdir@/../../../shared

C_FILES = console.c consolereserveresources.c config.c debugio.c     ns16550cfg.c printk.c

C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)

OBJS = $(C_O_FILES)

TMPINSTALL_FILES = $(PROJECT_RELEASE)/lib

EXTRA_DIST = console.c consolereserveresources.c debugputs.c
mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../../../mkinstalldirs
CONFIG_CLEAN_FILES = 
DIST_COMMON =  Makefile.am Makefile.in


DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)

TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/../../../../../../automake/lib.am $(top_srcdir)/../../../../../../automake/local.am
	cd $(top_srcdir) && $(AUTOMAKE) --foreign console/Makefile

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
	cd $(top_builddir) \
	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

tags: TAGS
TAGS:


distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)

subdir = console

distdir: $(DISTFILES)
	here=`cd $(top_builddir) && pwd`; \
	top_distdir=`cd $(top_distdir) && pwd`; \
	distdir=`cd $(distdir) && pwd`; \
	cd $(top_srcdir) \
	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign console/Makefile
	@for file in $(DISTFILES); do \
	  d=$(srcdir); \
	  if test -d $$d/$$file; then \
	    cp -pr $$/$$file $(distdir)/$$file; \
	  else \
	    test -f $(distdir)/$$file \
	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
	    || cp -p $$d/$$file $(distdir)/$$file || :; \
	  fi; \
	done
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am

install-data-am:
install-data: install-data-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile all-local
all-redirect: all-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:


mostlyclean-generic:

clean-generic:

distclean-generic:
	-rm -f Makefile $(CONFIG_CLEAN_FILES)
	-rm -f config.cache config.log stamp-h stamp-h[0-9]*

maintainer-clean-generic:
mostlyclean-am:  mostlyclean-generic

mostlyclean: mostlyclean-am

clean-am:  clean-generic mostlyclean-am

clean: clean-am

distclean-am:  distclean-generic clean-am

distclean: distclean-am

maintainer-clean-am:  maintainer-clean-generic distclean-am
	@echo "This command is intended for maintainers to use;"
	@echo "it deletes files that may require special tools to rebuild."

maintainer-clean: maintainer-clean-am

.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-local all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean


include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg

include $(RTEMS_ROOT)/make/leaf.cfg

define make-library
$(RM) $@
$(AR) $(ARFLAGS) $@ $^
$(RANLIB) $@
endef

$(PROJECT_RELEASE)/lib:
	@$(mkinstalldirs) $@

.PRECIOUS: $(LIB)

#
# (OPTIONAL) Add local stuff here using +=
#

$(PGM): $(OBJS)
	$(make-rel)

# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile

all-local: $(ARCH) $(OBJS) $(PGM)

.PRECIOUS: $(PGM)

debug-am:
debug: debug-am
.PHONY: debug debug-am

profile-am:
profile: profile-am
.PHONY: profile profile-am

preinstall-am: $(PREINSTALL_FILES)
preinstall: preinstall-am
.PHONY: preinstall preinstall-am

depend-am:
depend: depend-am
.PHONY: depend depend-am

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns16550cfg.c
Type: application/x-unknown-content-type-cfile
Size: 884 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0012.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.c
Type: application/x-unknown-content-type-cfile
Size: 5572 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20010403/5c7676aa/attachment-0013.bin>


More information about the users mailing list