[Timber] Re: platforms specification

Johan Nordlander johan.nordlander at ltu.se
Mon Oct 5 05:19:35 EDT 2009

Hi Ivan,

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  
the results!

Otherwise, stay tuned!

-- Johan

> Hello,
> 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?
> Ivan
> _______________________________________________
> Timber mailing list
> Timber at haskell.org
> http://www.haskell.org/mailman/listinfo/timber

More information about the Timber mailing list