nanogui: Thread: Porting nano-X to uClinux on M68VZ328


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Porting nano-X to uClinux on M68VZ328
From: "Marshall M. Parker" ####@####.####
Date: 20 May 2002 21:10:22 -0000
Message-Id: <0136362BB121814AA94DF907D16383461230BB@RNDSVR01.rnd-group.com>

Needing additional direction...
 
I have successfully downloaded microwindows and nano-X to my desktop and
rebuilt the libraries.  I then wrote an example application for
displaying bitmap images and rectangles, etc.
 
Now I want to port this example application to an embedded system that
is running uClinux on a Motorola M68VZ328 DragonBall processor.  My
display is an LCD that is 160x240 pixels and it will run in a black and
white mode only.
 
Any way, I am very confused about how to configure the microwindows and
nano-X libraries to understand this different hardware.  There has to be
more to it than just redefining the display width and height in the
config file and enabling framebuffer support.  Do drivers all ready
exist for various hardware platforms?  Seems this hardware layer is not
really discussed in sufficient detail anywhere.
 
Newbie needing some more guidance.
 
Thanks
Marshall P
Subject: Re: Porting nano-X to uClinux on M68VZ328
From: "Aaron J. Grier" ####@####.####
Date: 20 May 2002 21:53:22 -0000
Message-Id: <20020520144259.O12218@aaron.internal>

On Mon, May 20, 2002 at 03:57:44PM -0500, Marshall M. Parker wrote:

> Any way, I am very confused about how to configure the microwindows
> and nano-X libraries to understand this different hardware.  There has
> to be more to it than just redefining the display width and height in
> the config file and enabling framebuffer support.

if your display hardware is a framebuffer, that's almost all there is to
it.

> Do drivers all ready exist for various hardware platforms?  Seems this
> hardware layer is not really discussed in sufficient detail anywhere.

take a look in src/drivers at the various scr_*.c files .  that should
give you an idea how things are structured, and some of the drivers
available.

-- 
  Aaron J. Grier  |   Frye Electronics, Tigard, OR   |  ####@####.####
Subject: Re: [nanogui] Porting nano-X to uClinux on M68VZ328
From: "Greg Haerr" ####@####.####
Date: 20 May 2002 22:10:04 -0000
Message-Id: <015b01c20049$e275f8b0$6817dbd0@censoft.com>

: Do drivers all ready
exist for various hardware platforms?  Seems this hardware layer is not
really discussed in sufficient detail anywhere.
 
Microwindows has been primarily used on Linux systems, 
where it takes advantage of the kernel-based framebuffer
driver, available for most hardware platforms.  This provides
a server-program accessible memory area that when written
to, dots appear on the display.

For ucLinux, you will likely have to write your own kernel
framebuffer driver.  If there is such a thing and it uses
the standard Linux framebuffer interface, then the standard
Microwindows screen driver (drivers/scr_fb.c) will work.
Otherwise, you'll need to write in addition a Microwindows
screen driver for the particular kernel framebuffer implementation.

For more details on the screen driver, see the Architecture 
document on the mwin web site.

Regards,

Greg


Subject: Porting nano-X to uClinux on M68VZ328
From: "=?GB2312?Q?=D0=EC=CF=B0=CE=C4?=" ####@####.####
Date: 29 Aug 2004 13:48:33 +0100
Message-Id:

Hi, all:

  Now I want to port some example application to an embedded system that is running uClinux on a Motorola M68VZ328 DragonBall processor.  My display is an LCD that is 320x240 pixels and it will run in a black and  white mode only.

  But I failed to compile micrwin on uClinux, can anyone help me? 

  The distribution I use is uClinux-dist-20040408.tar.gz,and the version of the m68k tools is m68k-elf-tools-20031003.sh.

  Bellow is the err file when I run 'make user_only 2> errs_user':	

