SHARE
TWEET

KSZ8051MLL NAND test

a guest Jul 11th, 2013 101 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * KszNandTest.h
  3.  *
  4.  *  Created on: 8 Aug 2012
  5.  *      Author: andy
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include "gpio/GpioPort.h"
  11. #include "config/stdperiph.h"
  12. #include "timing/MillisecondTimer.h"
  13.  
  14.  
  15. using namespace stm32plus;
  16.  
  17.  
  18. struct KszNandTest {
  19.  
  20.         void run() {
  21.  
  22.                 GpioPort pa(GPIOA), pb(GPIOB), pc(GPIOC), pd(GPIOD), pe(GPIOE);
  23.  
  24.                 pa.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_8);
  25.                 pb.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_8|GPIO_Pin_14|GPIO_Pin_12|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_10|GPIO_Pin_1);
  26.                 pc.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
  27.                 pd.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_3);
  28.                 pe.initialise(GPIO_Speed_50MHz,GPIO_Mode_Out_PP,GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_6);
  29.  
  30.                 pe.initialise(GPIO_Speed_50MHz,GPIO_Mode_IPD,GPIO_Pin_2);
  31.  
  32.                 Gpio *tree[19];
  33.  
  34.                 tree[0]=&pb[8];
  35.                 tree[1]=&pb[14];
  36.                 tree[2]=&pb[12];
  37.                 tree[3]=&pb[15];
  38.                 tree[4]=&pb[13];
  39.                 tree[5]=&pc[6];
  40.                 tree[6]=&pa[8];
  41.                 tree[7]=&pb[10];
  42.                 tree[8]=&pa[0];
  43.                 tree[9]=&pc[7];
  44.                 tree[10]=&pb[1];
  45.                 tree[11]=&pe[0];
  46.                 tree[12]=&pc[5];
  47.                 tree[13]=&pa[3];
  48.                 tree[14]=&pa[1];
  49.                 tree[15]=&pc[3];
  50.                 tree[16]=&pc[1];
  51.                 tree[17]=&pe[6];
  52.                 tree[18]=&pe[4];
  53.  
  54.                 reset(tree,pe[2],pd[3]);
  55.  
  56.                 test(tree,pe[2]);
  57.         }
  58.  
  59.  
  60.         void test(Gpio **tree,Gpio& crs) {
  61.  
  62.                 int i;
  63.                 bool results[19];
  64.  
  65.                 for(i=0;i<19;i++)
  66.                         tree[i]->set();
  67.  
  68.                 for(i=0;i<19;i++) {
  69.                         tree[i]->reset();
  70.                         results[i]=crs.read();
  71.                 }
  72.  
  73.                 for(;;);
  74.         }
  75.  
  76.  
  77.         void reset(Gpio **tree,Gpio& crs,Gpio& resetPin) {
  78.  
  79.                 resetPin.reset();
  80.  
  81.                 tree[2]->set();                                 // RXD3
  82.                 tree[3]->reset();                               // RXD2
  83.                 tree[4]->reset();                               // RXD1
  84.                 tree[5]->set();                                 // RXD0
  85.                 tree[6]->reset();                               // RXDV
  86.                 tree[7]->reset();                               // RXC
  87.                 tree[8]->reset();                               // RXER
  88.                 tree[9]->reset();                               // INTRP (/NAND)
  89.                 tree[16]->set();                                // LED0
  90.                 tree[17]->set();                                // LED1
  91.                 tree[18]->reset();                      // COL
  92.                 //crs.reset();                                          // CRS
  93.  
  94.                 MillisecondTimer::delay(10);
  95.                 resetPin.set();
  96.                 MillisecondTimer::delay(10);
  97.         }
  98. };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top