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

📄 main.cpp

📁 MTK平台的下载程序源代码,极具参考价值,可修改支持其它芯片的FLASH
💻 CPP
📖 第 1 页 / 共 5 页
字号:
}
//---------------------------------------------------------------------------

void TMainForm::updateStatusBar()
{
     sb_Main->Panels->Items[2]->Text = "COM"+IntToStr(COM_PORT);

     switch ( BAUD_RATE )
     {
        case UART_BAUD_921600:
             sb_Main->Panels->Items[3]->Text = "921600 bps";
             break;
        case UART_BAUD_460800:
             sb_Main->Panels->Items[3]->Text = "460800 bps";
             break;
        case UART_BAUD_230400:
             sb_Main->Panels->Items[3]->Text = "230400 bps";
             break;

        case UART_BAUD_115200:
             sb_Main->Panels->Items[3]->Text = "115200 bps";
             break;
        case UART_BAUD_57600:
             sb_Main->Panels->Items[3]->Text = "57600 bps";
             break;
        case UART_BAUD_38400:
             sb_Main->Panels->Items[3]->Text = "38400 bps";
             break;
        case UART_BAUD_19200:
             sb_Main->Panels->Items[3]->Text = "19200 bps";
             break;
        case UART_BAUD_9600:
             sb_Main->Panels->Items[3]->Text = "9600 bps";
             break;
        default :
             if (DEBUG)
             ShowMessage(" main.cpp : undefined Baud Rate " + IntToStr( COM_PORT));
             break;
     }

	switch(g_OperationMethod) {
	case NOR_OPERATION:
		sb_Main->Panels->Items[1]->Text = "NOR";
		break;
	case NAND_OPERATION:
		sb_Main->Panels->Items[1]->Text = "NAND";
		break;
	case NFB_OPERATION:
		sb_Main->Panels->Items[1]->Text = "NFB";
		break;
	default:
		sb_Main->Panels->Items[1]->Text = "??";
		break;
	}
}

//--------------------------------------------------

