Liangzhen Lai / Mbed 2 deprecated Orange_Ferrari_board_functional

Dependencies:   DDRO_Farrari mbed

Fork of DDRO_Farrari by Liangzhen Lai

Committer:
liangzhen
Date:
Mon Oct 07 22:58:19 2013 +0000
Revision:
0:84a8bcfbdec9
Child:
1:6a820a0ca03b
power sensor tested;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liangzhen 0:84a8bcfbdec9 1
liangzhen 0:84a8bcfbdec9 2 #include "mbed.h"
liangzhen 0:84a8bcfbdec9 3 #include "dac.h"
liangzhen 0:84a8bcfbdec9 4 #include "board_test.h"
liangzhen 0:84a8bcfbdec9 5 #include "scan.h"
liangzhen 0:84a8bcfbdec9 6 #include "power.h"
liangzhen 0:84a8bcfbdec9 7 #include "pinout.h"
liangzhen 0:84a8bcfbdec9 8 #include "pll.h"
liangzhen 0:84a8bcfbdec9 9 #include "lcd.h"
liangzhen 0:84a8bcfbdec9 10 #include "jtag.h"
liangzhen 0:84a8bcfbdec9 11 #include "mmap.h"
liangzhen 0:84a8bcfbdec9 12 #include "clock.h"
liangzhen 0:84a8bcfbdec9 13 #include "EasyBMP.h"
liangzhen 0:84a8bcfbdec9 14
liangzhen 0:84a8bcfbdec9 15 extern "C" void mbed_reset();
liangzhen 0:84a8bcfbdec9 16 extern "C" void HardFault_Handler() { mbed_reset(); }
liangzhen 0:84a8bcfbdec9 17 class Watchdog {
liangzhen 0:84a8bcfbdec9 18 public:
liangzhen 0:84a8bcfbdec9 19 // Load timeout value in watchdog timer and enable
liangzhen 0:84a8bcfbdec9 20 void kick(float s) {
liangzhen 0:84a8bcfbdec9 21 LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK
liangzhen 0:84a8bcfbdec9 22 uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4
liangzhen 0:84a8bcfbdec9 23 LPC_WDT->WDTC = s * (float)clk;
liangzhen 0:84a8bcfbdec9 24 LPC_WDT->WDMOD = 0x3; // Enabled and Reset
liangzhen 0:84a8bcfbdec9 25 kick();
liangzhen 0:84a8bcfbdec9 26 }
liangzhen 0:84a8bcfbdec9 27 // "kick" or "feed" the dog - reset the watchdog timer
liangzhen 0:84a8bcfbdec9 28 // by writing this required bit pattern
liangzhen 0:84a8bcfbdec9 29 void kick() {
liangzhen 0:84a8bcfbdec9 30 LPC_WDT->WDFEED = 0xAA;
liangzhen 0:84a8bcfbdec9 31 LPC_WDT->WDFEED = 0x55;
liangzhen 0:84a8bcfbdec9 32 }
liangzhen 0:84a8bcfbdec9 33 };
liangzhen 0:84a8bcfbdec9 34 Watchdog wdt;
liangzhen 0:84a8bcfbdec9 35 void DDRO_Sensor(void);
liangzhen 0:84a8bcfbdec9 36 int FFT_Freq(float);
liangzhen 0:84a8bcfbdec9 37
liangzhen 0:84a8bcfbdec9 38 int main() {
liangzhen 0:84a8bcfbdec9 39 float new_power = 0.9;
liangzhen 0:84a8bcfbdec9 40
liangzhen 0:84a8bcfbdec9 41 //wdt.kick(20.0);
liangzhen 0:84a8bcfbdec9 42 pc.printf("Begin FFT\r\n");
liangzhen 0:84a8bcfbdec9 43 char buffer[21];
liangzhen 0:84a8bcfbdec9 44
liangzhen 0:84a8bcfbdec9 45 power_down();
liangzhen 0:84a8bcfbdec9 46 power_up(new_power); // Power Up Chip
liangzhen 0:84a8bcfbdec9 47 pc.printf("Powered up!\r\n");
liangzhen 0:84a8bcfbdec9 48
liangzhen 0:84a8bcfbdec9 49 PORESETn = 0;
liangzhen 0:84a8bcfbdec9 50 CORERESETn = 0;
liangzhen 0:84a8bcfbdec9 51 PORESETn = 1;
liangzhen 0:84a8bcfbdec9 52 CORERESETn = 1;
liangzhen 0:84a8bcfbdec9 53
liangzhen 0:84a8bcfbdec9 54 JTAG jtag;
liangzhen 0:84a8bcfbdec9 55 int idcode = jtag.readID();
liangzhen 0:84a8bcfbdec9 56 if(idcode != 0x4ba00477) {
liangzhen 0:84a8bcfbdec9 57 pc.printf("ERROR: IDCode %X\r\n", idcode);
liangzhen 0:84a8bcfbdec9 58 wait(20);
liangzhen 0:84a8bcfbdec9 59 power_down();
liangzhen 0:84a8bcfbdec9 60 return -1;
liangzhen 0:84a8bcfbdec9 61 }
liangzhen 0:84a8bcfbdec9 62 pc.printf("IDCode %X\r\n", idcode);
liangzhen 0:84a8bcfbdec9 63
liangzhen 0:84a8bcfbdec9 64 jtag.reset();
liangzhen 0:84a8bcfbdec9 65 jtag.leaveState();
liangzhen 0:84a8bcfbdec9 66 jtag.PowerupDAP();
liangzhen 0:84a8bcfbdec9 67 int freq = FFT_Freq(new_power);
liangzhen 0:84a8bcfbdec9 68 pc.printf("fft working frequency: %d MHz\r\n", freq);
liangzhen 0:84a8bcfbdec9 69
liangzhen 0:84a8bcfbdec9 70 DDRO_Sensor();
liangzhen 0:84a8bcfbdec9 71 jtag.writeMemory(ddro_pad_out, 0xffffffff);
liangzhen 0:84a8bcfbdec9 72 printf("Reading ddro pad out %x\n", jtag.readMemory(ddro_pad_out));
liangzhen 0:84a8bcfbdec9 73 jtag.writeMemory(ddro_div_by, 0xffffffff);
liangzhen 0:84a8bcfbdec9 74 printf("Reading ddro div by %x\n", jtag.readMemory(ddro_div_by));
liangzhen 0:84a8bcfbdec9 75
liangzhen 0:84a8bcfbdec9 76 //wdt.kick();
liangzhen 0:84a8bcfbdec9 77 gain_ctrl=0;
liangzhen 0:84a8bcfbdec9 78 pc.printf("GAIN_CTRL = 0\r\n");
liangzhen 0:84a8bcfbdec9 79 pc.printf("SEN: %f\r\n",meas_sen.read());
liangzhen 0:84a8bcfbdec9 80 pc.printf("MEM1: %f\r\n",meas_mem1.read());
liangzhen 0:84a8bcfbdec9 81 pc.printf("MEM2: %f\r\n",meas_mem2.read());
liangzhen 0:84a8bcfbdec9 82 pc.printf("CORE: %f\r\n",meas_core.read());
liangzhen 0:84a8bcfbdec9 83 pc.getc();
liangzhen 0:84a8bcfbdec9 84 wait(1);
liangzhen 0:84a8bcfbdec9 85 gain_ctrl=1;
liangzhen 0:84a8bcfbdec9 86 pc.printf("GAIN_CTRL = 1\r\n");
liangzhen 0:84a8bcfbdec9 87 pc.printf("SEN: %f\r\n",meas_sen.read());
liangzhen 0:84a8bcfbdec9 88 pc.printf("MEM1: %f\r\n",meas_mem1.read());
liangzhen 0:84a8bcfbdec9 89 pc.printf("MEM2: %f\r\n",meas_mem2.read());
liangzhen 0:84a8bcfbdec9 90 pc.printf("CORE: %f\r\n",meas_core.read());
liangzhen 0:84a8bcfbdec9 91 pc.getc();
liangzhen 0:84a8bcfbdec9 92 wait(1);
liangzhen 0:84a8bcfbdec9 93 gain_ctrl=0;
liangzhen 0:84a8bcfbdec9 94 pc.printf("GAIN_CTRL = 0\r\n");
liangzhen 0:84a8bcfbdec9 95 pc.printf("SEN: %f\r\n",meas_sen.read());
liangzhen 0:84a8bcfbdec9 96 pc.printf("MEM1: %f\r\n",meas_mem1.read());
liangzhen 0:84a8bcfbdec9 97 pc.printf("MEM2: %f\r\n",meas_mem2.read());
liangzhen 0:84a8bcfbdec9 98 pc.printf("CORE: %f\r\n",meas_core.read());
liangzhen 0:84a8bcfbdec9 99 pc.getc();
liangzhen 0:84a8bcfbdec9 100 wait(1);
liangzhen 0:84a8bcfbdec9 101 gain_ctrl=1;
liangzhen 0:84a8bcfbdec9 102 pc.printf("GAIN_CTRL = 1\r\n");
liangzhen 0:84a8bcfbdec9 103 pc.printf("SEN: %f\r\n",meas_sen.read());
liangzhen 0:84a8bcfbdec9 104 pc.printf("MEM1: %f\r\n",meas_mem1.read());
liangzhen 0:84a8bcfbdec9 105 pc.printf("MEM2: %f\r\n",meas_mem2.read());
liangzhen 0:84a8bcfbdec9 106 pc.printf("CORE: %f\r\n",meas_core.read());
liangzhen 0:84a8bcfbdec9 107 pc.getc();
liangzhen 0:84a8bcfbdec9 108 char paus;
liangzhen 0:84a8bcfbdec9 109 pc.printf("Powering Down\r\n");
liangzhen 0:84a8bcfbdec9 110 power_down();
liangzhen 0:84a8bcfbdec9 111 pc.printf("Done\r\n");
liangzhen 0:84a8bcfbdec9 112 }
liangzhen 0:84a8bcfbdec9 113
liangzhen 0:84a8bcfbdec9 114 int FFT_Freq(float vdd) {
liangzhen 0:84a8bcfbdec9 115
liangzhen 0:84a8bcfbdec9 116 JTAG jtag;
liangzhen 0:84a8bcfbdec9 117 char buffer[21];
liangzhen 0:84a8bcfbdec9 118 int counter_set=200;
liangzhen 0:84a8bcfbdec9 119 int flag=0;
liangzhen 0:84a8bcfbdec9 120 while(flag==0){
liangzhen 0:84a8bcfbdec9 121 //load program
liangzhen 0:84a8bcfbdec9 122
liangzhen 0:84a8bcfbdec9 123 if(jtag.loadProgram()) {
liangzhen 0:84a8bcfbdec9 124 dual_printf("Load Failed");
liangzhen 0:84a8bcfbdec9 125 exit(1);
liangzhen 0:84a8bcfbdec9 126 }
liangzhen 0:84a8bcfbdec9 127 jtag.writeMemory(PLL_RESET, 0);
liangzhen 0:84a8bcfbdec9 128 jtag_pll(jtag, 1, 1, counter_set, 1, 10, 32 );
liangzhen 0:84a8bcfbdec9 129 jtag.writeMemory(PLL_RESET, 1);
liangzhen 0:84a8bcfbdec9 130 jtag.writeMemory(PLL_RESET, 0);
liangzhen 0:84a8bcfbdec9 131 unsigned long long freq = calc_pll_freqs(1, 1, counter_set, 1, 10, 32);
liangzhen 0:84a8bcfbdec9 132 freq = freq / 1000000; // in MHz
liangzhen 0:84a8bcfbdec9 133 int fMHz = freq;
liangzhen 0:84a8bcfbdec9 134 // dual_printf(buffer);
liangzhen 0:84a8bcfbdec9 135 power_core(vdd);
liangzhen 0:84a8bcfbdec9 136
liangzhen 0:84a8bcfbdec9 137 //dual_printf("Resetting");
liangzhen 0:84a8bcfbdec9 138 CORERESETn = 0;
liangzhen 0:84a8bcfbdec9 139 CORERESETn = 1;
liangzhen 0:84a8bcfbdec9 140 wait(0.2);
liangzhen 0:84a8bcfbdec9 141 jtag.reset();
liangzhen 0:84a8bcfbdec9 142 jtag.leaveState();
liangzhen 0:84a8bcfbdec9 143 jtag.PowerupDAP();
liangzhen 0:84a8bcfbdec9 144 // dual_printf("Reset finished");
liangzhen 0:84a8bcfbdec9 145
liangzhen 0:84a8bcfbdec9 146
liangzhen 0:84a8bcfbdec9 147 unsigned int buffer_fft[64];
liangzhen 0:84a8bcfbdec9 148 for (int number1=0; number1<=63; number1++) {
liangzhen 0:84a8bcfbdec9 149 buffer_fft[number1] = jtag.readMemory(0x24000100 + number1*4);
liangzhen 0:84a8bcfbdec9 150 //printf("new[%d]: %x\n", number1, buffer_fft[number1]);
liangzhen 0:84a8bcfbdec9 151 }
liangzhen 0:84a8bcfbdec9 152
liangzhen 0:84a8bcfbdec9 153 if ( buffer_fft[0] == 0x0000fffc && buffer_fft[1]==0x0000fffd && buffer_fft[2]==0xffc0000a && buffer_fft[3]==0x0000fffe &&
liangzhen 0:84a8bcfbdec9 154 buffer_fft[4]==0x0000fffd && buffer_fft[5]==0x0000ffff && buffer_fft[6]==0x0000fffd && buffer_fft[7]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 155 buffer_fft[8]==0x0000ffff && buffer_fft[9]==0x0000ffff && buffer_fft[10]==0xfffeffff && buffer_fft[11]==0xffff0000 &&
liangzhen 0:84a8bcfbdec9 156 buffer_fft[12]==0x0000ffff && buffer_fft[13]==0xffff0000 && buffer_fft[14]==0xfffffffe && buffer_fft[15]==0xffff0000 &&
liangzhen 0:84a8bcfbdec9 157 buffer_fft[16]==0x00010000 && buffer_fft[17]==0x0001ffff && buffer_fft[18]==0x0000ffff && buffer_fft[19]==0x0001ffff &&
liangzhen 0:84a8bcfbdec9 158 buffer_fft[20]==0x0001fffe && buffer_fft[21]==0x0000fffe && buffer_fft[22]==0x0001fffe && buffer_fft[23]==0x0000ffff &&
liangzhen 0:84a8bcfbdec9 159 buffer_fft[24]==0x0000ffff && buffer_fft[25]==0x0001fffe && buffer_fft[26]==0x0000ffff && buffer_fft[27]==0x00010000 &&
liangzhen 0:84a8bcfbdec9 160 buffer_fft[28]==0x0001ffff && buffer_fft[29]==0x00010000 && buffer_fft[30]==0x0000ffff && buffer_fft[31]==0x00010000 &&
liangzhen 0:84a8bcfbdec9 161 buffer_fft[32]==0x0000ffff && buffer_fft[33]==0x0000ffff && buffer_fft[34]==0x0000ffff && buffer_fft[35]==0x0000ffff &&
liangzhen 0:84a8bcfbdec9 162 buffer_fft[36]==0x0000fffe && buffer_fft[37]==0x0000ffff && buffer_fft[38]==0x0000fffe && buffer_fft[39]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 163 buffer_fft[40]==0xffffffff && buffer_fft[41]==0x0000ffff && buffer_fft[42]==0xffffffff && buffer_fft[43]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 164 buffer_fft[44]==0x0000ffff && buffer_fft[45]==0x00000000 && buffer_fft[46]==0xffffffff && buffer_fft[47]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 165 buffer_fft[48]==0x00000000 && buffer_fft[49]==0x00000000 && buffer_fft[50]==0x00000000 && buffer_fft[51]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 166 buffer_fft[52]==0x0000ffff && buffer_fft[53]==0x0000ffff && buffer_fft[54]==0x0000ffff && buffer_fft[55]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 167 buffer_fft[56]==0xfffeffff && buffer_fft[57]==0xffffffff && buffer_fft[58]==0xffff0000 && buffer_fft[59]==0x00000000 &&
liangzhen 0:84a8bcfbdec9 168 buffer_fft[60]==0x0000ffff && buffer_fft[61]==0x00000000 && buffer_fft[62]==0x003d000c && buffer_fft[63]==0x00000000 ) {
liangzhen 0:84a8bcfbdec9 169 //printf("***********************maximum freq *********************** %d", fMHz);
liangzhen 0:84a8bcfbdec9 170 flag = 1;
liangzhen 0:84a8bcfbdec9 171 //return fMHz;
liangzhen 0:84a8bcfbdec9 172 }
liangzhen 0:84a8bcfbdec9 173 else counter_set = counter_set-1;
liangzhen 0:84a8bcfbdec9 174 }
liangzhen 0:84a8bcfbdec9 175 unsigned long long freq = calc_pll_freqs(1, 1, counter_set, 1, 10, 32);
liangzhen 0:84a8bcfbdec9 176 freq = freq / 1000000; // in MHz
liangzhen 0:84a8bcfbdec9 177 int fMHz = freq;
liangzhen 0:84a8bcfbdec9 178 return fMHz;
liangzhen 0:84a8bcfbdec9 179 }
liangzhen 0:84a8bcfbdec9 180
liangzhen 0:84a8bcfbdec9 181 void DDRO_Sensor(void){
liangzhen 0:84a8bcfbdec9 182 JTAG jtag;
liangzhen 0:84a8bcfbdec9 183 /**********************enable****************************************/
liangzhen 0:84a8bcfbdec9 184 jtag.writeMemory(ddro_syn_en, 0xffffffff);
liangzhen 0:84a8bcfbdec9 185 //printf("Reading ddro syn en %x\n", jtag.readMemory(ddro_syn_en));
liangzhen 0:84a8bcfbdec9 186 jtag.writeMemory(ddro_inv_en, 0xffffffff);
liangzhen 0:84a8bcfbdec9 187 // printf("Reading ddro inv en %x\n", jtag.readMemory(ddro_inv_en));
liangzhen 0:84a8bcfbdec9 188
liangzhen 0:84a8bcfbdec9 189 /**********************set ref_clk and samp_clk**********************/
liangzhen 0:84a8bcfbdec9 190 jtag.writeMemory(ddro_samp_src, 0x00000000);
liangzhen 0:84a8bcfbdec9 191 //printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 192 jtag.writeMemory(ddro_ref_src, 0x00000003);
liangzhen 0:84a8bcfbdec9 193 //printf("Reading samp src %x\n", jtag.readMemory(ddro_samp_src));
liangzhen 0:84a8bcfbdec9 194
liangzhen 0:84a8bcfbdec9 195 /**********************write threshold*******************************/
liangzhen 0:84a8bcfbdec9 196 // printf("Writing threshold\n");
liangzhen 0:84a8bcfbdec9 197 jtag.writeMemory(ddro_threshold, 10);
liangzhen 0:84a8bcfbdec9 198 // printf("Reading threshold %d\n", jtag.readMemory(ddro_threshold));
liangzhen 0:84a8bcfbdec9 199
liangzhen 0:84a8bcfbdec9 200 jtag.writeMemory(0xe000e104, 0x000000ff); // enable interrupts
liangzhen 0:84a8bcfbdec9 201
liangzhen 0:84a8bcfbdec9 202 /**********************start DDRO************************************/
liangzhen 0:84a8bcfbdec9 203 // printf("Ready to start DDRO \n");
liangzhen 0:84a8bcfbdec9 204 // printf("DDRO starting\n");
liangzhen 0:84a8bcfbdec9 205 jtag.writeMemory(ddro_start, 1);//*ddro_start = 1;
liangzhen 0:84a8bcfbdec9 206
liangzhen 0:84a8bcfbdec9 207 /*********************output*****************************************/
liangzhen 0:84a8bcfbdec9 208 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 209 jtag.writeMemory(ddro_start, 0);//*ddro_start = 1;
liangzhen 0:84a8bcfbdec9 210
liangzhen 0:84a8bcfbdec9 211
liangzhen 0:84a8bcfbdec9 212
liangzhen 0:84a8bcfbdec9 213
liangzhen 0:84a8bcfbdec9 214 jtag.writeMemory(ddro_ref_src, 0x00000004);
liangzhen 0:84a8bcfbdec9 215 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 216 jtag.writeMemory(ddro_start, 1);//*ddro_start = 1;
liangzhen 0:84a8bcfbdec9 217 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 218 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 219
liangzhen 0:84a8bcfbdec9 220 jtag.writeMemory(ddro_ref_src, 0x00000005);
liangzhen 0:84a8bcfbdec9 221 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 222 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 223 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 224 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 225
liangzhen 0:84a8bcfbdec9 226 jtag.writeMemory(ddro_ref_src, 0x00000006);
liangzhen 0:84a8bcfbdec9 227 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 228 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 229 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 230 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 231
liangzhen 0:84a8bcfbdec9 232 jtag.writeMemory(ddro_ref_src, 0x00000007);
liangzhen 0:84a8bcfbdec9 233 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 234 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 235 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 236 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 237
liangzhen 0:84a8bcfbdec9 238 jtag.writeMemory(ddro_ref_src, 0x00000008);
liangzhen 0:84a8bcfbdec9 239 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 240 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 241 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 242 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 243
liangzhen 0:84a8bcfbdec9 244 jtag.writeMemory(ddro_ref_src, 0x00000009);
liangzhen 0:84a8bcfbdec9 245 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 246 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 247 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 248 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 249
liangzhen 0:84a8bcfbdec9 250 jtag.writeMemory(ddro_ref_src, 0x0000000a);
liangzhen 0:84a8bcfbdec9 251 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 252 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 253 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 254 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 255
liangzhen 0:84a8bcfbdec9 256 jtag.writeMemory(ddro_ref_src, 0x0000000b);
liangzhen 0:84a8bcfbdec9 257 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 258 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 259 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 260 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 261
liangzhen 0:84a8bcfbdec9 262 jtag.writeMemory(ddro_ref_src, 0x0000000c);
liangzhen 0:84a8bcfbdec9 263 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 264 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 265 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 266 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 267
liangzhen 0:84a8bcfbdec9 268 jtag.writeMemory(ddro_ref_src, 0x0000000d);
liangzhen 0:84a8bcfbdec9 269 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 270 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 271 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 272 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 273
liangzhen 0:84a8bcfbdec9 274 jtag.writeMemory(ddro_ref_src, 0x0000000e);
liangzhen 0:84a8bcfbdec9 275 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 276 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 277 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 278 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 279
liangzhen 0:84a8bcfbdec9 280 jtag.writeMemory(ddro_ref_src, 0x0000000f);
liangzhen 0:84a8bcfbdec9 281 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 282 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 283 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 284 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 285
liangzhen 0:84a8bcfbdec9 286 jtag.writeMemory(ddro_ref_src, 0x00000010);
liangzhen 0:84a8bcfbdec9 287 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 288 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 289 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 290 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 291
liangzhen 0:84a8bcfbdec9 292 jtag.writeMemory(ddro_ref_src, 0x00000011);
liangzhen 0:84a8bcfbdec9 293 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 294 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 295 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 296 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 297
liangzhen 0:84a8bcfbdec9 298 jtag.writeMemory(ddro_ref_src, 0x00000012);
liangzhen 0:84a8bcfbdec9 299 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 300 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 301 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 302 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 303
liangzhen 0:84a8bcfbdec9 304 jtag.writeMemory(ddro_ref_src, 0x00000013);
liangzhen 0:84a8bcfbdec9 305 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 306 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 307 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 308 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 309
liangzhen 0:84a8bcfbdec9 310 jtag.writeMemory(ddro_ref_src, 0x00000014);
liangzhen 0:84a8bcfbdec9 311 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 312 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 313 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 314 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 315
liangzhen 0:84a8bcfbdec9 316 jtag.writeMemory(ddro_ref_src, 0x00000015);
liangzhen 0:84a8bcfbdec9 317 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 318 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 319 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 320 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 321
liangzhen 0:84a8bcfbdec9 322 jtag.writeMemory(ddro_ref_src, 0x00000016);
liangzhen 0:84a8bcfbdec9 323 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 324 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 325 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 326 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 327
liangzhen 0:84a8bcfbdec9 328 jtag.writeMemory(ddro_ref_src, 0x00000017);
liangzhen 0:84a8bcfbdec9 329 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 330 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 331 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 332 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 333
liangzhen 0:84a8bcfbdec9 334 jtag.writeMemory(ddro_ref_src, 0x00000018);
liangzhen 0:84a8bcfbdec9 335 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 336 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 337 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 338 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 339
liangzhen 0:84a8bcfbdec9 340 jtag.writeMemory(ddro_ref_src, 0x00000019);
liangzhen 0:84a8bcfbdec9 341 printf("Reading ddro ref src %x\n", jtag.readMemory(ddro_ref_src));
liangzhen 0:84a8bcfbdec9 342 jtag.writeMemory(ddro_start, 1);
liangzhen 0:84a8bcfbdec9 343 printf("Reading ddro_count %d\n", jtag.readMemory(ddro_count));
liangzhen 0:84a8bcfbdec9 344 jtag.writeMemory(ddro_start, 0);
liangzhen 0:84a8bcfbdec9 345
liangzhen 0:84a8bcfbdec9 346 }