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

📄 main.cpp

📁 MTK 最新的flashtool工具的源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    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:
    	BBCHIP_MT6218B->Checked = true;
        break;
    case MT6230:
	    BBCHIP_MT6230->Checked = true;
        break;
    case MT6225:
	    BBCHIP_MT6225->Checked = true;
        break;
    case MT6223:
	    BBCHIP_MT6223->Checked = true;
        break;
    case MT6227D:
	    BBCHIP_MT6227D->Checked = true;
        break;
    default:
	    m_AutoBBCHIP->Checked = true;
        break;
	}

    // MCU FREQUENCY
    m_AutoExtClock->Checked = false;
   	MCU_13MHz->Checked = false;
   	MCU_26MHz->Checked = false;
   	MCU_52MHz->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:
    	MCU_13MHz->Checked = true;
        break;
    default:
	    m_AutoExtClock->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_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_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::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);
}
//---------------------------------------------------------------------------


void __fastcall TMainForm::br_19200Execute(TObject *Sender)
{

  BAUD_RATE  = UART_BAUD_19200  ;
  uncheckAllBaudRate();
  mi_19200->Checked = true;
  updateStatusBar();
   PL_1Click(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::br_9600Execute(TObject *Sender)
{
     BAUD_RATE  = UART_BAUD_9600;
     uncheckAllBaudRate();
     mi_9600->Checked = true;
     updateStatusBar();
   PL_1Click(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::mi_DEBUGClick(TObject *Sender)
{
   if (DEBUG)
   {
      DEBUG = false;
      ShowMessage(" disable DEBUG ");
   }
   else
   {
      DEBUG = true;
      ShowMessage(" enable DEBUG ");
   }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ExitExecute(TObject *Sender)
{
   Close();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
	unsigned int	i;
	DownloadHistoryList::iterator	iter;

        TIniFile *ini;

        try {
                ini = new TIniFile(ChangeFileExt(Application->ExeName, ".INI" ));
        }catch(...) {
   	        goto end;
        }

	for(i=0; i<2; i++) {
		ini->WriteBool( "EMI", "bank"+IntToStr(i)+"_auto", g_EMI_Config[i].m_bAuto);
		ini->WriteString("EMI", "bank"+IntToStr(i)+"_cfg", "0x"+IntToHex((int)(g_EMI_Config[i].m_Config), 8));
	}

        ini->WriteInteger("FORM", "com", COM_PORT);

        DA_INFO	da_info;
        DA_GetInfo(g_DA_HANDLE, &da_info);

        switch ( BAUD_RATE )
        {
                case UART_BAUD_921600:
                        ini->WriteInteger("FORM", "baudrate", 921600);
                        break;
                case UART_BAUD_460800:   // 2002.3.28 High Speed.
                        ini->WriteInteger("FORM", "baudrate", 460800);
                        break;
                case UART_BAUD_230400:
                        ini->WriteInteger("FORM", "baudrate", 230400);
                        break;

                case UART_BAUD_115200:
                        ini->WriteInteger("FORM", "baudrate", 115200);
                        break;
                case UART_BAUD_57600:
                        ini->WriteInteger("FORM", "baudrate", 57600);
                        break;
                case UART_BAUD_38400:
                        ini->WriteInteger("FORM", "baudrate", 38400);
                        break;
                case UART_BAUD_19200:
                        ini->WriteInteger("FORM", "baudrate", 19200);
                        break;
                case UART_BAUD_9600:
                        ini->WriteInteger("FORM", "baudrate", 9600);
                        break;
                default :
                        ini->WriteInteger("FORM", "baudrate", 19200);
                        if (DEBUG)
                                ShowMessage(" main.cpp : undefined Baud Rate " + IntToStr( COM_PORT));
                        break;
        }

	// erase existing section first
	for(i=0; i<MAX_DOWNLOAD_HISTORY; i++) {
		ini->EraseSection("DL_HISTORY_"+IntToStr(i));
	}

	// save download history
	for(i=0, iter=g_DownloadHistory.begin(); i<MAX_DOWNLOAD_HISTORY && iter!=g_DownloadHistory.end(); i++, iter++) {
		// write new section data
		ini->WriteString("DL_HISTORY_"+IntToStr(i), "scatter_file", iter->m_Scatter);
		ini->WriteString("DL_HISTORY_"+IntToStr(i), "bootloader", iter->m_BootLoader);
		ini->WriteBool("DL_HISTORY_"+IntToStr(i), "bootloader_enable", iter->m_BootLoader_Enable);
		ini->WriteInteger("DL_HISTORY_"+IntToStr(i), "file_count", iter->m_BinFiles.size());
		for(int j=0; j<iter->m_BinFiles.size(); j++) {
			ini->WriteString("DL_HISTORY_"+IntToStr(i), "file"+IntToStr(j), iter->m_BinFiles[j].m_Filepath);
			ini->WriteBool("DL_HISTORY_"+IntToStr(i), "file"+IntToStr(j)+"_enable", iter->m_BinFiles[j].m_Enable);
		}
	}

	ini->WriteString("FORM", "bin", g_asNormalModeDAPath);
	ini->WriteString("FORM", "AUTH_File", ed_AUTH_File->Text);
	
	ini->WriteBool("FORM", "pull_down_gpio17", g_bPullDownGPIO17);
	
	ini->WriteInteger("FORM", "brom_start_cmd_retry_count", g_MaxBromStartCmdRetryCount);
	ini->WriteInteger("FORM", "OperationMethod", g_OperationMethod);
	ini->WriteInteger("FORM", "erase_validation", g_FormatValidation);
	
    ini->WriteBool("DOWNLOAD", "compare_resource_project_id", g_CompareResProjectId);
    ini->WriteInteger("DOWNLOAD", "FormatAfterDownloadOption", g_FormatAfterDownloadOption);
//	ini->WriteBool("DOWNLOAD", "chk_tgt_resource_layout", g_bCheckTgtResourceLayout);
//	ini->WriteBool("DOWNLOAD", "check_bbchip_eco_ver", g_bCheckECOVer );
//	ini->WriteBool("DOWNLOAD", "auto_sel_bbchip", g_bAutoSelectBBChipType);
//  ini->WriteBool("DOWNLOAD", "auto_load_resource_by_scat", g_bAutoLoadResByScat);


/////////////////////////////// end ROM file name
/////////////////////////////// begin readback
	unsigned short	count;
	if( (S_DONE==RB_GetCount(g_RB_HANDLE, &count)) && (0<count) ) {
		RB_INFO	*rb=new RB_INFO[count];
		if( NULL != rb ) {
			ini->WriteInteger("READBACK", "readback_count", count);
			if( S_DONE == RB_GetInfoAll(g_RB_HANDLE, rb, count) ) {
				for(i=0; i<count; i++) {
					ini->WriteString("READBACK", "file"+IntToStr(i), rb[i].filepath);	// read back file name
					ini->WriteInteger("READBACK", "file"+IntToStr(i)+"_enable", rb[i].enable);  // RB_FILE enable flag
					ini->WriteInteger("READBACK", "file"+IntToStr(i)+"_read_flag", rb[i].m_read_flag);
					ini->WriteString("READBACK", "startaddr"+IntToStr(i), "0x"+IntToHex((int)rb[i].readback_addr, 8));  // read back addr
					ini->WriteString("READBACK", "length"+IntToStr(i), "0x"+IntToHex((int)rb[i].readback_len, 8));  // read back length
				}
			}
			delete [] rb;
		}
	}
	
	ini->WriteInteger( "FORM", "flashitemindex", iFlashItemIndex );
	
	ini->WriteString("FORM", "FormatStartAddr", "0x" + IntToHex((int)g_ulFormatStartAddr, 8));
	ini->WriteString("FORM", "FormatLength", "0x" + IntToHex((int)g_ulFormatLength, 8));
	ini->WriteString("FORM", "NandFormatStartAddr", "0x" + IntToHex((int)g_ulNandFormatStartAddr, 8));
	ini->WriteString("FORM", "NandFormatLength", "0x" + IntToHex((int)g_ulNandFormatLength, 8));
	ini->WriteInteger("FORM", "FormatOption", g_FormatOption);
	
	ini->WriteInteger( "TRANS_OPTION", "packet_length", g_PacketLength );
	ini->WriteInteger( "TRANS_OPTION", "baudrate_full_sync_count", g_Baudrate_FullSync_Count );
	ini->WriteBool( "TRANS_OPTION", "speedup_brom_baudrate", g_SpeedUpBootROMBaudrate);

⌨️ 快捷键说明

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