[Timber] Re: platforms specification
johan.nordlander at ltu.se
Mon Oct 5 05:19:35 EDT 2009
The only platform that is officially supported by the current release
is POSIX, but an ARM port is indeed on its way. However, as you have
observed, the problem with our ARM prototype is that is is heavily
linked to a very specific board with a very specific programming
environment. It would be so much better if an rts port could be made
generic enough to work with any board matching some chosen architecture.
Fortunately, our next compiler release will contain a slight code
reorganization that makes an rts independent of the external
environment one wishes to support. For the ARM port this means that
the interrupt vector table, the IO ports and the TFT driver will all
be separate modules that one may choose to use on an individual basis,
probably also combined with some form of parameterization regarding
base addresses etc. This will make adaption to a specific board like
your ARM9 hardware much easier.
However, even with such a reorganization there will still be some
hardware dependencies left inside an rts like the ARM port: the timer
interface being one, board and memory initialization being another.
Ideally such dependencies should also be singled out as separate
modules for the benefit of easy rts adaption, although this time we're
talking about C files, not Timber modules. We're currently
investigating how to do this the best way.
All this is for the next release, though; sometime this fall. So if
you want to start your project today you'll probably have to do an
adaption yourself, with a risk that the work will be overridden by the
next release. It shouldn't be too complicated, though, if you know
your way with your hardware. And we'll be interested in hearing about
Otherwise, stay tuned!
> is there some kind of description of Timber supported platforms? I
> can see the ARM and POSIX platforms, and I can see that ARM is
> actually not just for any ARM device, but the one with some kind of
> TFT (and probably other hardware). What is exactly meant by ARM there?
> I have a hobby project in mind, for which I'm likely to use ARM9
> hardware — does that mean that I'd need to create my own RTS (just
> like rtsARM and rtsPOSIX in current sources)? Or should current ARM
> RTS be made more general instead?
> Timber mailing list
> Timber at haskell.org
More information about the Timber