Hello Again,
I found an old benchmark forum posting. I believe the definition of cycles is the number of instructions needed to execute the specific benchmark. Since I am using a 320F28069 my instruction time/cycle is 1/90,000,000, or 11.11nS. The Hwi dispatcher prolog is 1578 cycles. Multiplying 1578 by 1/90,000,000 gives me 17.53 uS to execute the Hwi dispatcher prolog. Can this be right? This means it takes 17.53 uS to handle a hardware interrupt. This seems way to long. I simply took the benchmark_TMS320F28069 and ran it with no changes. I looked at the C28_large_times.html table in the sysbios/benchmarks/doc-files. For a ezdsp28335 - the closest C28 MCU I could find -- the total number of cycles was 242 cycles or 242 * 1/90,000,000 = 2.68 uS. Not blazing but closer to the range of acceptable. Am I running the benchmark incorrectly? Maybe its running in flash. I am new to SYS/BIOS so how do I make sure this benchmark is running out of SRAM? Pasted below is my console output results;
[C28xx] 192 192 192 Hwi_restore()
176 176 176 Hwi_disable()
1578 1578 1578 Hwi dispatcher prolog
1105 1105 1105 Hwi dispatcher epilog
2699 2699 2699 Hwi dispatcher()
4124 4124 4124 Hardware Interrupt to Blocked Task
3036 3036 3036 Hardware Interrupt to Software Interrupt
592 592 592 Swi_enable()
112 112 112 Swi_disable()
240 240 240 Post Software Interrupt Again
897 897 897 Post Software Interrupt without Context Switch
1718 1718 1718 Post Software Interrupt with Context Switch
21638 21638 21638 Create a New Task without Context Switch
1345 1345 1345 Set a Task Priority without a Context Switch
1569 1569 1569 Task_yield
304 304 304 Post Semaphore, No Waiting Task
1345 1345 1345 Post Semaphore No Task Switch
1889 1889 1889 Post Semaphore with Task Switch
432 432 432 Pend on Semaphore, No Context Switch
2241 2241 2241 Pend on Semaphore with Task Switch
80 80 80 Clock_getTicks
Regards,
Steve M.