Dhrystone Benchmark Program C/1 12/01/84

Dependencies:   mbed

Committer:
jmehring
Date:
Fri Jun 13 18:30:37 2014 +0000
Revision:
0:f96b0b385ec4
Dhrystone Benchmark Program C/1 12/01/84

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmehring 0:f96b0b385ec4 1 #include "mbed.h"
jmehring 0:f96b0b385ec4 2 #include "dhry.h"
jmehring 0:f96b0b385ec4 3
jmehring 0:f96b0b385ec4 4 DigitalOut myled(LED1);
jmehring 0:f96b0b385ec4 5 Timer timer;
jmehring 0:f96b0b385ec4 6 Serial pc(USBTX, USBRX); //serial channel over HDK USB interface
jmehring 0:f96b0b385ec4 7
jmehring 0:f96b0b385ec4 8 int main() {
jmehring 0:f96b0b385ec4 9 double benchtime, dps;
jmehring 0:f96b0b385ec4 10 unsigned long loops;
jmehring 0:f96b0b385ec4 11
jmehring 0:f96b0b385ec4 12 pc.baud(9600);
jmehring 0:f96b0b385ec4 13 printf("Dhrystone Benchmark Program C/1 12/01/84\r\n");
jmehring 0:f96b0b385ec4 14 timer.start();
jmehring 0:f96b0b385ec4 15 while(1) {
jmehring 0:f96b0b385ec4 16 loops = 0l;
jmehring 0:f96b0b385ec4 17 myled = 1;
jmehring 0:f96b0b385ec4 18 timer.reset();
jmehring 0:f96b0b385ec4 19 do {
jmehring 0:f96b0b385ec4 20 Proc0();
jmehring 0:f96b0b385ec4 21 loops += LOOPS;
jmehring 0:f96b0b385ec4 22 benchtime = timer.read();
jmehring 0:f96b0b385ec4 23 } while (benchtime <= 60.000);
jmehring 0:f96b0b385ec4 24 myled = 0;
jmehring 0:f96b0b385ec4 25 dps = (double)loops / benchtime;
jmehring 0:f96b0b385ec4 26 printf("Dhrystone time for %ld passes = %.3f sek\r\n", loops, benchtime);
jmehring 0:f96b0b385ec4 27 printf("This machine benchmarks at %.0f dhrystones/second\r\n", dps);
jmehring 0:f96b0b385ec4 28
jmehring 0:f96b0b385ec4 29 wait(1.0);
jmehring 0:f96b0b385ec4 30 }
jmehring 0:f96b0b385ec4 31 }