
Newton's approximation - Benchmark based on Steve Curd Adruino IDE code for STM32 Nucleo F7 ARM M7 MCU's
Revision 0:11c8121e645d, committed 2017-07-02
- Comitter:
- JovanEps
- Date:
- Sun Jul 02 17:31:48 2017 +0000
- Commit message:
- RC 1
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 11c8121e645d main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Jul 02 17:31:48 2017 +0000 @@ -0,0 +1,78 @@ +#include "mbed.h" +//******************************************************** +//** ARM Cortex M7 MCU ****** +//** ST Nucleo-144 Stm32F746 and Stm32F767 MCU ****** +//** Newton's approximation - Benchmark based on ****** +//** Steve Curd Adruino IDE code ****** +//** Jovan Ivković - 2017. ****** +//** JovanEps (jovan.eps@gmail.com). ****** +//******************************************************** + +DigitalOut myled(LED1); +//DigitalOut PD13(PA_5); //introduce D13 pin-out +DigitalIn PD8(PF_12); //introduce D8 *-Clear port +Serial pc(USBTX, USBRX); +Timer timer; + +#define ITERATIONS 10000000L // number of iterations 100k-10M +#define FFLASH 1000000 // blink LED every 100k-1M iterations + +//#include <TM1638.h> // include the display library + +// TM1638 module(DIO, CLK, STB0) +//TM1638 module(8, 9, 7); + +//********************************* +//** MAIN block ** +//********************************* +int main() +{ + while(true) { + unsigned long start, ttime; + unsigned long niter = ITERATIONS; + int LEDcounter = 0; + bool alternate = false; + long i, count = 0; + double x = 1.0; + double temp, pi = 1.0; + + pc.printf(" \n Beginning %d",niter ); + pc.printf(" \n iterations..."); + pc.printf("\n"); + + timer.start(); + start = timer.read_ms(); + + for ( i = 2; i < niter; i++) { + x *= -1.0; + pi += x / (2.0f * (float) i - 1.0f); + // /* + if (LEDcounter++ > FFLASH) { + LEDcounter = 0; + if (alternate) { + myled = 1; + alternate = false; + } else { + myled = 0; + alternate = true; + } + temp = (float) 40000000.0 * pi; + + //module.setDisplayToDecNumber( temp, 0x80); + } + //*/ + } + ttime = timer.read_ms() - start; + + pi = (double) pi * 4.0; + + pc.printf("# of trials = %d \n", niter); + pc.printf("\n\n"); + pc.printf("Estimate of pi = %6.10f 10 \n" , pi); + pc.printf("Time: %d ms \n", ttime); + printf("state: %d \n", alternate); + + timer.stop(); + wait(1); + } +} \ No newline at end of file
diff -r 000000000000 -r 11c8121e645d mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Jul 02 17:31:48 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/99b5ccf27215 \ No newline at end of file