On Monday 26 March 2007 01:17, vaibhav chakki wrote:
> Hi All,
>
> I was wondering if there was any API in nesC that allows me to read/write
> to file to capture some data. If possible could you list the API names plz?

For most target systems running nesC code, the concept of data storage is 
limited to a RAM buffer or some kind of flash.  TinyOS 2.x provides a couple 
of different implementations of a set of data storage interfaces that are 
defined in TEP103.  A link to TEP103 is available on the front page of 
www.tinyos.net.  There are other data storage mechanisms, like Matchbox, but 
I've not used any of them myself.

> Also, can I make "C" function calls from nesC code? I use the the
> "__attribute__ ((C,spontaneous));" along with the C function letting the
> nesC compiler to not worry when compiling, but the linker to take care of
> it. But I am not able to load the C object files during linking? I keep
> getting linker errors, can anyone suggest me on how should I load the C
> objects for the linker to find it?

Yes, you can make calls to C functions from nesC code.  You don't need to use 
the C,spontaneous attribute if you place your C code in a .c file and compile 
with the appropriate gcc compiler.  IMHO, it's easiest to then bundle the 
object files into a library file (.a), and reference it from your nesC 
Makefile via:

LDFLAGS += path/to/your/libfile.a

Your C library will require a header file to provide function prototypes and 
other definitions for code using your library, so you'll also need to tell 
your nesC build where to find that header:

CFLAGS += -Ipath/to/your/include/dir

Then, all you have to do in a nesC component which wishes to use functions 
exported from your libfile.a is to #include the prototype header and call the 
functions directly.

All the best,
Steve
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to