[<<] [<] Page 1 of 1 [>] [>>] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Re: [nanogui] linking nano-x problem and performance enh.
From: "Finn S. Nielsen" ####@####.#### Date: 10 Feb 2005 00:02:44 +0000 Message-Id: <002101c50f04$083d0630$0a2ca8c0@FNIBM> Hi Greg, Thank for you answer. Seems that to enable the use of another libc library like that from uClibc, in uClinux in makefiles in general, there is the make variable LDLIBS, which is set to the standard libraries. This variable appears at the end of the command line (thanks for pointing it out ;-o) . So I've added this to all the makefiles in microwindows.. (argh..). So now it builds better. There is just two errors left, as you can see from the output below. Seems something is missing definewise.. ?? Any suggestions ? When I get microwindows to compile and run OK, I may get the make adaptation added to the uClinux source tree, so that folks out there doing embedded systems can use the newest microwindows code - I guess that's also what it's all about.. using microwindows on embedded platforms. A more interesting question. How much performance gain do you think one would achieve by implementing the basic drawing primitives in hardware, like the plot x,y and the straight line drawing functions ? When I test microwindows in the TCP/IP client/server configuration (never manged to get the server linked to the app in the older version), I see something like a factor 10 difference in straight line drawing performance (on the main widow), compared to a dedicated (non-OS'ed) C program doing the same thing and drawing lines using plot x,y function. Performance is alfa and omega when you are restricted to a 50-150 Mhz range CPU and want nice graphics looks for MMI aplications where often you have a lot of image updates to do - and perhaps all the time (like in a VU-meter for example). Best regards, Finn S. Nielsen Denmark. Linking nano-X ... mb-gcc -Os -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/fn/uClinux-dist/ lib/uClibc/include -I/home/fn/uClinux-dist/lib/libm -I/home/fn/uClinux-dist/lib/libcrypt_old -I/home/fn/uClinu x-dist -fno-builtin -mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -I/home/fn/uClinux-dist/linux-2.4.x/in clude -I. -I/home/fn/uClinux-dist/user/microwin/src/include -I. -I/home/fn/uClinux-dist/user/microwin/src/incl ude -Os -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/fn/uClinux-dist/lib /uClibc/include -I/home/fn/uClinux-dist/lib/libm -I/home/fn/uClinux-dist/lib/libcrypt_old -I/home/fn/uClinux-d ist -fno-builtin -mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -I/home/fn/uClinux-dist/linux-2.4.x/inclu de -Wl,-elf2flt -nostartfiles /home/fn/uClinux-dist/lib/uClibc/lib/crt0.o -nostdlib -L/home/fn/uClinux-dist/li b/uClibc/. -L/home/fn/uClinux-dist/lib/uClibc/lib -L/home/fn/uClinux-dist/lib/libm -L/home/fn/uClinux-dist/lib /libnet -L/home/fn/uClinux-dist/lib/libdes -L/home/fn/uClinux-dist/lib/libaes -L/home/fn/uClinux-dist/lib/libp cap -L/home/fn/uClinux-dist/lib/libssl -L/home/fn/uClinux-dist/lib/libcrypt_old -L/home/fn/uClinux-dist/lib/zl ib -L/home/fn/uClinux-dist/user/microwin/src/lib -L/home/fn/uClinux-dist/user/microwin/src/lib -lgcc -lc -o / home/fn/uClinux-dist/user/microwin/src/bin/nano-X /home/fn/uClinux-dist/user/microwin/src/obj/engine/devopen. o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devdraw.o /home/fn/uClinux-dist/user/microwin/src/obj/eng ine/devfont.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devmouse.o /home/fn/uClinux-dist/user/microwi n/src/obj/engine/devkbd.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devclip.o /home/fn/uClinux-dist/u ser/microwin/src/obj/engine/devrgn.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal1.o /home/fn/uCl inux-dist/user/microwin/src/obj/engine/devpal2.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devimage.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devlist.o /home/fn/uClinux-dist/user/microwin/src/obj/engi ne/selfont.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/error.o /home/fn/uClinux-dist/user/microwin/sr c/obj/engine/devrgn2.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devarc.o /home/fn/uClinux-dist/user/ microwin/src/obj/engine/devpoly.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devstipple.o /home/fn/uCl inux-dist/user/microwin/src/obj/engine/font_dbcs.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/font_fnt .o /home/fn/uClinux-dist/user/microwin/src/obj/engine/font_pcf.o /home/fn/uClinux-dist/user/microwin/src/obj/e ngine/devtimer.o /home/fn/uClinux-dist/user/microwin/src/obj/engine/devpal8.o /home/fn/uClinux-dist/user/micro win/src/obj/engine/devpal4.o /home/fn/uClinux-dist/user/microwin/src/obj/fonts/rom8x16.o /home/fn/uClinux-dist /user/microwin/src/obj/fonts/rom8x8.o /home/fn/uClinux-dist/user/microwin/src/obj/fonts/winFreeSansSerif11x13. o /home/fn/uClinux-dist/user/microwin/src/obj/fonts/winFreeSystem14x16.o /home/fn/uClinux-dist/user/microwin/s rc/obj/fonts/X6x13.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin8.o /home/fn/uClinux-dist/user/m icrowin/src/obj/drivers/fblin16.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin24.o /home/fn/uClin ux-dist/user/microwin/src/obj/drivers/fblin32.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin32alp ha.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/genmem.o /home/fn/uClinux-dist/user/microwin/src/obj/ drivers/fb.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin1.o /home/fn/uClinux-dist/user/microwin/ src/obj/drivers/fblin2.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/genfont.o /home/fn/uClinux-dist/u ser/microwin/src/obj/drivers/scr_fb.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fbportrait_left.o /h ome/fn/uClinux-dist/user/microwin/src/obj/drivers/fbportrait_right.o /home/fn/uClinux-dist/user/microwin/src/o bj/drivers/fbportrait_down.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/fblin4.o /home/fn/uClinux-dis t/user/microwin/src/obj/drivers/mou_null.o /home/fn/uClinux-dist/user/microwin/src/obj/drivers/kbd_null.o /hom e/fn/uClinux-dist/user/microwin/src/obj/nanox/srvmain.o /home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvf unc.o /home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvutil.o /home/fn/uClinux-dist/user/microwin/src/obj/ nanox/srvevent.o /home/fn/uClinux-dist/user/microwin/src/obj/nanox/srvclip.o /home/fn/uClinux-dist/user/microw in/src/obj/nanox/srvnet.o /home/fn/uClinux-dist/user/microwin/src/lib/libmwengine.a /home/fn/uClinux-dist/user /microwin/src/lib/libmwdrivers.a /home/fn/uClinux-dist/user/microwin/src/lib/libmwfonts.a -lc /usr/local/micr oblaze-elf-tools/bin/../lib/gcc-lib/microblaze/2.95.3-4/./libgcc.a /usr/local/microblaze-elf-tools/bin/../lib/ gcc-lib/microblaze/2.95.3-4/./../../../../microblaze/lib/libc_hard_shift.a -lc /home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function `GdCreateFont': /home/fn/uClinux-dist/user/microwin/src/engine/devfont.c:95: undefined reference to `strcmpi' /home/fn/uClinux-dist/user/microwin/src/bin/nano-X.elf2flt: In function `main': /home/fn/uClinux-dist/user/microwin/src/nanox/srvmain.c:130: undefined reference to `GsSelect' make[4]: *** [/home/fn/uClinux-dist/user/microwin/src/bin/nano-X] Error 1 make[4]: Leaving directory `/home/fn/uClinux-dist/user/microwin/src/nanox' ----- Original Message ----- From: "Greg Haerr" ####@####.#### To: "Finn S. Nielsen" ####@####.#### ####@####.#### Sent: Wednesday, February 09, 2005 11:21 PM Subject: Re: [nanogui] linking nano-x problem > It appears that the -lc is in the link command line before > the *.o files. Perhaps you should remove -lc from LDFLAGS > and have gcc insert it automatically. > > Regards, > > Greg > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Re: [nanogui] linking nano-x problem and performance enh.
From: "Greg Haerr" ####@####.#### Date: 10 Feb 2005 22:56:27 +0000 Message-Id: <0c0a01c50fc3$862506a0$0300a8c0@RDP> > there is the make variable LDLIBS, which is set to the standard libraries. This variable appears at the end of the command line (thanks for pointing it out ;-o) . So I've added this to all the makefiles in microwindows.. (argh..). Let me know when you get this all working, we can then look to see how the microwindows make system should be modified. > There is just two errors left, as you can see from the output below. Seems something is missing definewise.. Looks like GsSelect isn't defined... This usually happens if you don't have LINUX or UNIX defined, look at nanox/srvmain.c and make sure that the proper GsSelect() function you desire is in fact getting compiled when using the compile options you've added to Arch.rules. > When I get microwindows to compile and run OK, I may get the make adaptation added to the uClinux source tree, so that folks out there doing embedded systems can use the newest microwindows code - Are you using the microwindows-src-snapshot.tar.gz, which is a copy of the near-latest CVS? This uses a modified build mechanism from v0.90. If you're going to make uClinux mods, you should be using this latest tree. > A more interesting question. How much performance gain do you think one would achieve by implementing the basic drawing primitives in hardware, like the plot x,y and the straight line drawing functions ? When I test microwindows in the TCP/IP client/server configuration (never manged to get the server linked to the app in the older version), I see something like a factor 10 difference in straight line drawing performance (on the main widow), compared to a dedicated (non-OS'ed) C program doing the same thing and drawing lines using plot x,y function. You really need to get the LINK_APP_INTO_SERVER option compiled in order to judge this. when running client/server there are context switches and many things that can slow down the system, a complete explanation is complicated, let me know if you need more details. > Performance is alfa and omega when you are restricted to a 50-150 Mhz range CPU and want nice graphics looks for MMI aplications where often you have a lot of image updates to do - and perhaps all the time (like in a VU-meter for example). Personally I think the biggest hw speedups would be image display (blit) and area clears. Regards, Greg | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Re: [nanogui] linking nano-x problem and performance enh.
From: "Marshia R." ####@####.#### Date: 2 Feb 2006 07:10:21 +0000 Message-Id: <73C8998CF982A245A95EE73ACE13ADFA0DE655@MAIL.cisctechnology.com> Hi I am trying to compile uClinux with Microwindows. I have taken the config file for uClinux into consideration for selecting the options for microwindows while"make menucofig". The kernel ic compiling fine, I get the linux.dxe image. I load the image onto the blackfin(EZ-LITE) board(using VDSP), the board boots up fne and I get the shell. But when I give >nano-X & I get an error : Bad command or file name. When I capture the kernel messages while "make"ing, i get lots of errors in between for microwindows, one of them being : cp:cannot stat 'nano-X' :file not found. This is because the other files required for creating this is not created(prior errors are present). I am using nisa-elf compiler for 2.4 uClinux kernel. I am trying to remove these errors and get the nano-X server program created. please tell me whether I am on the right track. Moreover, what is the procedure to execute microwindows applications/demos on the serial console. I am using only minicom now, maybe when this becomes ok will go for a LCD. Should i run nanowm, nteteris and nxclock om the background to run microwindows application? Please give me inputs regarding this. Thank YOu Warm Regards Marshia | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[<<] [<] Page 1 of 1 [>] [>>] |