kbd_null.c:19: warning: initialization from incompatible pointer type
cc1: Invalid option `68000'
cc1: Invalid option `sep-data'
make[5]: *** [/home/uClinux-dist2004/user/microwin/src/bin/convbmp] Error 1
winevent.c:19: warning: static declaration for `abs' follows non-static
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.plt'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.gnu.version_r'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.gnu.version'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.dynstr'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.dynsym'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.hash'
/usr/local/m68k-elf/bin/ld.real: warning: no memory region specified for section `.dynamic'
/usr/local/m68k-elf/bin/ld.real: section .plt [00000000 -> 0000060f] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .gnu.version_r [00000610 -> 0000063f] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .gnu.version [00000640 -> 000007ed] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .dynstr [000007ee -> 00001557] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .dynsym [00001558 -> 000022c7] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .hash [000022c8 -> 0000293f] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .dynamic [00002940 -> 00002a17] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld.real: section .junk [00000000 -> 00000ba7] overlaps section .text [00000000 -> 00042e5f]
/usr/local/m68k-elf/bin/ld: line 149: 20168 Segmentation fault      $LINKER $SDIRS -T $LDSCRIPT -o "$OFILE.gdb" "$OFILE.elf2flt"
collect2: ld returned 139 exit status
make[4]: *** [/home/uClinux-dist2004/user/microwin/src/bin/nano-X] Error 1
/home/uClinux-dist2004/user/microwin/src/bin/nxkbd.elf2flt: In function `main':
/home/uClinux-dist2004/user/microwin/src/demos/nxkbd/nxkbd.c:296: undefined reference to `image_keynorm'
/home/uClinux-dist2004/user/microwin/src/demos/nxkbd/nxkbd.c:296: undefined reference to `image_keyshft'
/home/uClinux-dist2004/user/microwin/src/demos/nxkbd/nxkbd.c:300: undefined reference to `image_keyctrl'
/home/uClinux-dist2004/user/microwin/src/demos/nxkbd/nxkbd.c:326: undefined reference to `image_keynum'
collect2: ld returned 1 exit status
make[5]: *** [/home/uClinux-dist2004/user/microwin/src/bin/nxkbd] Error 1
In file included from hre_api.h:39,
                 from scrib.h:27,
                 from nxscribble.c:11:
hre.h:271: parse error before `wchar_t'
hre.h:271: warning: no semicolon at end of struct or union
hre.h:271: warning: no semicolon at end of struct or union
hre.h:272: warning: data definition has no type or storage class
hre.h:273: parse error before `}'
hre.h:273: warning: data definition has no type or storage class
hre.h:289: parse error before `letterset'
hre.h:289: warning: no semicolon at end of struct or union
hre.h:291: parse error before `}'
hre.h:291: warning: data definition has no type or storage class
hre.h:358: parse error before `wchar_t'
hre.h:358: warning: no semicolon at end of struct or union
hre.h:358: warning: no semicolon at end of struct or union
hre.h:360: parse error before `}'
hre.h:360: warning: data definition has no type or storage class
hre.h:362: parse error before `}'
hre.h:362: warning: data definition has no type or storage class
hre.h:372: parse error before `rec_element'
hre.h:372: warning: no semicolon at end of struct or union
hre.h:375: parse error before `}'
hre.h:392: parse error before `rec_element'
hre.h:392: warning: no semicolon at end of struct or union
hre.h:397: parse error before `}'
hre.h:397: warning: data definition has no type or storage class
In file included from hre_api.h:40,
                 from scrib.h:27,
                 from nxscribble.c:11:
hre_api_internal.h:129: parse error before `letterset'
hre_api_internal.h:137: parse error before `letterset'
hre_api_internal.h:151: parse error before `rc'
hre_api_internal.h:152: parse error before `*'
hre_api_internal.h:153: warning: data definition has no type or storage class
hre_api_internal.h:239: parse error before `*'
In file included from scrib.h:28,
                 from nxscribble.c:11:
li_recognizer.h:21: parse error before `rc'
make[5]: *** [nxscribble.o] Error 1

My src/config file is:

####################################################################
# Microwindows and Nano-X configuration file
#
# This package can be configured to run on Linux (MIPS, ARM, POWERPC or x86)
# UNIX, ELKS, DJGPP, or RTEMS.
# On Linux, we've got drivers for Linux 2.x framebuffers, X11, or,
# svgalib for VGA hardware.
# In addition, a gpm or direct serial mouse driver can be configured.
# On ELKS, the bios screen driver and serial mouse driver are always used.
#
# Either Microwindows and/or Nano-X can be built.
# Microwindows and Nano-X have several demos.
#
# For MSDOS makes, see mcmwin.mak and mcnanox.mak
####################################################################

####################################################################
#
# build target platform
#
# Valid ARCH values are:
#
# LINUX-NATIVE
# LINUX-ARM
# LINUX-MIPS
# LINUX-POWERPC
# LINUX-SH
# FREEBSD-X86
# SOLARIS
# RTEMS
# DJGPP
# ELKS
#
# note: ELKS can't build client/server nano-X, nor widget lib
#
####################################################################
ARCH                     = uClinux
ARMTOOLSPREFIX           = arm-linux-
MIPSTOOLSPREFIX          = mipsel-linux-
POWERPCTOOLSPREFIX       = powerpc-linux-
SHTOOLSPREFIX            = sh-linux-gnu
RTEMSTOOLSPREFIX         = i386-rtemself-

