OpenCores
URL https://opencores.org/ocsvn/usb_nand_reader/usb_nand_reader/trunk

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [CMD_ReadPage.c] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
 
2
#include "NandControl.h"
3
#include "CMD.h"
4
 
5
void cmd_chip_read_page(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
6
{
7
    nand_send_command(NC_READ_MODE);
8
    nand_send_address(inBuffer + 1, addressCycles);
9
    nand_send_command(NC_READ_PAGE);
10
    do_delay(5);
11
    while(!nand_is_ready());
12
    //nand_read(outBuffer, len);
13
    /* Testing something */
14
    {
15
        int i;
16
        for(i = 0; i < len; i += 64)
17
        {
18
            nand_read(outBuffer, 64);
19
            //HID_Write(outBuffer, 64);
20
          while(0 == HID_Write(outBuffer, 64))
21
                USB_Break();
22
        }
23
    }
24
}
25
 
26
/*
27
inBUffer - buffer containing the instruction read from USB
28
outBuffer - buffer to store page data (to be sent via USB)
29
len - size of page in bytes including OOB
30
addressCycles - numbre of address cycles for current chip
31
*/
32
void cmd_chip_read_page_cache_sequential(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
33
{
34
    int i = 0;
35
    int j = *(int*)(inBuffer + 6);
36
 
37
    nand_send_command(NC_READ_MODE);
38
    nand_send_address(inBuffer + 1, addressCycles);
39
    nand_send_command(NC_READ_PAGE);
40
    do_delay(5);
41
    nand_wait_ready();
42
    while(j > 0)
43
    {
44
      nand_send_command( (j > 1)? NC_READ_PAGE_CACHE_SEQ : NC_READ_PAGE_CACHE_LAST);
45
      j--;
46
      //do_delay(5);
47
      nand_wait_ready();
48
      //do_delay(5);
49
      for(i = 0; i < len; i += 64)
50
      {
51
          nand_read(outBuffer, 64);
52
          while(!HID_Write(outBuffer, 64));
53
                USB_Break();
54
          //while(HID_Write(outBuffer, 64));
55
      }
56
    }
57
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.