Fri Jan 29 12:01:00 UTC 2016
* it tries to stay as close to POSIX and other Unix APIs as possible
* you can actually have executable programs in the file system
* it contains a small interactive shell
* the changelog is verbose and releases are frequent
* there's a test suite
* there are already ports to other ARM7TDMI microcontrollers
* there is a small UI framework and the notion of drivers for SPI-
attached LCDs (with 1/2/4 bpp)
* it has tasks and threads, pre-emptive and with priorities
* it has posix message queues, which we could use for passing around
primitives between elements in the stack
* it can be used on Unix-like and Windows/Cygwin host OS
* it has its own scripts to generate toolchains, which means we
could possibly standardize on one of those toolchains
Of course, not everything is perfect
* there seems to be no writeable FS we can put in NOR flash
* it has no scripting language integration (like lua) yet
* i didn't find any memory allocator optimized for pools of objects
of the same size (like 'struct msgb' or the like). Something with
an API [not implementation!] of the SLAB/SLUB in Linux would probably
be a good start.
I've done some example compile runs for arm7, including the shell and
the graphics support (nx example). I end up with an object code size of
something like 70 kilobytes, which is pretty good!
So unless anyone raises major objections, I think we should move ahead
with Nuttx. Who is interested in working on the calypso port?
Let's use this list for coordinating the effort.
As for where to put the code: I already have a git-svn clone of Nuttx,
and will push that to a soon-to-be-created nuttx.git repository on
git.osmocom.org. The core calypso support (irq, uart, spi, etc.) should
all go in that tree. Meanwhile we will figure out how it would be
possibel to keep the gsm related 'application' code out-of-tree from
the nuttx code base.
- Harald Welte <laforge at gnumonks.org> http://laforge.gnumonks.org/
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
More information about the baseband-devel