|
EMIFANANDInit(NandInfo_t *nandInfo) { nandTimingInfo = (EMIFANANDTimingInfo_t *) nandInfo->hNandCtrlInfo->hNandTimingInfo; } 这句话怎么理解呢?谁能给小弟详细解释一下,谢谢 下面是对应的结构体
( u) _* E; _; w/ w; P
8 k. S2 S. S d
1 H( O9 g& _/ r4 |& i6 P/ E
typedef struct _EMIFA_NAND_TIMING_INFO_ {unsigned int writeSetup; unsigned int writeStrobe; unsigned int writeHold; unsigned int readSetup; unsigned int readStrobe; unsigned int readHold; unsigned int turnAround; } EMIFANANDTimingInfo_t; typedef struct _NAND_INFO_ { unsigned int dataRegAddr; /* ADDR Register address */ unsigned int addrRegAddr; /* CMD Register address */ unsigned int cmdRegAddr; /* Pointer to Memory Controller Structure */ struct _NAND_CTRL_INFO_ *hNandCtrlInfo; /* Pointer to ECC Structure */ struct _NAND_ECC_INFO_ *hNandEccInfo; /* Pointer to DMA Structure */ struct _NAND_DMA_INFO_ *hNandDmaInfo; } NandInfo_t;
( l0 x M8 R/ A! g1 S; F7 S/ y
typedef struct _NAND_CTRL_INFO_ { unsigned int (*WaitPinStatusGet)(NandInfo_t *nandInfo); /* Timing info for the device and the controller */ void *hNandTimingInfo; /* Base address of the controller */ unsigned int baseAddr; /* ECC supported by the controller */ unsigned int eccSupported; /* Wait pin where NAND dev R/B pin is connected */ unsigned int chipSelectBaseAddr[NAND_MAX_CHIP_SELECTS];
. w" j6 |- _ n- x/ M2 b} NandCtrlInfo_t;
# O# q) l- U' I P0 b' W f! m9 Y/ ]
|