This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: Worst Case Stack question (cg_xml scripts call_graph errors)

Part Number: TMS320F28335

Hello,

a search across the TI forumns told me the appropriate tool for getting the worst case stack of my program was cg_xml. 
If there is a better more recent tool, please let me know.

I am working with a project generated in CCS 6.1.0.0014.

When I run ofd6x.exe -xg  project.out | perl.exe call_graph.pl --stack_max

I get numerous parsing errors, as seen in the attached example file.

This, to me, implies the tools are not working well together in modern development.

Questions:
Am I doing something wrong with this process?

Is there a better way to get worst case stack, preferably out of Code Composer's build settings?

Thank you for any assistance. 

example_run.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
C:\svn\p150827\Software\CBL\C28x\trunk\Release>"C:\Program Files (x86)\Texas Ins
truments\cg_xml\utils\ofd6x.exe" -xg .\SW-11272-1.out | "C:\Perl\bin\perl.exe" "
C:\Program Files (x86)\Texas Instruments\cg_xml\ofd\call_graph.pl" --stack_max
Reading from stdin ...
Terminating on signal SIGINT(2)
C:\svn\p150827\Software\CBL\C28x\trunk\Release>
...
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin
e 1290, <STDIN> line 1.
Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1
284, <STDIN> line 1.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hello,

    I am moving to the TI C/C++ Compiler - Forum. Someone there should be better equipped to support your inquiry.

    Best Regards,
    Adam Dunhoft
  • ngohara1991 said:
    Am I doing something wrong with this process?

    No, you're not.  There is a problem with how later versions of XML::Simple and the cg_xml package work together.  It is not diagnosed.  In the mean time, you can use the standalone executable form of the script in the \bin directory.  Replace "perl.exe call_graph.pl" with "\path\to\cg_xml\bin\call_graph".  

    ngohara1991 said:
    Is there a better way to get worst case stack, preferably out of Code Composer's build settings?

    In CCS version 7.x or later, there is a feature for viewing stack usage.  In the Project Explorer View, select your project.  Then click the menu selection View | Stack Usage.

    Thanks and regards,

    -George

  • Thank you for the helpful answers!