Zimin Wang / Mbed 2 deprecated DDRO_Farrari

Dependencies:   mbed-rtos mbed

Fork of DDRO_Farrari by Liangzhen Lai

Revision:
3:f8f27b0de752
Parent:
2:bf2ce6c4e789
Child:
4:90f2f3006498
diff -r bf2ce6c4e789 -r f8f27b0de752 main.cpp
--- a/main.cpp	Mon Jan 20 00:20:50 2014 +0000
+++ b/main.cpp	Mon Jan 20 08:41:49 2014 +0000
@@ -48,93 +48,35 @@
     jtag.writeMemory(extclk_source, 1);
     jtag.writeMemory(ext_div_by, 10);
     power_core(1);
-    /*
-    for (int i=0; i<2; i++) {
-        int upper = 120;
-        int lower = 22;
-        while (upper-lower > 1) {
-            int middle = (upper+lower)/2;
-            middle = middle * 5;
-            if(check_FFT_Freq(jtag, middle)) {
-                lower = middle/5;
-            } else {
-                upper = middle/5;
-            }
-        }
-        pc.printf("fft working frequency: %d MHz\r\n", lower*5);
-    }
-    */
+    
     set_pll_frequency (200, jtag);
-    DDRO_Sensor(jtag);
-    /*
-    
-    jtag.writeMemory(ddro_pad_out, 0xffffffff);
-    printf("Reading ddro pad out %x\r\n", jtag.readMemory(ddro_pad_out));
-    jtag.writeMemory(ddro_div_by, 0xffffffff);
-    printf("Reading ddro div by %x\r\n", jtag.readMemory(ddro_div_by));
-
-    wait(1);
-    gain_ctrl=1;
-    pc.printf("GAIN_CTRL = 1\r\n");
-    pc.printf("SEN: %f\r\n",meas_sen.read());
-    pc.printf("MEM1: %f\r\n",meas_mem1.read());
-    pc.printf("MEM2: %f\r\n",meas_mem2.read());
-    pc.printf("CORE: %f\r\n",meas_core.read());
-
-    wait(1);
-    gain_ctrl=0;
-    pc.printf("GAIN_CTRL = 0\r\n");
-    pc.printf("SEN: %f\r\n",meas_sen.read());
-    pc.printf("MEM1: %f\r\n",meas_mem1.read());
-    pc.printf("MEM2: %f\r\n",meas_mem2.read());
-    pc.printf("CORE: %f\r\n",meas_core.read());
-    */
+    //DDRO_Sensor(jtag);
+    pc.printf("Begining loading program.\r\n");
+    if (jtag.loadProgram()) {
+        dual_printf("Load Failed");
+    } else {
+        CORERESETn = 0;
+        CORERESETn = 1;
+        wait(0.2);
+        jtag.reset();
+        jtag.leaveState();
+        jtag.PowerupDAP();
+        // read result
+        unsigned int result[2];
+        for (int i = 0; i < 2; ++i)
+            result[i] = jtag.readMemory(0x24000100 + i * 4);
+        // print result
+        char *resultByte = (char *)result;
+        for (int i = 0; i < 8; ++i)
+            pc.printf("%x", resultByte[i]);
+        pc.printf("\r\n");
+    }
 
     pc.printf("Powering Down\r\n");
     power_down();
     pc.printf("Done\r\n");
-}
-
-int check_FFT_Freq(JTAG &jtag, int fMHz)
-{
-    if(jtag.loadProgram()) {
-        dual_printf("Load Failed");
-        exit(1);
-    }
-    set_pll_frequency (fMHz, jtag);
-    //dual_printf("Resetting");
-    CORERESETn = 0;
-    CORERESETn = 1;
-    wait(0.2);
-    jtag.reset();
-    jtag.leaveState();
-    jtag.PowerupDAP();
-    unsigned int buffer_fft[64];
-    for (int number1=0; number1<=63; number1++) {
-        buffer_fft[number1] = jtag.readMemory(0x24000100 + number1*4);
-        jtag.writeMemory(0x24000100 + number1*4,0xF0F0F0F0);
-        //printf("new[%d]: %d\r\n", number1, buffer_fft[number1]);
-    }
-    if ( buffer_fft[0] == 0x0000fffc && buffer_fft[1]==0x0000fffd && buffer_fft[2]==0xffc0000a && buffer_fft[3]==0x0000fffe &&
-            buffer_fft[4]==0x0000fffd && buffer_fft[5]==0x0000ffff && buffer_fft[6]==0x0000fffd && buffer_fft[7]==0x00000000 &&
-            buffer_fft[8]==0x0000ffff && buffer_fft[9]==0x0000ffff && buffer_fft[10]==0xfffeffff && buffer_fft[11]==0xffff0000 &&
-            buffer_fft[12]==0x0000ffff && buffer_fft[13]==0xffff0000 && buffer_fft[14]==0xfffffffe && buffer_fft[15]==0xffff0000 &&
-            buffer_fft[16]==0x00010000  && buffer_fft[17]==0x0001ffff && buffer_fft[18]==0x0000ffff && buffer_fft[19]==0x0001ffff &&
-            buffer_fft[20]==0x0001fffe && buffer_fft[21]==0x0000fffe && buffer_fft[22]==0x0001fffe && buffer_fft[23]==0x0000ffff &&
-            buffer_fft[24]==0x0000ffff && buffer_fft[25]==0x0001fffe && buffer_fft[26]==0x0000ffff && buffer_fft[27]==0x00010000 &&
-            buffer_fft[28]==0x0001ffff && buffer_fft[29]==0x00010000 && buffer_fft[30]==0x0000ffff && buffer_fft[31]==0x00010000 &&
-            buffer_fft[32]==0x0000ffff && buffer_fft[33]==0x0000ffff && buffer_fft[34]==0x0000ffff && buffer_fft[35]==0x0000ffff &&
-            buffer_fft[36]==0x0000fffe && buffer_fft[37]==0x0000ffff && buffer_fft[38]==0x0000fffe && buffer_fft[39]==0x00000000 &&
-            buffer_fft[40]==0xffffffff && buffer_fft[41]==0x0000ffff && buffer_fft[42]==0xffffffff && buffer_fft[43]==0x00000000 &&
-            buffer_fft[44]==0x0000ffff && buffer_fft[45]==0x00000000 && buffer_fft[46]==0xffffffff && buffer_fft[47]==0x00000000 &&
-            buffer_fft[48]==0x00000000 && buffer_fft[49]==0x00000000 && buffer_fft[50]==0x00000000 && buffer_fft[51]==0x00000000 &&
-            buffer_fft[52]==0x0000ffff && buffer_fft[53]==0x0000ffff && buffer_fft[54]==0x0000ffff && buffer_fft[55]==0x00000000 &&
-            buffer_fft[56]==0xfffeffff && buffer_fft[57]==0xffffffff && buffer_fft[58]==0xffff0000 && buffer_fft[59]==0x00000000 &&
-            buffer_fft[60]==0x0000ffff && buffer_fft[61]==0x00000000 && buffer_fft[62]==0x003d000c && buffer_fft[63]==0x00000000 ) {
-        return 1;
-    } else {
-        return 0;
-    }
+    while (1)
+        ;
 }
 
 void DDRO_Sensor(JTAG &jtag)