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

Reply via email to