|
Hello all,
I am using the new version of FalshBridgeViewer for Boomerang
now, but still get the same problem.
The compilation of program and uploading to the mote seem
to be fine, and the green led comes up. But when I send any message through
FlashBridgeViewer there is no response. The program will stuck at the point
waiting for some response.
For example if I try read, the program will stop with the
following messages displayed (it seems to be waiting for the content to come
back from the mote which never arrives):
$ flashbridge -read 0x0 0x40 0x0 to
0x40 _________________________________________________
Tyring ping will result in no messages displayed:
$ flashbridge -ping
A little bit more digging into what's going on:
I add lines to turn on/off Led in the code
FlashBridgeViewerM.nc, and it seems that the mote never receives the message.
When I put ( call Leds.yellowOn();) after the line (event TOS_MsgPtr
Transceiver.receiveRadio(TOS_MsgPtr m) { ) the yellow Led is never turned on,
regardless whatever I send.
However in the SerialForwarder user interface, I can see the
number of packets written increases when I send messages using
FlashBridgeViewer, and number of clients would change from 0 to 2 at that
moment.
I am not quite sure where should I check for this problem. Is
there anyone who have seen similar issues before?
Thanks for any input.
Regards,
Weijen
----- Original Message -----
Sent: Tuesday, November 07, 2006 11:23
AM
Subject: RE: A question about
FlashViewer
Hi
Weijen,
It
looks like you're using Boomerang, correct?
I
originally wrote FlashViewer for TinyOS-1.x without Boomerang, and Boomerang
introduced some arbitration architecture that FlashViewer didn't
support. In fact, FlashViewer was created just to figure out the
behavior of TinyOS-1.x BlockStorage on different platforms and allows you to
view what's on the flash. The green light indicates that
FlashViewer mounted to volume 0, and it looks like the format program you're
using is just fine in that it creates a whole bunch of volumes on the flash,
each the size of a sector (erase unit).
I'm
not sure what the StorageManagerM errors are that you're seeing, because those
are part of your TinyOS distribution. The BlockStorage behavior may
have changed as well - that could be causing the problems. If you look
in FlashViewerM, there's a function called "void
execute(ViewerMsg *message)" at the bottom. And it's there that you can
see how BlockStorage is being accessed.
I
stopped using FlashViewer when I found that BlockStorage wasn't going
to work for the projects I was working on. I built my own flash
abstraction layer, which I called "FlashBridge" because it bridges any and
every flash type to a set of raw, general interfaces - read, write, erase,
flush, and crc. FlashBridge was ported to Boomerang by Mark Kranz.
If you use FlashBridgeViewer, you'll be ditching the libraries in /lib/Flash
and using Rincon's /tos/lib/FlashBridge instead. The flash bridge test
app is currently located in /tos/lib/FlashBridge/apps/FlashBridgeViewer.
Edit the Makefile to choose a flash type and specify Boomerang. This
will allow you to read and write raw bytes on the flash, and erase any erase
unit on the flash. Basically, it forwards the commands from your
computer to the FlashBridge interface just like the FlashViewer program
forwards commands from your computer to the BlockStorage
interface.
Sorry I can't be more help on the FlashViewer/Boomerang end. But
I hope this gives you some ideas,
-David
Hello David,
I am a Phd student starting on tinyos
programming which involves using the EEPROM on tmote sky.
I posted this questions on the tinyos-help mail
list, and I noticed that you are the person who answered most of the
inquiries, since you are the author of the program.
If you have some time please take a look at the
following question. I appreciate you help. Thanks very much.
Regards,
Weijen
=============== my question
===============
Hello all,
I am trying to use FlashViewer on t-mote
sky.
I work under cygwin and tinyos
1.1.
My problem is the following:
I have compiled and installed the flashviewer
Nesc program no a mote with no errors (a couple of warning, though), started
the SerialForwarder, and sent a "flashviewer -ping" to my mote. But it just
gets stucked there with no response coming back. The only change I can
observe is that on the java window for SerialForwarder, the "Packet Written"
counter increases by 1 and "Number of Clients" increases by 2 when I send
the ping request.
Is there anything I did wrong with the above?
Some information that may be related to this:
(1) The warning messages I saw when I compiled
the flashviewer Nesc program are:
/opt/moteiv/tos/lib/CC2420Radio/RadioCRCPacket.nc:49:2: warning:
#warning Using old communication interfaces; recommend switch to
SP /opt/moteiv/tos/lib/CC2420Radio/TranslateBareSendMsgC.nc:29:2:
warning: #warning Using old communication interfaces; recommend
switch to SP /opt/moteiv/tos/lib/Flash/STM25P/StorageManagerM.nc: In
function
`StorageManager M$StdControl$init': /opt/moteiv/tos/lib/Flash/STM25P/StorageManagerM.nc:86:
warning: comparison is a lways false due to limited range of data
type
Thanks for any
input.
|