####################################################################
#
# Compiling options
#
####################################################################
OPTIMIZE                 = N
DEBUG                    = Y
VERBOSE                  = Y

####################################################################
#
# Libraries to build: microwin, nano-X, nanowidget, object frameworks
#
####################################################################
MICROWIN                 = Y
NANOX                    = Y
SHAREDLIBS               = N
NWIDGET                  = N
OBJFRAMEWORK             = N


####################################################################
#
# Demos to build
#
####################################################################
MICROWINDEMO             = N
NANOXDEMO                = Y

####################################################################
#
# Applications to build
#
####################################################################
NANOWM                   = Y

####################################################################
#
# The pixeltype of the native hardware or underlying graphics library.
# This definition defines the PIXELVAL to be 32, 16 or 8 bits wide.
# If using Linux framebuffer, set to MWPF_TRUECOLOR0888, and use fbset.
# It also enables GdArea/GrArea for this particular pixel packing format.
#
# define MWPF_PALETTE       /* pixel is packed 8 bits 1, 4 or 8 pal index*/
# define MWPF_TRUECOLOR0888 /* pixel is packed 32 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR888  /* pixel is packed 24 bits 8/8/8 truecolor*/
# define MWPF_TRUECOLOR565  /* pixel is packed 16 bits 5/6/5 truecolor*/
# define MWPF_TRUECOLOR555  /* pixel is packed 16 bits 5/5/5 truecolor*/
# define MWPF_TRUECOLOR332  /* pixel is packed 8 bits 3/3/2 truecolor*/
#
####################################################################
SCREEN_PIXTYPE           = MWPF_TRUECOLOR0888

####################################################################
#
# NanoX: Put Y to the following line to link the nano-X application
# with the server.  This is required for ELKS, if no network is present,
# or for speed or debugging.  This affects the nano-X server only.
#
####################################################################
LINK_APP_INTO_SERVER     = N

####################################################################
#
# File I/O support
# Supporting either below drags in libc stdio, which may not be wanted
#
####################################################################
HAVE_FILEIO              = Y

####################################################################
# BMP, GIF reading support
####################################################################
HAVE_BMP_SUPPORT         = Y
HAVE_GIF_SUPPORT         = Y
HAVE_PNM_SUPPORT         = Y
HAVE_XPM_SUPPORT         = Y

####################################################################
# JPEG support through libjpeg, see README.txt in contrib/jpeg
####################################################################
HAVE_JPEG_SUPPORT        = N
INCJPEG                  = .
LIBJPEG                  = /usr/lib/libjpeg.a

####################################################################
# PNG support via libpng and libz
####################################################################
HAVE_PNG_SUPPORT         = N
INCPNG                   = .
LIBPNG                   = /usr/lib/libpng.a
LIBZ                     = /usr/lib/libz.a

####################################################################
# T1 adobe type1 font support thru t1lib
####################################################################
HAVE_T1LIB_SUPPORT       = N
INCT1LIB                 = /usr/include
LIBT1LIB                 = /usr/lib/libt1.a

####################################################################
# TrueType font support thru FreeType
####################################################################
HAVE_FREETYPE_SUPPORT    = Y
INCFTLIB                 = /usr/include/freetype1
LIBFTLIB                 = /usr/lib/libttf.so
FREETYPE_FONT_DIR        = "/usr/local/microwin/fonts"

####################################################################
# Shared memory support for Nano-X client/server protocol speedup
####################################################################
HAVE_SHAREDMEM_SUPPORT   = N

####################################################################
# Chinese Han Zi Ku font support
####################################################################
HAVE_HZK_SUPPORT         = N
HZK_FONT_DIR             = "fonts/chinese"

####################################################################
# Chinese BIG5 compiled in font support (big5font.c)
####################################################################
HAVE_BIG5_SUPPORT        = N

####################################################################
# Chinese GB2312 compiled in font support (gb2312font.c)
####################################################################
HAVE_GB2312_SUPPORT      = N

####################################################################
# Generate screen driver interface only with no fonts or clipping
####################################################################
NOFONTSORCLIPPING        = N

####################################################################
#
# Window move algorithms for Microwindows
# Change for tradeoff between cpu speed and looks
# ERASEMOVE repaints only backgrounds while window dragging, quicker.
# Otherwise an XOR redraw is used for window moves only after button up,
# quickest (should set for ELKS)
# UPDATEREGIONS paints in update clipping region only for better look and feel
#
####################################################################
ERASEMOVE                = N
UPDATEREGIONS            = Y

