I am also trying to get profiling to work using the PPC405. I have
> read the app note, but I am still rather confused....it says we can use
> the PIT timer, but do we still need to do all the initialization of
> interrupts and timers? If so, did you just do this in your application?
> Do you have any sample code I could look at?
>
I did this a while ago, so I don't remember all the details. Here are my notes on the subject:
- Software Platform Settings: enable_intrusive_sw_profiling
- Recompile bsp
- Compiler Options: -O1, Other Compiler Options: -pg
- Disable interrupts, poll_next_frame
- Change top of mem mpeg.ld to 0x1c00000
- Recompile application
xmd: profile -config profile_mem 0x1c00000 xmd: dow ppc405_i/code/system.elf xmd: run xmd: profile
% gprof ppc405_i/code/system.elf gmon.out
-O3: profile doesn't work
-O2: mmc problems?
-O1: seems to work.
And this is from memory:
- I had to reserve memory at 0x1c00000 (the top of my sdram) to store profile data.
- The PIT interrupt is initialized automatically by code inserted by xilinx profiling software.
- I disabled my interrupt because the init code conflicted with xilinx profiling code. I probably could have re-enabled my interrupt, but I didn't need to.
- My only code change was to disable my interrupt.
Alan Nishioka