void TMainForm::updateMenuItem()
{
    if( MT6208 == g_BBCHIP_TYPE ) {
		mi_921600->Enabled = false;
		mi_460800->Enabled = false;
		mi_230400->Enabled = false;
		mi_57600->Enabled = false;
		mi_38400->Enabled = false;
		mi_19200->Enabled = false;
		mi_9600->Enabled = false;
    	MCU_52MHz->Enabled = false;
    	MCU_26MHz->Enabled = false;
    }
    else {
		mi_921600->Enabled = true;
		mi_460800->Enabled = true;
		mi_230400->Enabled = true;
		mi_57600->Enabled = true;
		mi_38400->Enabled = true;
		mi_19200->Enabled = true;
		mi_9600->Enabled = true;
    	MCU_52MHz->Enabled = true;
    	MCU_26MHz->Enabled = true;
    }

    // MCU TYPE
   	BBCHIP_MT6205->Checked = false;
   	BBCHIP_MT6205B->Checked = false;
   	BBCHIP_MT6218->Checked = false;
   	BBCHIP_MT6208->Checked = false;
   	BBCHIP_MT6218B->Checked = false;
   	BBCHIP_MT6219->Checked = false;
    BBCHIP_MT6217->Checked = false;
    BBCHIP_MT6228->Checked = false;
    BBCHIP_MT6227->Checked = false;
    BBCHIP_MT6229->Checked = false;
    BBCHIP_MT6226->Checked = false;
    BBCHIP_MT6226M->Checked = false;
    switch(g_BBCHIP_TYPE) {
   	case MT6205:
    	BBCHIP_MT6205->Checked = true;
        break;
    case MT6218:
    	BBCHIP_MT6218->Checked = true;
        break;
    case MT6208:
		BBCHIP_MT6208->Checked = true;
		g_EXT_CLOCK = EXT_13M;
		BAUD_RATE = UART_BAUD_115200;
        break;
    case MT6219:
    	BBCHIP_MT6219->Checked = true;
        break;
    case MT6205B:
    	BBCHIP_MT6205B->Checked = true;
        break;
    case MT6217:
	    BBCHIP_MT6217->Checked = true;
        break;
    case MT6228:
	    BBCHIP_MT6228->Checked = true;
        break;
    case MT6227:
	    BBCHIP_MT6227->Checked = true;
        break;
    case MT6229:
	    BBCHIP_MT6229->Checked = true;
        break;
    case MT6226:
	    BBCHIP_MT6226->Checked = true;
        break;
    case MT6226M:
	    BBCHIP_MT6226M->Checked = true;
        break;
    case MT6218B:
    default:
    	BBCHIP_MT6218B->Checked = true;
        break;
	}

    // MCU FREQUENCY
   	MCU_52MHz->Checked = false;
   	MCU_26MHz->Checked = false;
   	MCU_13MHz->Checked = false;
    switch(g_EXT_CLOCK) {
    case EXT_52M:
    	MCU_52MHz->Checked = true;
        break;
    case EXT_26M:
    	MCU_26MHz->Checked = true;
        break;
    case EXT_13M:
    default:
    	MCU_13MHz->Checked = true;
        break;
	}

/*    ShowMessage("g_AutoMemSetup="+IntToStr(g_AutoMemSetup)+
    			", g_BBCHIP_TYPE="+IntToStr(g_BBCHIP_TYPE)+
    			", g_EXT_CLOCK="+IntToStr(g_EXT_CLOCK)
                );*/

    uncheckAllBaudRate();

     //
     switch ( BAUD_RATE )
     {
        case UART_BAUD_921600:
             mi_921600->Checked = true;
             break;
        case UART_BAUD_460800:
             mi_460800->Checked = true;
             break;
        case UART_BAUD_230400:
             mi_230400->Checked = true;
             break;


        case UART_BAUD_115200:
             mi_115200->Checked = true;
             break;
        case UART_BAUD_57600:
             mi_57600->Checked = true;
             break;
        case UART_BAUD_38400:
             mi_38400->Checked = true;
             break;
        case UART_BAUD_19200:
             mi_19200->Checked = true;
             break;
        case UART_BAUD_9600:
             mi_9600->Checked = true;
             break;
        default :
             if (DEBUG)
               ShowMessage(" main.cpp : undefined Baud Rate " + IntToStr( COM_PORT));
             break;
     } // switch

	switch(g_FormatAfterDownloadOption) {
	case RESET_TO_FACTORY:
		mi_FormatFDM->Checked = true;
		mi_FormatFDM->Caption = "Format FAT (RESET FACTORY DEFAULT) ...";
		break;
	case AUTO_FORMAT:
		mi_FormatFDM->Checked = true;
		mi_FormatFDM->Caption = "Format FAT (AUTO) ...";
		break;
	case MANUAL_FORMAT:
		mi_FormatFDM->Checked = true;
		mi_FormatFDM->Caption = "Format FAT (MANUAL) ...";
		break;
	case DISABLE_FORMAT:
	default:
		mi_FormatFDM->Checked = false;
		mi_FormatFDM->Caption = "Format FAT (DISABLED) ...";
		break;
	}

	if(g_bCheckECOVer) {
		m_CheckECOVersion->Checked = true;
	}
    else {
		m_CheckECOVersion->Checked = false;
	}

	if(g_bAutoSelectBBChipType) {
	    m_AutoSelectBBChipType->Checked = true;
   	}
    else {
	    m_AutoSelectBBChipType->Checked = false;
    }

    if(g_bCheckTgtResourceLayout) {
	    m_CheckTgtResourceLayout->Checked = true;
    }
    else {
	    m_CheckTgtResourceLayout->Checked = false;
    }

    if(g_bAutoLoadResByScat) {
	    m_AutoLoadResByScat->Checked = true;
    }
    else {
	    m_AutoLoadResByScat->Checked = false;
    }

    if(g_bPullDownGPIO17) {
    	m_PullDownGPIO17->Checked = true;
    }
    else {
    	m_PullDownGPIO17->Checked = false;
    }

   	if(g_AutoDetectBBCHIP) {
        m_AutoDetectBBChip->Checked = true;
	}
    else {
        m_AutoDetectBBChip->Checked = false;
	}

   	if(g_SpeedUpBootROMBaudrate) {
        m_SpeedUpBootROMBaudrate->Checked = true;
	}
    else {
        m_SpeedUpBootROMBaudrate->Checked = false;
	}

   	if(g_CompareResProjectId) {
        m_CompareProjectId->Checked = true;
	}
    else {
        m_CompareProjectId->Checked = false;
	}

   	if(g_bNFI_SelectCS1) {
        m_EnableNFICS1->Checked = true;
	}
    else {
        m_EnableNFICS1->Checked = false;
	}

	m_Menu_OPM_NOR->Checked = false;
	m_Menu_OPM_NAND->Checked = false;
	m_Menu_OPM_NFB->Checked = false;
	switch(g_OperationMethod) {
	case NOR_OPERATION:
		m_Menu_OPM_NOR->Checked = true;
		break;
	case NAND_OPERATION:
		m_Menu_OPM_NAND->Checked = true;
		break;
	case NFB_OPERATION:
		m_Menu_OPM_NFB->Checked = true;
		break;
	default:
		break;
	}
}

void TMainForm::updateOperationMethod(DL_HANDLE_T dl_handle){

        // update NOR/NFB Status
        _BOOL	bIsNFB=_FALSE;
        if( FTHND_OK == DL_IsNFB(dl_handle, &bIsNFB)) {
                if(bIsNFB){
                        // update operation method
                        if( NFB_OPERATION == g_OperationMethod ) {
                                return;
                        }
                        g_OperationMethod = NFB_OPERATION;
                }
                else {
                        // update operation method
                        if( NOR_OPERATION == g_OperationMethod ) {
                                return;
                        }
                        g_OperationMethod = NOR_OPERATION;
                }
                updateMenuItem();
                updateStatusBar();
        }

}

void TMainForm::uncheckAllBaudRate()
{
   mi_921600->Checked = false;    // High Speed
   mi_460800->Checked = false;    // High Speed
   mi_230400->Checked = false;

   mi_115200->Checked = false;
   mi_57600->Checked = false;
   mi_38400->Checked = false;
   mi_19200->Checked = false;
   mi_9600->Checked = false;
}

void TMainForm::uncheckAllComPort()
{
}

void __fastcall TMainForm::br_115200Execute(TObject *Sender)
{
   BAUD_RATE  = UART_BAUD_115200;
   uncheckAllBaudRate();
   mi_115200->Checked = true;

   updateStatusBar();
   PL_2Click(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::br_57600Execute(TObject *Sender)
{
  BAUD_RATE  = UART_BAUD_57600  ;
  uncheckAllBaudRate();
  mi_57600->Checked = true;

  updateStatusBar();
   PL_1Click(Sender);
}
//---------------------------------------------------------------------------


void __fastcall TMainForm::br_38400Execute(TObject *Sender)
{
  BAUD_RATE  = UART_BAUD_38400  ;
  uncheckAllBaudRate();
  mi_38400->Checked = true;

  updateStatusBar();
   PL_1Click(Sender);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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