CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

PCM Call Tree Info

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Roger Hayward
Guest







PCM Call Tree Info
PostPosted: Sat Mar 22, 2003 9:00 am     Reply with quote

I am using a 16F877 with PCM and MPLAB with an Olimex ICD clone. I am in the same camp as many, realizing now that I need to go back and optimize out a bunch of my code, in order to fit the code into the ROM, and more-importantly to this posting, minimize the RAM usage.

The postings on the forum have been very helpful, especially those of "PCM Programmer."

My current info is the following:

ROM used: 5154 (63\%)
Largest free fragment is 2048
RAM used: 82 (47\%) at main() level
161 (92\%) worst case
Stack: 7 locations

I'd like to study the "worst case" RAM used area above, using the suggestion in the manual of "reviewing the calling tree via ALT-T." I'm using MPLAB, and am a little lost as to where this feature is. Perhaps this is a reference to PCW (only)? (Hint to CCS: Perhaps the manual can mention this a little better?)

Is there a way to review the calling tree in my situation?

This extremely inexpensive combination (ICD / CCS-PCM) has been nothing short of "absolutely fantastic."

Thanks in advance.

Regards / 73,
Roger Hayward
ARS KA7EXM
___________________________
This message was ported from CCS's old forum
Original Post ID: 12953
Barry Gershenfeld
Guest







Re: PCM Call Tree Info
PostPosted: Mon Mar 24, 2003 7:21 pm     Reply with quote

:=I'd like to study the "worst case" RAM used area above, using the suggestion in the manual of "reviewing the calling tree via ALT-T." I'm using MPLAB, and am a little lost as to where this feature is.

I remember being puzzled by this, and I forget where the "magic" is if I ever found it. Nevertheless, the call tree is put into a file with a ".TRE" extension so that's the easiest way to see it. If you don't have one you may need to ask for it. In the old MPLAB there was a check box in the "Node properties" and in the new one it's in "Build Options". It amounts to a switch that PCM gets, like +T or something.

I went through the "too much code" syndrome and I thought I'd just add that because of the compiler's optimizations, you will find the code can be dramatically rearranged after the smallest of tweaks. In my case I had ROM 97\% used and there was no way out :-)

73, Barry, WA2QMI
___________________________
This message was ported from CCS's old forum
Original Post ID: 13032
Roger Hayward
Guest







Re: PCM Call Tree Info
PostPosted: Mon Mar 24, 2003 7:35 pm     Reply with quote

Thanks much Barry.

I found the switch the other day; It is in the compiler options, there was a check box "generate call tree."

I'm finding it very useful to just stroll through the .lst file as well. I store a lot of things as integer, but then perform floating point calculations on them. This is pretty expensive.

I've spent the past 3 years working on a c++ program that runs on a 64-bit HP workstation; Even with optimized data structures, the program frequently uses over 12GB of memory. Needless to say, it hasn't been the easiest transition to move back to the embedded world!

Thanks much.

73,
Roger Hayward
ARS KA7EXM
___________________________
This message was ported from CCS's old forum
Original Post ID: 13034
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group