Out of cheese?
News News
Befunge Befunge
Doom Doom
Inform Inform
Quake Quake
   - BeagleBoard
   - Code
   - Games
   - Utilities
   - Miscellaneous

Misc Misc
Links Links
Contact Contact

FIQProf/profanal for RISC OS

Release 5 (1/9/2012): fiqprof.zip (39,609 bytes). Source code included. Suitable for HAL-based RISC OS 5 machines.

What they do

FIQProf is a BASIC program that configures a HAL timer to generate FIQs, and then installs a small routine on the FIQ vector which samples a selection of CPU registers and performance counters when the timer interrupts. This data is stored into a buffer which can then later be saved to disc.

profanal is a single-tasking C program designed to analyse the log buffer generated by FIQProf. It can produce human-readable timelines and graphs of CPU activity and performance counter values. From the module list that is generated by FIQProf it is able to identify what module the CPU is in. It also supports the loading of GPA-format map/symbol files as produced by Acorn/Castle/ROOL C/C++, allowing the source file, function & line to be identified. Absolute files containing embedded function names can also be loaded.


  • Release 5 - 1/9/12
    • Added support for 'loadsyms' and 'loadrom' commands
    • Added support for HALs that use HAL_TimerIRQClear to clear timer interrupts (e.g. BCM2835)
    • Added support for kernels that run with high processor vectors enabled
  • Release 4 - 12/2/11
    • Added support for recording and displaying the IOP321 & Cortex-A8 performance counters
    • Updated FIQProf to save the dynamic area list
    • Made the 'Application_space' module shrink itself to the appropriate size if Aemulor is active
  • Release 3 - 28/9/10
    • Added loadabs function for loading absolute files with embedded function names
  • Release 2 - 4/10/09
    • Corrected loading of GPA files
  • Release 1 - 20/9/09
    • First version


FIQProf and profanal are Public Domain software.

Page last modified 01/09/2012