Hello, I am using a board of lpc2478 in which SDRAM is connected as shown in following pinmap. I am unable to access data(write/read) from SDRAM. I have problem in accessing address 0xA0000000; as i am allocating it to a pionter as shown in program, PLEASE HELP ME SHALL I EDIT SCSTTER FILE TO GET ACCESS TO THIS MEMORY LOCATION?
void SDRAM_write(unsigned int No_of_data, unsigned int SDRAM_DAT[]) { //unsigned short data_write = 0x0000; unsigned int a; SDRAM_pointer = (unsigned int*)0xA0000000; //0x80000555 for(a = 0; a < No_of_data; a++) {
*SDRAM_pointer = SDRAM_DAT[a]; while(EMCSTATUS_bit.B == 0x01) // Check if EMC is busy {} SDRAM_pointer++;
}
void SDRAM_read(unsigned int No_of_data) { int a, b; SDRAM_pointer = (unsigned int*)0XA0000000;//0x801FE000; for(a = 0; a < No_of_data; a++) { b = *SDRAM_pointer; while(EMCSTATUS_bit.B == 0x01) // Check if EMC is busy {} test1234[a] = b;
SDRAM_pointer++; //delay(100); } SDRAM_pointer = (unsigned int*)0XA0000000; for(a = 0; a < No_of_data; a++) { sprintf(buffer,"0x%x = 0x%x !",SDRAM_pointer, test1234[a]); row_wr(4,buffer); transmit_array(buffer); transmit_byte(0X0D); transmit_byte(0X0A); SDRAM_pointer++; }
} THIS IS MY PINOUT FOR SDRAM. //***************************** EXTERNAL SDRAM CONTROL SIGNALS ********************************* PINSEL5_bit.P2_20 = 1; //SDRAM CS0 PINSEL5_bit.P2_16 = 1; //SDRAM CAS PINSEL5_bit.P2_17 = 1; //SDRAM RAS PINSEL5_bit.P2_18 = 1; //SDRAM CLOCK PINSEL5_bit.P2_24 = 1; //SDRAM CLOCK ENABLE PINSEL5_bit.P2_28 = 1; //SDRAM1 DQML PINSEL5_bit.P2_29 = 1; //SDRAM1 DQMH PINSEL5_bit.P2_30 = 1; //SDRAM2 DQML PINSEL5_bit.P2_31 = 1; //SDRAM2 DQMH
//********************** EXTERNAL SDRAM & FLASH COMMON CONTROL SIGNALS ************************** PINSEL9_bit.P4_25 = 1; //SDRAM & FLASH WRENB
//****************************** EXTERNAL MEMORY ADDRESS LINES ********************************** PINSEL8_bit.P4_0 = 1; //EXTERNAL MEMORY ADDRESS0 PINSEL8_bit.P4_1 = 1; //EXTERNAL MEMORY ADDRESS1 PINSEL8_bit.P4_2 = 1; //EXTERNAL MEMORY ADDRESS2 PINSEL8_bit.P4_3 = 1; //EXTERNAL MEMORY ADDRESS3 PINSEL8_bit.P4_4 = 1; //EXTERNAL MEMORY ADDRESS4 PINSEL8_bit.P4_5 = 1; //EXTERNAL MEMORY ADDRESS5 PINSEL8_bit.P4_6 = 1; //EXTERNAL MEMORY ADDRESS6 PINSEL8_bit.P4_7 = 1; //EXTERNAL MEMORY ADDRESS7 PINSEL8_bit.P4_8 = 1; //EXTERNAL MEMORY ADDRESS8 PINSEL8_bit.P4_9 = 1; //EXTERNAL MEMORY ADDRESS9 PINSEL8_bit.P4_10 = 1; //EXTERNAL MEMORY ADDRESS10 PINSEL8_bit.P4_11 = 1; //EXTERNAL MEMORY ADDRESS11 PINSEL8_bit.P4_12 = 1; //EXTERNAL MEMORY ADDRESS12 PINSEL8_bit.P4_13 = 1; //EXTERNAL MEMORY ADDRESS13 PINSEL8_bit.P4_14 = 1; //EXTERNAL MEMORY ADDRESS14 PINSEL8_bit.P4_15 = 1; //EXTERNAL MEMORY ADDRESS15 PINSEL9_bit.P4_16 = 1; //EXTERNAL MEMORY ADDRESS16 PINSEL9_bit.P4_17 = 1; //EXTERNAL MEMORY ADDRESS17 PINSEL9_bit.P4_18 = 1; //EXTERNAL MEMORY ADDRESS18 PINSEL9_bit.P4_19 = 1; //EXTERNAL MEMORY ADDRESS19 PINSEL9_bit.P4_20 = 1; //EXTERNAL MEMORY ADDRESS20 PINSEL9_bit.P4_21 = 1; //EXTERNAL MEMORY ADDRESS21 PINSEL9_bit.P4_22 = 1; //EXTERNAL MEMORY ADDRESS22
//******************************** EXTERNAL MEMORY DATA LINES *********************************** PINSEL6_bit.P3_0 = 1; //EXTERNAL MEMORY DATA0 PINSEL6_bit.P3_1 = 1; //EXTERNAL MEMORY DATA1 PINSEL6_bit.P3_2 = 1; //EXTERNAL MEMORY DATA2 PINSEL6_bit.P3_3 = 1; //EXTERNAL MEMORY DATA3 PINSEL6_bit.P3_4 = 1; //EXTERNAL MEMORY DATA4 PINSEL6_bit.P3_5 = 1; //EXTERNAL MEMORY DATA5 PINSEL6_bit.P3_6 = 1; //EXTERNAL MEMORY DATA6 PINSEL6_bit.P3_7 = 1; //EXTERNAL MEMORY DATA7 PINSEL6_bit.P3_8 = 1; //EXTERNAL MEMORY DATA8 PINSEL6_bit.P3_9 = 1; //EXTERNAL MEMORY DATA9 PINSEL6_bit.P3_10 = 1; //EXTERNAL MEMORY DATA10 PINSEL6_bit.P3_11 = 1; //EXTERNAL MEMORY DATA11 PINSEL6_bit.P3_12 = 1; //EXTERNAL MEMORY DATA12 PINSEL6_bit.P3_13 = 1; //EXTERNAL MEMORY DATA13 PINSEL6_bit.P3_14 = 1; //EXTERNAL MEMORY DATA14 PINSEL6_bit.P3_15 = 1; //EXTERNAL MEMORY DATA15 PINSEL7_bit.P3_16 = 1; //EXTERNAL MEMORY DATA16 PINSEL7_bit.P3_17 = 1; //EXTERNAL MEMORY DATA17 PINSEL7_bit.P3_18 = 1; //EXTERNAL MEMORY DATA18 PINSEL7_bit.P3_19 = 1; //EXTERNAL MEMORY DATA19 PINSEL7_bit.P3_20 = 1; //EXTERNAL MEMORY DATA20 PINSEL7_bit.P3_21 = 1; //EXTERNAL MEMORY DATA21 PINSEL7_bit.P3_22 = 1; //EXTERNAL MEMORY DATA22 PINSEL7_bit.P3_23 = 1; //EXTERNAL MEMORY DATA23 PINSEL7_bit.P3_24 = 1; //EXTERNAL MEMORY DATA24 PINSEL7_bit.P3_25 = 1; //EXTERNAL MEMORY DATA25 PINSEL7_bit.P3_26 = 1; //EXTERNAL MEMORY DATA26 PINSEL7_bit.P3_27 = 1; //EXTERNAL MEMORY DATA27 PINSEL7_bit.P3_28 = 1; //EXTERNAL MEMORY DATA28 PINSEL7_bit.P3_29 = 1; //EXTERNAL MEMORY DATA29 PINSEL7_bit.P3_30 = 1; //EXTERNAL MEMORY DATA30 PINSEL7_bit.P3_31 = 1; //EXTERNAL MEMORY DATA31