[Tinyos-devel] TinyOS on Cortex M3?

John Griessen john at ecosensory.com
Thu Mar 13 10:50:39 PDT 2008


Paul Kimelman wrote:
> To do justice to a port, it should be done taking advantage of the many 
> specialized capabilities of Cortex-M3.
.
.
.
possible to read a value from memory (byte, half, word, or bit),
> modify it, and then write it back; if another task or an ISR has written 
> it between the load and store, the store will not happen and you will be 
> told that via a register. So, you use a spin-lock model with no extra 
> test-and-set location. Exclusives can be used for FIFOs (e.g. from ISR 
> to tasks or tasks to ISRs) as non-locking and non-blocking models, as 
> well as for many other shared resources. 
.
.
.could be good for T2 atomic data transferring.....
Finally the bit-band . . . .The bit band not only allows for memory
> savings (when you use boolean data), but can be used for critical data 
> as well. Writes to the bit-band area are atomic in HW (implicit RMW of 
> word cannot be split by an ISR). .
.
.
also good for atomic data like in a radio stack, or a sensor like an image sensor
where the data is flowed along in "synchronous" mode small chunks, without interrupts,
and has to be atomic.  Image sensor CCD rows could fill up a bit band and then you empty that into packets...
.
.

> Hope this helps.

Sounds nice, but...  not starting that port today :-)
Are you?

John Griessen
-- 
Ecosensory   Austin TX
tinyOS devel on:  ubuntu Linux;   tinyOS v2.0.2;   telosb ecosens1


More information about the Tinyos-devel mailing list