This section contains several example of using the target Microprocessor simulator.
$ erc-coff-run hello Hello world
$ erc-coff-run -s hello Clock Cycles regular : 1057, 88.60 % annulled : 14, 1.17 % stalls : 122, 10.23 % Total : 1193 Instructions call : 5, 0.66 % woverflow : 0, 0.00 % (0.00 % of calls) wunderflow : 0, 0.00 % (0.00 % of calls) integer : 431, 56.79 % load : 59, 7.77 % store : 117, 15.42 % branch : 152, 20.03 % float : 0, 0.00 % Total : 759 Average Cycles per Instruction (CPI) Integer CPI : 1.57 Float CPI : nan Overall CPI : 1.57 Performance ERC32 performance (10.0 MHz): 6.36 MOPS ( 6.36 MIPS, 0.00 MFLOPS) Simulated ERC32 time : 0.12 ms Processor utilisation : 100.00 % Real-time / simulator-time : 1/0.00 Simulator performance : 0 KIPS Used time (sys + user) : 0 s Hello world
The following example shows an instruction trace with line numbers. We have delayed the trace by 200 microseconds to skip to the lines of interest.
$ erc-coff-run -t -d 100 hello
/opt/gcc-erc32-1.2/erc-coff/src/libc/sys/write.c:89
<write+a0>
100.000 02002678 bcs,a 0x200263c
100.100 0200267C ldsb [ %o1 + %o3 ], %o5
/opt/gcc-erc32-1.2/erc-coff/src/libc/sys/write.c:93
<write+64>
100.300 0200263C cmp %o5, 0xa
100.500 02002640 bne 0x200265c
100.600 02002644 nop
/opt/gcc-erc32-1.2/erc-coff/src/libc/sys/write.c:100
<write+84>
100.700 0200265C ld [ %o4 ], %g2
100.900 02002660 btst %g2, %g3
101.100 02002664 be 0x200265c
101.200 02002668 nop
/opt/gcc-erc32-1.2/erc-coff/src/libc/sys/write.c:102
101.300 0200266C st %o5, [ %g1 ]
/opt/gcc-erc32-1.2/erc-coff/src/libc/sys/write.c:89
101.600 02002670 inc %o3
101.700 02002674 cmp %o3, %o2
101.800 02002678 bcs,a 0x200263c
101.900 0200267C ldsb [ %o1 + %o3 ], %o5
...lots of output...