####################################################################
#
# Use MS fonts (default no)
#
####################################################################
HAVEMSFONTS              = N

####################################################################
#
# Link with Gray Palette (valid only for 4bpp modes)
#
####################################################################
GRAYPALETTE              = Y

####################################################################
#
# If the platform is running UNIX, Linux or RTEMS...
#
####################################################################
ifneq ($(ARCH), ELKS)

# X Window screen, mouse and kbd drivers
X11                      = N

ifeq ($(X11), Y)
# predefined model or select screen width, height, depth(palette mode only)
SCREEN_E15               = N
SCREEN_WIDTH             = 640
SCREEN_HEIGHT            = 480
SCREEN_DEPTH             = 4

# You may want to turn this on for XFree86 4.x or if your backing store
# isn't functioning properly
USE_EXPOSURE		 = N

else

# framebuffer screen driver (linear and/or vga 4 planes)
# set VTSWITCH to include virtual terminal switch code
# set PORTRAIT_MODE to L or R for left or right orientation
# set FBREVERSE to reverse bit orders in 1,2,4 bpp
# set FBVGA=N for all systems without VGA hardware (for MIPS must=N)
FRAMEBUFFER              = Y
FBVGA                    = N
VTSWITCH                 = N
PORTRAIT_MODE            = N
FBREVERSE                = N

# svgalib screen driver
VGALIB                   = N

# direct VGA hardware access screen driver
HWVGA                    = N

####################################################################
# Mouse or touch screen driver
# TPMOUSE for Linux-VR and Embedded Planet
# TPHELIO for VTech Helio
# ADSMOUSE for ADS Graphics Client
# IPAQMOUSE for Compaq iPAQ,Intel Assabet, ARM ucb1200 (/dev/h3600_ts 11,0)
# HARRIERMOUSE for NEC Harrier
# PSIONMOUSE for the Psion 5
####################################################################
GPMMOUSE                 = N
SERMOUSE                 = N
TPMOUSE                  = N
TPHELIO                  = N
ADSMOUSE                 = N
IPAQMOUSE                = N
HARRIERMOUSE             = N
PSIONMOUSE               = N
UCTSMOUSE                = N
NOMOUSE                  = Y

# keyboard or null kbd driver
TTYKBD                   = N
SCANKBD                  = N
PIPEKBD                  = N
NOKBD                    = Y

endif

####################################################################
# Screen driver specific configuration
# SA1100_LCD_LTLEND 4bpp driver with arm SA1100 LCD controller
# INVERT4BPP 4bpp inverted pixel driver for VTech Helio
####################################################################
SA1100_LCD_LTLEND        = N
INVERT4BPP               = N

####################################################################
#
# If the platform is a RTEMS box ....
#
####################################################################
ifeq ($(ARCH), RTEMS)

# Location & BSP information of the RTEMS build
RTEMS_BUILD              = /tools/build-i386-elf-rtems
RTEMS_BSP                = pc386
LINK_APP_INTO_SERVER     = Y

endif

endif

####################################################################
#
# If the platform is an ELKS box ...
#
####################################################################
ifeq ($(ARCH), ELKS)

# Higher speed asm driver, c driver of hercules screen driver
ASMVGADRIVER             = Y
CVGADRIVER               = N
HERCDRIVER               = N
DBGDRIVER                = N

# Mouse support
SERMOUSE                 = Y

endif

Thank you very much!

                XuXiwen
####@####.####
          2004-08-29




Subject: Porting nano-X to uClinux on M68VZ328
From: "On Wong" ####@####.####
Date: 7 Sep 2004 08:13:42 +0100
Message-Id: <200409070712.BSA81885@mail-router01.qut.edu.au>

Hi,

 

I have the same problem when trying to add Microwin into the compilation for
uClinux 2-4-x. I have the following errors:

 

cc1: Invalid option '6800'

cc1: Invalid option 'id-shared-library-id=0'

 

Can anyone help?

 

 

 

Subject: Re: [nanogui] Porting nano-X to uClinux on M68VZ328
From: "Greg Haerr" ####@####.####
Date: 15 Sep 2004 04:24:25 +0100
Message-Id: <0fd101c49ad3$1ac6a720$3eba46a6@winXP>

: I have the same problem when trying to add Microwin into the compilation
for
: uClinux 2-4-x. I have the following errors:
: cc1: Invalid option '6800'
: cc1: Invalid option 'id-shared-library-id=0'

It appears that ucLinux has an old version of Microwindows and
compiler makefiles included, which need to be changed.  I suggest
pulling down 0.90 or CVS and using that version directly.

Regards,

Greg


[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.