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

📄 mfc_hw_init.c

📁 6410BSP3
💻 C
字号:
//
// Copyright (c) Samsung Electronics. Co. LTD.  All rights reserved.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

*/


#include "Mfc.h"
#include "MfcSfr.h"
#include "BitProcBuf.h"
#include "DataBuf.h"
#include "MfcTypes.h"
#include "LogMsg.h"
#include "MfcConfig.h"
#include "FramBufMgr.h"


BOOL MFC_MemorySetup(void)
{
    //MfcMemMapping();
    BOOL ret_sfr, ret_bit, ret_dat;
    unsigned char *pDataBuf;


    // MFC SFR(Special Function Registers), Bitprocessor buffer, Data buffer狼 
    // physical address 甫 virtual address肺 mapping 茄促 
    ret_sfr    = MfcSfrMemMapping();
    if (ret_sfr == FALSE) {
        LOG_MSG(LOG_ERROR, "MfcMemorySetup", "MFC SFR Memory mapping fail!\r\n");
        return FALSE;
    }

    ret_bit = MfcBitProcBufMemMapping();
    if (ret_bit == FALSE) {
        LOG_MSG(LOG_ERROR, "MfcMemorySetup", "Bitprocessor buffer Memory mapping fail!\r\n");
        return FALSE;
    }

    ret_dat    = MfcDataBufMemMapping();
    if (ret_dat == FALSE) {
        LOG_MSG(LOG_ERROR, "MfcMemorySetup", "Data buffer Memory mapping fail!\r\n");
        return FALSE;
    }


    // FramBufMgr Module Initialization
    pDataBuf = (unsigned char *)GetDataBufVirAddr();
    FramBufMgrInit(pDataBuf + MFC_STRM_BUF_SIZE, MFC_FRAM_BUF_SIZE);


    return TRUE;
}


BOOL MFC_HW_Init(void)
{
    /////////////////////////
    //                     //
    // 1. Reset the MFC IP //
    //                     //
    /////////////////////////
    MfcReset();


    ////////////////////////////////////////
    //                                    //
    // 2. Download Firmware code into MFC //
    //                                    //
    ////////////////////////////////////////
    MfcFirmwareIntoCodeBuf();
    MfcFirmwareIntoCodeDownReg();
    LOG_MSG(LOG_TRACE, "MFC_HW_Init", "Download  FirmwareIntoBitProcessor  OK.\n");


    ////////////////////////////
    //                        //
    // 3. Start Bit Processor //
    //                        //
    ////////////////////////////
    MfcStartBitProcessor();


    ////////////////////////////////////////////////////////////////////
    //                                                                //
    // 4. Set the Base Address Registers for the following 3 buffers  //
    //        (CODE_BUF, WORKING_BUF, PARAMETER_BUF)                  //
    //                                                                //
    ////////////////////////////////////////////////////////////////////
    MfcConfigSFR_BITPROC_BUF();


    //////////////////////////////////
    //                              //
    // 5. Set the Control Registers //
    //       - STRM_BUF_CTRL        //
    //       - FRME_BUF_CTRL        //
    //       - DEC_FUNC_CTRL        //
    //       - WORK_BUF_CTRL        //
    //                              //
    //////////////////////////////////
    MfcConfigSFR_CTRL_OPTS();



    GetFirmwareVersion();


    return TRUE;
}

⌨️ 快捷键说明

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