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

📄 csl_nandaux.h

📁 TI达芬奇dm644x各硬件模块测试代码
💻 H
📖 第 1 页 / 共 5 页
字号:
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P512E);
    ((CSL_NandFlashECC *)response)->p256e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P256E);
    ((CSL_NandFlashECC *)response)->p128e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P128E);
    ((CSL_NandFlashECC *)response)->p64e 
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P64E);
    ((CSL_NandFlashECC *)response)->p32e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P32E);
    ((CSL_NandFlashECC *)response)->p16e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P16E);
    ((CSL_NandFlashECC *)response)->p8e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P8E);
    ((CSL_NandFlashECC *)response)->p4e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P4E);
    ((CSL_NandFlashECC *)response)->p2e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P2E);
    ((CSL_NandFlashECC *)response)->p1e
                     = CSL_FEXT(hNand->regs->NANDF1ECC, NAND_NANDF1ECC_P1E);
}


/** ===========================================================================
 *   @n@b CSL_nandGetCs4NandFlashEcc
 *
 *   @b Description
 *   @n This function gets the value of the NAND Flash Chip Select 4 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_nandGetCs4NandFlashEcc (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetCs4NandFlashEcc (
    /** 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->NANDF2ECC, NAND_NANDF2ECC_P2048O);
    ((CSL_NandFlashECC *)response)->p1024o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P1024O);
    ((CSL_NandFlashECC *)response)->p512o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P512O);
    ((CSL_NandFlashECC *)response)->p256o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P256O);
    ((CSL_NandFlashECC *)response)->p128o
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P128O);
    ((CSL_NandFlashECC *)response)->p64o
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P64O);
    ((CSL_NandFlashECC *)response)->p32o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P32O);
    ((CSL_NandFlashECC *)response)->p16o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P16O);
    ((CSL_NandFlashECC *)response)->p8o 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P8O);
    ((CSL_NandFlashECC *)response)->p4o
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P4O);
    ((CSL_NandFlashECC *)response)->p2o
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P2O);
    ((CSL_NandFlashECC *)response)->p1o
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P1O);
    ((CSL_NandFlashECC *)response)->p2048e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P2048E);
    ((CSL_NandFlashECC *)response)->p1024e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P1024E);
    ((CSL_NandFlashECC *)response)->p512e 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P512E);
    ((CSL_NandFlashECC *)response)->p256e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P256E);
    ((CSL_NandFlashECC *)response)->p128e 
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P128E);
    ((CSL_NandFlashECC *)response)->p64e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P64E);
    ((CSL_NandFlashECC *)response)->p32e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P32E);
    ((CSL_NandFlashECC *)response)->p16e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P16E);
    ((CSL_NandFlashECC *)response)->p8e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P8E);
    ((CSL_NandFlashECC *)response)->p4e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P4E);
    ((CSL_NandFlashECC *)response)->p2e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P2E);
    ((CSL_NandFlashECC *)response)->p1e
                     = CSL_FEXT(hNand->regs->NANDF2ECC, NAND_NANDF2ECC_P1E);
}


/** ===========================================================================
 *   @n@b CSL_nandGetCs3NandFlashEcc
 *
 *   @b Description
 *   @n This function gets the value of the NAND Flash Chip Select 3 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_nandGetCs3NandFlashEcc (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetCs3NandFlashEcc (
    /** 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->NANDF3ECC, NAND_NANDF3ECC_P2048O);
    ((CSL_NandFlashECC *)response)->p1024o 
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P1024O);
    ((CSL_NandFlashECC *)response)->p512o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P512O);
    ((CSL_NandFlashECC *)response)->p256o 
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P256O);
    ((CSL_NandFlashECC *)response)->p128o 
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P128O);
    ((CSL_NandFlashECC *)response)->p64o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P64O);
    ((CSL_NandFlashECC *)response)->p32o 
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P32O);
    ((CSL_NandFlashECC *)response)->p16o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P16O);
    ((CSL_NandFlashECC *)response)->p8o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P8O);
    ((CSL_NandFlashECC *)response)->p4o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P4O);
    ((CSL_NandFlashECC *)response)->p2o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P2O);
    ((CSL_NandFlashECC *)response)->p1o
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P1O);
    ((CSL_NandFlashECC *)response)->p2048e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P2048E);
    ((CSL_NandFlashECC *)response)->p1024e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P1024E);
    ((CSL_NandFlashECC *)response)->p512e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P512E);
    ((CSL_NandFlashECC *)response)->p256e 
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P256E);
    ((CSL_NandFlashECC *)response)->p128e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P128E);
    ((CSL_NandFlashECC *)response)->p64e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P64E);
    ((CSL_NandFlashECC *)response)->p32e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P32E);
    ((CSL_NandFlashECC *)response)->p16e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P16E);
    ((CSL_NandFlashECC *)response)->p8e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P8E);
    ((CSL_NandFlashECC *)response)->p4e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P4E);
    ((CSL_NandFlashECC *)response)->p2e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P2E);
    ((CSL_NandFlashECC *)response)->p1e
                     = CSL_FEXT(hNand->regs->NANDF3ECC, NAND_NANDF3ECC_P1E);
}


/** ===========================================================================
 *   @n@b CSL_nandGetCs2NandFlashEcc
 *
 *   @b Description
 *   @n This function gets the value of the NAND Flash Chip Select 2 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_nandGetCs2NandFlashEcc (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetCs2NandFlashEcc (
    /** 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->NANDF4ECC, NAND_NANDF4ECC_P2048O);
    ((CSL_NandFlashECC *)response)->p1024o 
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P1024O);
    ((CSL_NandFlashECC *)response)->p512o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P512O);
    ((CSL_NandFlashECC *)response)->p256o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P256O);
    ((CSL_NandFlashECC *)response)->p128o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P128O);
    ((CSL_NandFlashECC *)response)->p64o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P64O);
    ((CSL_NandFlashECC *)response)->p32o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P32O);
    ((CSL_NandFlashECC *)response)->p16o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P16O);
    ((CSL_NandFlashECC *)response)->p8o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P8O);
    ((CSL_NandFlashECC *)response)->p4o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P4O);
    ((CSL_NandFlashECC *)response)->p2o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P2O);
    ((CSL_NandFlashECC *)response)->p1o
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P1O);
    ((CSL_NandFlashECC *)response)->p2048e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P2048E);
    ((CSL_NandFlashECC *)response)->p1024e 
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P1024E);
    ((CSL_NandFlashECC *)response)->p512e 
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P512E);
    ((CSL_NandFlashECC *)response)->p256e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P256E);
    ((CSL_NandFlashECC *)response)->p128e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P128E);
    ((CSL_NandFlashECC *)response)->p64e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P64E);
    ((CSL_NandFlashECC *)response)->p32e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P32E);
    ((CSL_NandFlashECC *)response)->p16e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P16E);
    ((CSL_NandFlashECC *)response)->p8e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P8E);
    ((CSL_NandFlashECC *)response)->p4e
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P4E);
    ((CSL_NandFlashECC *)response)->p2e 
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P2E);
    ((CSL_NandFlashECC *)response)->p1e 
                     = CSL_FEXT(hNand->regs->NANDF4ECC, NAND_NANDF4ECC_P1E);
}


/** ===========================================================================
 *   @n@b CSL_nandGetIodftTlec
 *
 *   @b Description
 *   @n This function gets the value of Test Execution Counter of IODFT.
 *
 *   @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_nandGetIodftTlec (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetIodftTlec (
    /** 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->IODFTECR, NAND_IODFTECR_TLEC);
}


/** ===========================================================================
 *   @n@b CSL_nandGetIodftMisr
 *
 *   @b Description
 *   @n This function gets the IODFT Test Logic MISR Result of MSB,MID and LSB
 *      register.
 *
 *   @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_nandGetIodftMisr (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetIodftMisr (
    /** 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_NandIodftMisr*)response)->misrLsb 
                      = CSL_FEXT(hNand->regs->IODFTMRLR, NAND_IODFTMRLR_TLMR);
    ((CSL_NandIodftMisr*)response)->misrMid 
                      = CSL_FEXT(hNand->regs->IODFTMRMR, NAND_IODFTMRMR_TLMR);
    ((CSL_NandIodftMisr*)response)->misrMsb 
                      = CSL_FEXT(hNand->regs->IODFTMRMSBR, NAND_IODFTMRMSBR_TLMR);
}


/** ===========================================================================
 *   @n@b CSL_nandGetReleaseNum
 *
 *   @b Description
 *   @n This function gets the NAND module release number.
 *
 *   @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_nandGetReleaseNum (hNand, response);

     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_nandGetReleaseNum (
    /** 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->MODRNR, NAND_MODRNR_RLNUM);
}

#ifdef __cplusplus
extern "C" {
#endif

#endif /* CSL_NANDAUX_H_ */

⌨️ 快捷键说明

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