Hi,

It's probably not too easily usable, but you can build a call graph from app.c .

You need to install this software:
http://www.gson.org/egypt/egypt.html (source:
http://www.gson.org/egypt/download/egypt-1.6.tar.gz ). To make it work
you need perl and graphviz.

Compile app.c using the -dr switch, for example:

msp430-gcc -dr -c app.c

gcc will dump the RTL data in a file whose name should be app.c.00.rtl
. Then use egypt to build the the call graph and dotty to show it:

egypt app.c.00.rtl | dotty -

to create a PostScript file you can use dot (or neato, or twopi or any
utility from the graphviz suite):

egypt app.c.00.rtl | dot -Grankdir=LR -Tps -o callgraph.ps

Here's the call graph that I built from the blink application:
http://imgh.us/callgraph.svg (325K)

and here's the call graph for BaseStation:
http://imgh.us/312_callgraph.svg (1.4M)

As you can see the graph can become hairy pretty soon.

Hope this helps

--
Giuseppe Cardone
PhD student - University of Bologna
Dept. of Electronics, Computer Science and Systems (DEIS)


On Tue, Mar 23, 2010 at 5:25 AM, Eric Decker <[email protected]> wrote:
> yeah I did all that.   Perhaps I don't know where to look but it pretty much
> looks like noise to me.
>
> On Mon, Mar 22, 2010 at 7:48 PM, Kevin Klues <[email protected]> wrote:
>>
>> Also, make sure you have the following configuration parameters set:
>>
>> EXTRACT_ALL = YES
>> HAVE_DOT       = YES
>>
>> and that graphviz is installed.
>>
>> Kevin
>>
>> On Mon, Mar 22, 2010 at 7:16 PM, Kevin Klues <[email protected]> wrote:
>> > That's exactly what doxygen should give you if you enable those
>> > configuration parameters.  There might be some more though.  I've
>> > attached a configuration file that I'm using for another project, and
>> > it definitely has the clickable call graphs stuff working for both
>> > forward and reverse directions.
>> >
>> > Kevin
>> >
>> > On Mon, Mar 22, 2010 at 7:05 PM, Eric Decker <[email protected]> wrote:
>> >> I went ahead and tried using doxygen on the app.c but haven't been able
>> >> to
>> >> get anything meaningful out of it.  I did configure CALL_GRAPH and
>> >> CALLER_GRAPH.  But haven't found any output that makes sense to me.
>> >> What I really want is a call graph and a caller graph showing the
>> >> wiring
>> >> graph akin to what nesdoc provides.  But all together in a way I can
>> >> traverse easily.
>> >> any thoughts?
>> >> eric
>> >>
>> >> On Mon, Mar 22, 2010 at 5:33 PM, Kevin Klues <[email protected]> wrote:
>> >>>
>> >>> You could just run doxygen on the resulting app.c file.  There are
>> >>> configuration parameters that let you generate both forward and
>> >>> reverse call graphs from.
>> >>>
>> >>> Kevin
>> >>>
>> >>> On Mon, Mar 22, 2010 at 4:12 PM, Eric Decker <[email protected]>
>> >>> wrote:
>> >>> > I know about nesdoc (built via make <platform> docs).   And I need
>> >>> > something
>> >>> > a bit different.
>> >>> > I'm interested in a full call graph.  Not the pieces that nesdoc
>> >>> > gives
>> >>> > you.
>> >>> > Also interested in a reverse call graph (what calls).
>> >>> > For example I trying to analyze the resource usage of various
>> >>> > devices.
>> >>> > Who
>> >>> > is using what device.
>> >>> > So I'd like to answer the question who wires into HplMsp430UsciB1C
>> >>> > (msp430X
>> >>> > h/w).  But I'm
>> >>> > not that interested in the first level wiring but rather where does
>> >>> > the
>> >>> > call
>> >>> > graph start and who is
>> >>> > wired in along the way.
>> >>> > It helps answer the question of who is wired into this device when
>> >>> > things
>> >>> > are screwy for a complex
>> >>> > system.
>> >>> > Anyone done something like this?
>> >>> > --
>> >>> > Eric B. Decker
>> >>> > Senior (over 50 :-) Researcher
>> >>> >
>> >>> >
>> >>> >
>> >>> > _______________________________________________
>> >>> > Tinyos-help mailing list
>> >>> > [email protected]
>> >>> >
>> >>> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>> >>> >
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> ~Kevin
>> >>
>> >>
>> >>
>> >> --
>> >> Eric B. Decker
>> >> Senior (over 50 :-) Researcher
>> >>
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > ~Kevin
>> >
>>
>>
>>
>> --
>> ~Kevin
>
>
>
> --
> Eric B. Decker
> Senior (over 50 :-) Researcher
>
>
>
> _______________________________________________
> 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

Reply via email to