⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_nandaux.h

📁 TI达芬奇dm644x各硬件模块测试代码
💻 H
📖 第 1 页 / 共 5 页
字号:
)
{
    CSL_FINS(hNand->regs->IODFTGCR, NAND_IODFTGCR_TM, TRUE);
}


/** ===========================================================================
 *   @n@b CSL_nandIodftMode
 *
 *   @b Description
 *   @n This function sets the Functional Mode enable to IODFT Mode.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandIodftMode (hNand);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandIodftMode (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand
)
{
    CSL_FINS(hNand->regs->IODFTGCR, NAND_IODFTGCR_TM, FALSE);
}

/**
 *  Status Query Functions of nand.
 */    
/** ===========================================================================
 *   @n@b CSL_nandGetRevIdStatus
 *
 *   @b Description
 *   @n This function gets the NAND Revision ID Status.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetRevIdStatus (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetRevIdStatus (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    ((CSL_NandRevStatus *)response)->moduleID 
                            = CSL_FEXT(hNand->regs->NRCSR, NAND_NRCSR_MID);
    ((CSL_NandRevStatus *)response)->majorRev 
                            = CSL_FEXT(hNand->regs->NRCSR, NAND_NRCSR_MAJREV);
    ((CSL_NandRevStatus *)response)->minorRev 
                            = CSL_FEXT(hNand->regs->NRCSR, NAND_NRCSR_MINREV);
}


/** ===========================================================================
 *   @n@b CSL_nandGetEndianness
 *
 *   @b Description
 *   @n This function gets the Endieness of the NAND module.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetEndianness (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetEndianness (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NRCSR, NAND_NRCSR_BE);
}


/** ===========================================================================
 *   @n@b CSL_nandGetRate
 *
 *   @b Description
 *   @n This function gets the Rate Status of the NAND module.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetRate (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetRate (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NRCSR, NAND_NRCSR_FR);
}


/** ===========================================================================
 *   @n@b CSL_nandGetWrIntStatus
 *
 *   @b Description
 *   @n This function gets the Wait rise interrupt Status of the NAND module.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetWrIntStatus (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetWrIntStatus (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NIRR, NAND_NIRR_WR);
}


/** ===========================================================================
 *   @n@b CSL_nandGetLtIntStatus
 *
 *   @b Description
 *   @n This function gets the Line Trap interrupt Status of the NAND module.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetLtIntStatus (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetLtIntStatus (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NIRR, NAND_NIRR_LT);
}


/** ===========================================================================
 *   @n@b CSL_nandGetAtIntStatus
 *
 *   @b Description
 *   @n This function gets the Asynchronour Time out interrupt Status of 
 *      the NAND module.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetAtIntStatus (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetAtIntStatus (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NIRR, NAND_NIRR_AT);
}


/** ===========================================================================
 *   @n@b CSL_nandGetFlashStatus
 *
 *   @b Description
 *   @n This function gets the NAND Flash Controler Status.
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetFlashStatus (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetFlashStatus (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    *(Uint16 *)response = CSL_FEXT(hNand->regs->NANDFSR, NAND_NANDFSR_WAITST);
}


/** ===========================================================================
 *   @n@b CSL_nandGetCs5NandFlashEcc
 *
 *   @b Description
 *   @n This function gets the value of the NAND Flash Chip Select 5 Error 
 *      Checking and Correction
 *
 *   @b Arguments
 *   @verbatim

            hNand            Handle to NAND instance

            response        Placeholder to return status.

     @endverbatim
 *
 *   <b> Return Value </b>  None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n None
 *
 *   @b Modifies
 *   @n  None
 *
 *   @b Example
 *   @verbatim

        CSL_nandGetCs5NandFlashEcc (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetCs5NandFlashEcc (
    /** Pointer to the object that holds reference to the
     *  instance of NAND requested after the call
     */
    CSL_NandHandle        hNand,

    /** Placeholder to return the status. @a void* casted */
    void                 *response
)
{
    ((CSL_NandFlashECC *)response)->p2048o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P2048O);
    ((CSL_NandFlashECC *)response)->p1024o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P1024O);
    ((CSL_NandFlashECC *)response)->p512o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P512O);
    ((CSL_NandFlashECC *)response)->p256o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P256O);
    ((CSL_NandFlashECC *)response)->p128o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P128O);
    ((CSL_NandFlashECC *)response)->p64o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P64O);
    ((CSL_NandFlashECC *)response)->p32o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P32O);
    ((CSL_NandFlashECC *)response)->p16o
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P16O);
    ((CSL_NandFlashECC *)response)->p8o
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P8O);
    ((CSL_NandFlashECC *)response)->p4o
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P4O);
    ((CSL_NandFlashECC *)response)->p2o
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P2O);
    ((CSL_NandFlashECC *)response)->p1o 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P1O);
    ((CSL_NandFlashECC *)response)->p2048e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P2048E);
    ((CSL_NandFlashECC *)response)->p1024e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P1024E);
    ((CSL_NandFlashECC *)response)->p512e

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -