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.cp] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
#line 1 "H:/MINI32/MINI-32 Examples/MINI-32 mikroC PRO for PIC32 Examples/MINI32_NAND_Controller/CMD_ReadPage.c"
2
#line 1 "h:/mini32/mini-32 examples/mini-32 mikroc pro for pic32 examples/mini32_nand_controller/nandcontrol.h"
3
 
4
 
5
 
6
void init_nand_control_line();
7
int nand_is_ready();
8
void nand_wait_ready();
9
void nand_chip_select(int idx);
10
void nand_chip_unselect();
11
 
12
void nand_send_command(unsigned char cmd);
13
void nand_send_address(unsigned char* addr, int len);
14
void nand_write(unsigned char* buffer, int len);
15
void nand_read(unsigned char* buffer, int len);
16
void nand_toggle_wp();
17
 
18
void blink(int i);
19
#line 1 "h:/mini32/mini-32 examples/mini-32 mikroc pro for pic32 examples/mini32_nand_controller/cmd.h"
20
#line 38 "h:/mini32/mini-32 examples/mini-32 mikroc pro for pic32 examples/mini32_nand_controller/cmd.h"
21
void do_delay(int cycles);
22
 
23
void cmd_chip_enable(unsigned char* cmd);
24
void cmd_chip_disable();
25
void cmd_chip_reset();
26
void cmd_chip_read_id(unsigned char* outBuffer, int addr);
27
void cmd_chip_read_param_page(unsigned char* outBuffer);
28
void cmd_chip_read_page(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles);
29
void cmd_chip_read_page_cache_sequential(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCylces);
30
unsigned char cmd_chip_read_status();
31
unsigned char cmd_chip_read_status_enhanced(unsigned char* inBuffer, int addressCycles);
32
void cmd_chip_read_unique_id(unsigned char* outBuffer);
33
void cmd_chip_block_erase(unsigned char* inBuffer);
34
unsigned char cmd_chip_page_program(unsigned char* inBuffer, int addressCycles, int pageSize);
35
#line 5 "H:/MINI32/MINI-32 Examples/MINI-32 mikroC PRO for PIC32 Examples/MINI32_NAND_Controller/CMD_ReadPage.c"
36
void cmd_chip_read_page(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
37
{
38
 nand_send_command( 0x00 );
39
 nand_send_address(inBuffer + 1, addressCycles);
40
 nand_send_command( 0x30 );
41
 do_delay(5);
42
 while(!nand_is_ready());
43
 
44
 
45
 {
46
 int i;
47
 for(i = 0; i < len; i += 64)
48
 {
49
 nand_read(outBuffer, 64);
50
 
51
 while(0 == HID_Write(outBuffer, 64))
52
 USB_Break();
53
 }
54
 }
55
}
56
#line 32 "H:/MINI32/MINI-32 Examples/MINI-32 mikroC PRO for PIC32 Examples/MINI32_NAND_Controller/CMD_ReadPage.c"
57
void cmd_chip_read_page_cache_sequential(unsigned char* inBuffer, unsigned char* outBuffer, int len, int addressCycles)
58
{
59
 int i = 0;
60
 int j = *(int*)(inBuffer + 6);
61
 
62
 nand_send_command( 0x00 );
63
 nand_send_address(inBuffer + 1, addressCycles);
64
 nand_send_command( 0x30 );
65
 do_delay(5);
66
 nand_wait_ready();
67
 while(j > 0)
68
 {
69
 nand_send_command( (j > 1)?  0x31  :  0x3F );
70
 j--;
71
 
72
 nand_wait_ready();
73
 
74
 for(i = 0; i < len; i += 64)
75
 {
76
 nand_read(outBuffer, 64);
77
 while(!HID_Write(outBuffer, 64));
78
 USB_Break();
79
 
80
 }
81
 }
82
}

powered by: WebSVN 2.1.0

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