[Tinyos-devel] TEP116 HIL/HAL discussion
Philip Levis
pal at cs.stanford.edu
Thu May 15 08:57:02 PDT 2008
On May 15, 2008, at 8:37 AM, Vlado Handziski wrote:
>
> On the concrete example, CC2420ActiveMesage[CP].nc is the
> implementation of the active message HIL abstraction fro the cc2420
> radio. The platform ActiveMessageC.nc is just a name wrapper over
> this component. There is no portability penalty between the two. So
> it is a bit wrong to call CC2420ActiveMessage[CP].nc a HAL. For
> what is worth, we could have opted for a solution where this
> component is in fact called ActiveMessageC.nc and deal with the
> selection of the right HIL implementation via shadowing instead of
> name wrapper and wiring.
>
Well, HIL stands for "Hardware Independent;" CC2420ActiveMessageC is
not hardware independent. So what is it, if not a HAL? It might be a
high level of abstraction within the HAL -- which the HAA allows to
have multiple layers -- but I'd argue that it's within it.
2420ActiveMessageC, for example, can have CC2420-specific interfaces,
such as CC2420Packet, which ActiveMessageC cannot.
Phil
More information about the Tinyos-devel
mailing list