Fix sim build under Ubuntu 9.09

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3988 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-09-28 14:59:54 +00:00
parent 7aef42a81e
commit 848972b5ad
3 changed files with 36 additions and 30 deletions

12
TODO
View File

@ -1,4 +1,4 @@
NuttX TODO List (Last updated September 12, 2011) NuttX TODO List (Last updated September 28, 2011)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with This file summarizes known NuttX bugs, limitations, inconsistencies with
@ -21,7 +21,7 @@ nuttx/
(1) Pascal add-on (pcode/) (1) Pascal add-on (pcode/)
(1) Documentation (Documentation/) (1) Documentation (Documentation/)
(5) Build system / Toolchains (5) Build system / Toolchains
(7) Linux/Cywgin simulation (arch/sim) (6) Linux/Cywgin simulation (arch/sim)
(4) ARM (arch/arm/) (4) ARM (arch/arm/)
(1) ARM/C5471 (arch/arm/src/c5471/) (1) ARM/C5471 (arch/arm/src/c5471/)
(3) ARM/DM320 (arch/arm/src/dm320/) (3) ARM/DM320 (arch/arm/src/dm320/)
@ -622,14 +622,6 @@ o Linux/Cywgin simulation (arch/sim)
Status: Open Status: Open
Priority: Low (unless you want to test networking features on the simulation). Priority: Low (unless you want to test networking features on the simulation).
Description: There is an X11-based framebuffer driver that you can use exercise
the NuttX graphics subsystem on the simulator. But I am not much
of an X11 programmer so I did not use X11 autoconfiguration stuff.
As a result, it builds on old X11 installations, but not on current
versions.
Status: Open
Priority: Low (unless you want to test graphics features on the simulation).
Description: Since the simulation is not pre-emptible, you can't use round-robin Description: Since the simulation is not pre-emptible, you can't use round-robin
scheduling (no time slicing). Currently, the timer interrupts are scheduling (no time slicing). Currently, the timer interrupts are
"faked" during IDLE loop processing and, as a result, there is no "faked" during IDLE loop processing and, as a result, there is no

View File

@ -35,19 +35,6 @@
-include $(TOPDIR)/Make.defs -include $(TOPDIR)/Make.defs
# The X11 stuff only builds on Linux (but not Ubuntu -- Ubuntu needs
# some work).
ifneq ($(HOSTOS),Cygwin)
ifeq ($(CONFIG_SIM_X11FB),y)
USEX = y
else
USEX = n
endif
else
USEX = n
endif
CFLAGS += -I$(TOPDIR)/sched CFLAGS += -I$(TOPDIR)/sched
ASRCS = up_setjmp.S ASRCS = up_setjmp.S
@ -64,7 +51,7 @@ ifeq ($(CONFIG_NX_LCDDRIVER),y)
CSRCS += up_lcd.c CSRCS += up_lcd.c
else else
CSRCS += up_framebuffer.c CSRCS += up_framebuffer.c
ifeq ($(USEX),y) ifeq ($(CONFIG_SIM_X11FB),y)
HOSTSRCS += up_x11framebuffer.c HOSTSRCS += up_x11framebuffer.c
endif endif
endif endif
@ -97,7 +84,7 @@ SRCS = $(ASRCS) $(CSRCS) $(HOSTSRCS)
OBJS = $(AOBJS) $(COBJS) $(HOSTOBJS) OBJS = $(AOBJS) $(COBJS) $(HOSTOBJS)
LDFLAGS = $(ARCHSCRIPT) LDFLAGS = $(ARCHSCRIPT)
ifeq ($(USEX),y) ifeq ($(CONFIG_SIM_X11FB),y)
STDLIBS = -lX11 -lXext -lc STDLIBS = -lX11 -lXext -lc
else else
STDLIBS = -lc STDLIBS = -lc

View File

@ -68,10 +68,20 @@ X11 Issues
^^^^^^^^^^ ^^^^^^^^^^
There is an X11-based framebuffer driver that you can use exercise the NuttX graphics There is an X11-based framebuffer driver that you can use exercise the NuttX graphics
subsystem on the simulator (see the sim/nx configuration below). But I am not much subsystem on the simulator (see the sim/nx configuration below). This may require a
of an X11 programmer so I did not use X11 autoconfiguration stuff. As a result, the X11 lot of tinkering to get working, depending upon where your X11 installation stores
support builds on old X11 installations, but not on current versions. This needs to libraries and header files and how it names libraries.
get fixed someday.
For example, on UBuntu 9.09, I had to do the following to get a clean build:
cd /usr/lib/
sudo ln -s libXext.so.6.4.0 libXext.so
(I also get a segmentation fault at the conclusion of the NX test -- that will need
to get looked into as well).
The X11 examples builds on Cygwin, but does not run. The last time I tried it,
XOpenDisplay() aborted the program.
Configurations Configurations
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
@ -137,18 +147,35 @@ nx
My system has 24-bit color, but packed into 32-bit words so My system has 24-bit color, but packed into 32-bit words so
the correct seeting of CONFIG_SIM_FBBPP is 32. the correct seeting of CONFIG_SIM_FBBPP is 32.
- For whatever value of CONFIG_SIM_FBBPP is selected, then - For whatever value of CONFIG_SIM_FBBPP is selected, then
the corresponidng CONFIG_NX_DISABLE_*BPP setting must the corresponidng CONFIG_NX_DISABLE_*BPP setting must
not be disabled. not be disabled.
- The default in defconfig is to use a generic memory buffer - The default in defconfig is to use a generic memory buffer
for the framebuffer. defconfig-x11 is an example with X11 for the framebuffer. defconfig-x11 is an example with X11
support enabled. support enabled. To use this configuration you have to
configure as follows:
cd tools
./configure.sh sim/nx
cd ..
cp configs/sim/nx/defconfig-x11 .config
- The default is the single-user NX implementation. To select - The default is the single-user NX implementation. To select
the multi-user NX implementation: the multi-user NX implementation:
CONFG_NX_MULTIUSER=y CONFG_NX_MULTIUSER=y
CONFIG_DISABLE_MQUEUE=n CONFIG_DISABLE_MQUEUE=n
- To get the system to compile under various X11 installations
you may have to modify a few things. For example, in order
to find libXext, I had to make the following change under
Ubuntu 9.09:
cd /usr/lib/
sudo ln -s libXext.so.6.4.0 libXext.so
ostest ostest
The "standard" NuttX examples/ostest configuration. This The "standard" NuttX examples/ostest configuration. This