This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

TUI: PDCurses for eCOS


Hi

Last weekend I've done a port of PDCurses for ECOS. The whole curses
library built for for ARM-7 is

~/PDCurses-3.4/ecos$ arm-eabi-size -t libpdcurses.a
   text	   data	    bss	    dec	    hex	filename
   1052	      0	      0	   1052	    41c	addch.o (ex libpdcurses.a)

[snip]

  42437	    176	   6731	  49344	   c0c0	(TOTALS)

The PDCurses <http://pdcurses.sourceforge.net> sources are the very
portable. I found what it's code is very compact and very qualitative.
Compiling with -Wall produces no warnings. No need to mess up with the
PDCurses core to port it for new OS.  When I started the port, I found
and again re-read Peter's Seebach article: Porting a screen-management
utility to eCos on IBM developerWorks

http://www.ibm.com/developerworks/power/library/pa-tams3/

Read the last sentence of the Peter's article, please. If I wrote about
the PDCurses + eCos, I would resume that like Peter said, Executable
size is unbeatable; the whole application is _140_KB, including kernel,
drivers, curses, etc. And yet another important thing: I did no dance
with the PDCurses sources like Peter did with the OpenBSD curses.

I would not believe in the said the above if I could not run a `size'
for the got executables just now (built for RAM startup, stripped)

~/PDCurses-3.4/ecos$ arm-eabi-size firework newdemo ptest rain testcurs worm xmas
   text	   data	    bss	    dec	    hex	filename
  62612	   1376	  24864	  88852	  15b14	firework
  67852	   1456	  24856	  94164	  16fd4	newdemo
  66648	   1368	  23752	  91768	  16678	ptest
  62772	   1356	  24796	  88924	  15b5c	rain
  96956	   1460	  24748	 123164	  1e11c	testcurs
  67348	   1396	  25404	  94148	  16fc4	worm
  69852	   1348	  21852	  93052	  16b7c	xmas

Those are real working demos built for my target (BTW, `testcurs' is the
1K lines written in curses). They all work very smoothly, 3 colour worms
creep, aa-xmas card greets me, it fireworks, it rains, and `testcurs' and
other demos learn me :-) Many thanks to William McBrine for the PDCurses!

And what's about a fly in the ointment? malloc, calloc, free and curses
event loop.

If anyone will want to try the port, I attached it. To build the port,
download the latest PDCurses 3.4 sources from SF. Build the demos for
x11 or sdl1 to taste a honey. Unpack `pdcecos.tar.gz' under PDCurses-3.4
tree then and follow the instructions in the ecos/README* files.

Notes: 1) The port was tested on Linux Ubuntu 8.04 with Olimex LPC-E2294
board using `minicom' communication program. 2) I never wrote in curses,
but I used `whiptail' a while ago, so, I won't help you on curses. 3)
the port is two-days `weekend mechanics', so, it may be not ideal, it
was my first look on PDCurses. 4) I do not know much about this remark
from PDCurses's README

---->8
The core package is in the public domain, but small portions of PDCurses
are subject to copyright under various licenses.  Each directory
contains a README file, with a section titled "Distribution Status"
which describes the status of the files in that directory.
---->8

So, I can not answer on Q: Is it possible to enter PDCurses in eCos CVS
tree?

In any case I think that PDCurses can be the very useful library to
build the excellent TUIs under eCos.

That's it.

Regards,

Sergei

Attachment: pdcecos.tar.gz
Description: Binary data

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]