This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Read from a CompactFlash (GPMC)

Other Parts Discussed in Thread: OMAP3530

Hello everyone,

I'm using OMAP3530 and I'm trying read from a CompactFlash. I would know where the data read are stored. The manual of OMAP3530
indicate that the read access is achieved if I read the register GPMC_NAND_DATA_i(i=3, Chip Select = 3).
I configure the configuration registers of GPMC and the configuration registers of the pads. Of course, the CS3 is activated and others CS are off.
The value of the GPMC_NAND_DATA_3 and of the all of the CS3 space address is 0x008B008B. 0x008B008B is an address of the CS0 space address, and if I read this address an abort appears.
I don't know where the data read are stored.

Thanks,

Alejandro

  • Hi Alejandro,

    It seems that you use the right register - GPMC_NAND_DATA_i but the schematics should be revised again to ensure that the correct value is 3 ( i = 3 ). You should pay attention on the initialization of the CompactFlash memory and hardware design of the board (I guess that you are using custom board).

    BR

    Tsvetolin Shulev

  • Hi Tsvetolin Shulev,

    I use the correct GPMC_NAND_DATA register. I'm using the Zoom OMAP35x board.
    I use the LogicLoader 2.4.16 SO  from SD card. I can mount a CompactFlash and I can copy a file from the CompactFlash and view its content with the hd command of LogicLoader but when I execute fopen in the application debugged the fopen function return a pointer with null value.

    The C function fopen that I use is the next:
    FILE *fich;
    fich=fopen("/cf/BITSTR.BIN","r");

    The name of file is BITSTR.BIN and it's in cf directory. The Zoom OMAP35x board only support the read (Memory mode).

    I think that the GPMC configuration is correct.
    I would appreciate if someone has some example or known where examples can be.

    Thanks,
    Alejandro

  • Hello,

    If someone has configured the GPMC bus for CompactFlash I would appreciate if could tell me the process followed because after one mounth of working I haven't be able of read data of the CompactFlash standard.

    I need help.

    Thanks,

    Alejandro

  • Alejandro,

    Why are you reading GPMC_NAND_DATA? I think the CF controller will be memory mapped. If you can explain the interface properly it will be helpful. It will be easier if you can share the portion of schematics.

  • Hello,

    I'm using the Zoom OMAP35x board. I'm trying read the content of a Compact Flash memory but I haven't been able. The values read are incorrect.
    The values of the parameters of GPMC that I have used are the next:

    Desable the CS's:
    GPMC_CONFIG7_0 = 0x00000f00
    GPMC_CONFIG7_1 = 0x00000f00
    GPMC_CONFIG7_2 = 0x00000f00
    GPMC_CONFIG7_3 = 0x00000f00
    GPMC_CONFIG7_4 = 0x00000f00
    GPMC_CONFIG7_5 = 0x00000f00
    GPMC_CONFIG7_6 = 0x00000f00
    GPMC_CONFIG7_7 = 0x00000f00

    GPMC_CONFIG = 0x00000F01

    (CS3 is the CS associated to Compact Flash in Zoom OMAP35x booard):

    GPMC_CONFIG1_3 = 0x00001800
    GPMC_CONFIG2_3 = 0x00131F00
    GPMC_CONFIG3_3 = 0x001F1F00
    GPMC_CONFIG4_3 = 0x10031D0E
    GPMC_CONFIG5_3 = 0x011D141F
    GPMC_CONFIG6_3 = 0x80030000


    Config the pads of CS3 (CS3 is the CS associated to Compact Flash in Zoom OMAP35x booard):
    gpmc_ncs3 = 0x0000

    Config the pads of data bus:
    gpmc_d[0] = 0x0100
    gpmc_d[1] = 0x0100
    gpmc_d[2] = 0x0100
    gpmc_d[3] = 0x0100
    gpmc_d[4] = 0x0100        
    gpmc_d[5] = 0x0100
    gpmc_d[6] = 0x0100      
    gpmc_d[7] = 0x0100
    gpmc_d[8] = 0x0100       
    gpmc_d[9] = 0x0100
    gpmc_d[10] = 0x0100
    gpmc_d[11] = 0x0100
    gpmc_d[12] = 0x0100
    gpmc_d[13] = 0x0100
    gpmc_d[14] = 0x0100        
    gpmc_d[15] = 0x0100


    Config the pads of the rest of signals implicated:
    gpmc_clk = 0x0100  
    gpmc_io_dir = 0x0001
    gpmc_nadv_ale = 0x0000
    gpmc_noe = 0x0000
    gpmc_nwe = 0x0000
    gpmc_nbe0_cle = 0x0000
    gpmc_nbe_1 = 0x0100
    gpmc_nwp = 0x0000
    gpmc_wait0 = 0x0100
    gpmc_wait1 = 0x0100
    gpmc_wait2 = 0x0100
    gpmc_wait3 = 0x0100


    Enable CS3:
    GPMC_CONFIG7_3 = 0x00000F58


    Finally, for read from the Compact Flash I access to the 0x18000000 address. This is the initial address of the CS3 that I assigned.

    I would appreciate if someone that has read the content of a Compact Flash memory (or a NAND memory) through OMAP3530 could give me the values of the GPMC registers used.

    Thanks,

    Alejandro

  • Alejandro,

    I believe its possible to use Compact Flash from OMAP3. I need to see the schematics of your interface before commenting about the register values. Will it be possible to share the schematics of the CF interface with OMAP3?