Thank you very much :very usefull . Giorgio
----- Messaggio Originale ----- Da: Paul Johnson <[email protected]> Data: Mercoledi', Novembre 25, 2009 4:46 pm Oggetto: Re: [Tinyos-help] safe error A: giorgio <[email protected]> Cc: [email protected] > Giorgio, > > I believe I know what the problem is. > > When you type make safe, it attempts to catch any possibly > unsafe > operations. Mostly this is concerned with memory access > and going > outside of bounds on an array, etc. > > In your example, the operation is not safe. If for example > you did this: > > uint8_t oneChar = 'A'; > dimImmagine(&oneChar); > > Your function now just read some random memory location after > &oneChar, > and compared it with 200. Now reading memory can't corrupt > the kernel, > or other code, but you can definitely get unpredictable > values(from the > read). > > The only safe memory actions that can be done on a pointer is > reading/writing buf[0]. There is no way to determine what > the memory > bounds of a pointer are, so make safe is going to complain if > you > read/write to any other offset from a pointer. > > If you want this code to be safe, you need to change your > function > declaration to something like this: > > #define BUF_LENGTH 10 > > ... > > void dimImmagine(uint8_t buf1[BUF_LENGTH]); > > ... > > > See this website for safe programming on tinyos: > > http://docs.tinyos.net/index.php/Safe_TinyOS > > -Paul > > > > giorgio wrote: > > I am trying to understand why my program sometimes block using > the option safe > > .I use tinyos 2.1 with telosb .Why is an error the follow code ? > > > > > > void > dimImmagine(uint8_t*buf1)> { > > > > > 440 if(buf1[2]==200)> > > > > when I compile with the option make telosb safe > > > > RadioCImpl.nc:440: Error: Assertion will always fail in upper > bound check: > > buf1 + (2 + 1) <= buf1 + 1 > > > > Each help is very important :thank in advance > > > > Giorgio > > _______________________________________________ > > Tinyos-help mailing list > > [email protected] > > https://www.millennium.berkeley.edu/cgi- > bin/mailman/listinfo/tinyos-help > > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
