AT91SAM7S64 code/data size help

Feb 23, 2008 3 Replies

I'm a novice at embedded development, and am hitting data block size limitations. I'm now maximally optimized for code size in my compiler setting.



I'm using the IAR EWARM tool.



How do I determine my memory usage so I can make changes to my code and directly see the results in terms of memory footprint?



I need to know both how much room my code is occupying, and the similarly, the data.



Any suggestions on reading to educate myself quickly would be much appreciated.



Just knowing how to determine the memory usage quickly will allow me to use trial and error more efficiently.



Meanwhile, I'm digging through the IAR documentation (always my last resort).



I am not using Thumb instructions. Should I take the time learn about this ASAP?



Please forgive my ignorance.



Thanks so much! Vic


Just a quick note that I found this article immediately pertinent and helpful:

formatting link
requestid=3D144912

Your linker and/or your locater (if the locater is separate from your linker) will generate a map file telling you where everything was put and how big it is. Every tool has it's own format for a map file, but all the ones I've used have been useful for just this task.

Unless you're writing in assembly, I would expect that using thumb instructions would be as easy as setting a switch on your compiler -- have you tried?

Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html

ed text -

Hi Tim, No I haven't tried, but I've been reading up on interworking etc. Yes, it does appear to be that convenient. I'm studying the map file now, learning how to understand it. Thanks, and kind regards, Vic

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required