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