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

📄 ext_mem1.cpp

📁 MTK手机平台下载工具FLASHTOOL界面源码
💻 CPP
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2002
*
*****************************************************************************/

/*******************************************************************************
* Filename:
* ---------
*  ext_mem1.cpp
*
* Project:
* --------
*  Flash tool set
*
* Description:
* ------------
*  external memory 1 setup window
*
* Author:
* -------
*  FZ Hsu (mtk00303)
*
*==============================================================================
*           HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* $Revision:   1.3  $
* $Modtime:   Oct 19 2005 11:12:24  $
* $Log:   //mtkvs01/vmdata/flash_tool/archives/ext_mem1.cpp-arc  $
 * 
 *    Rev 1.3   Oct 19 2005 14:47:14   mtk00539
 *  1. [FlashTool][New] Adapt new BROM_DLL&DA v2.7.1008. 
 * Resolution for 141: [FlashTool v2.7.1008][New] Support NFB download and many new features.
 * 
 *    Rev 1.2   Jul 19 2004 02:10:54   mtk00539
 *  1. [FlashTool][New] Adapt new BROM_DLL v2.4.1001 for many features and bug fix.
 *  2. [FlashTool][Enhance] Export COM port read/write timeout setting.
 *  3. [FlashTool][Enhance] Change EMI setting to 32 bits.
 * Resolution for 82: [FlashTool v2.6.1001][New] Adapt with BROM_DLL v2.4.1001 and many enhancement.
 * 
 *    Rev 1.1   Jun 03 2003 22:24:52   mtk00539
 * 1. extend timeout to 10 sec for large image download in boot_2.cpp
 * 2. disable unnecesssary debug hot-key.
 * 3. add shift+ctrl+A for Jensen's DA debug tool kit.
 * 4. enable build number, and start from 1003.
 * 5. save baseband chip type, mcu frequency and auto-memory wait state setup flag to ini file.
 * 6. add DA_SET_REG_CMD command and remove FINISH_CMD, so that release power key could be issued from FlashTool, not hardcoded in DA.
 * 7. add DA_MCU_FREQ_CMD command, so that we don't have to select different DA while switching frequency.
 * 8. add new flash MB84VD23280FA-70 for Chicago project.
 * 9. remove DEVICE_CMD, DA will check flash automatically and report the flash type to PC.
 * 10. add DA_FORMAT_CMD command to support range format.
 * 11. display flash type on FlashTool.
 * 12. merge the DOWNLOAD.H header file, both FlashTool and DA will use the same header file.
 * 13. modify SPEED_CMD handshake by adding a sync mechanism to detect whether if the speed change is done by both sides.
 * Resolution for 7: [FlashTool v2.2.1003][AddFeature] Enhanced for KLM and Chicago project.
 * 
 *    Rev 1.0   Jul 20 2002 19:26:10   admin
 * Initial revision.
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/

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

#include <vcl.h>
#pragma hdrstop

#include "ext_mem1.h"
#include "main.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

Text_mem1Form *ext_mem1Form;

//---------------------------------------------------------------------------
__fastcall Text_mem1Form::Text_mem1Form(TComponent* Owner)
        : TForm(Owner)
{
}

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

void __fastcall Text_mem1Form::FormShow(TObject *Sender)
{
	m_Bank0_Option->ItemIndex = g_EMI_Config[0].m_bAuto?1:0;
	m_Bank0_OptionChange(Sender);
	m_Bank0_EMI->Text = "0x" + IntToHex((int)(g_EMI_Config[0].m_Config), 8);

	m_Bank1_Option->ItemIndex = g_EMI_Config[1].m_bAuto?1:0;
	m_Bank1_OptionChange(Sender);
	m_Bank1_EMI->Text = "0x" + IntToHex((int)(g_EMI_Config[1].m_Config), 8);

    m_nand_acccon->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_nand_acccon), 8);
    m_emi_gen_a->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_gen_a), 8);
    m_emi_gen_b->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_gen_b), 8);
    m_emi_dram_con_i_mode->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_dram_con_i_mode), 8);
    m_emi_dram_con_i_ext_mode->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_dram_con_i_ext_mode), 8);
    m_emi_dram_con_k->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_dram_con_k), 8);
    m_emi_dram_con_l->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_dram_con_l), 8);

    EnableDRAMSetting(g_EMI_NFI_Setting.m_enable_dram_setting);

    Visible = true;
}

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

void __fastcall Text_mem1Form::btn_EMI_OKClick(TObject *Sender)
{
	g_EMI_Config[0].m_bAuto = (1==m_Bank0_Option->ItemIndex)?true:false;
	g_EMI_Config[0].m_Config = strtoul(m_Bank0_EMI->Text.c_str(), NULL, 16);

	g_EMI_Config[1].m_bAuto = (1==m_Bank1_Option->ItemIndex)?true:false;
	g_EMI_Config[1].m_Config = strtoul(m_Bank1_EMI->Text.c_str(), NULL, 16);

	g_EMI_NFI_Setting.m_nand_acccon = strtoul(m_nand_acccon->Text.c_str(), NULL, 16);

	g_EMI_NFI_Setting.m_enable_dram_setting = m_EnableDRAMSetting->Checked;
	g_EMI_NFI_Setting.m_emi_gen_a = strtoul(m_emi_gen_a->Text.c_str(), NULL, 16);
	g_EMI_NFI_Setting.m_emi_gen_b = strtoul(m_emi_gen_b->Text.c_str(), NULL, 16);
	g_EMI_NFI_Setting.m_emi_dram_con_i_mode = strtoul(m_emi_dram_con_i_mode->Text.c_str(), NULL, 16);
	g_EMI_NFI_Setting.m_emi_dram_con_i_ext_mode = strtoul(m_emi_dram_con_i_ext_mode->Text.c_str(), NULL, 16);
	g_EMI_NFI_Setting.m_emi_dram_con_k = strtoul(m_emi_dram_con_k->Text.c_str(), NULL, 16);
	g_EMI_NFI_Setting.m_emi_dram_con_l = strtoul(m_emi_dram_con_l->Text.c_str(), NULL, 16);	

    Visible = false;
}
//---------------------------------------------------------------------------

void __fastcall Text_mem1Form::btn_EMI_CancelClick(TObject *Sender)
{
    Visible = false;
}
//---------------------------------------------------------------------------

void __fastcall Text_mem1Form::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    Visible = false;
}
void __fastcall Text_mem1Form::m_Bank0_OptionChange(TObject *Sender)
{
	if( 1 == m_Bank0_Option->ItemIndex ) {
		m_Bank0_EMI->Visible = false;
	}
	else {
		m_Bank0_EMI->Visible = true;
	}
}
//---------------------------------------------------------------------------

void __fastcall Text_mem1Form::m_Bank1_OptionChange(TObject *Sender)
{
	if( 1 == m_Bank1_Option->ItemIndex ) {
		m_Bank1_EMI->Visible = false;
	}
	else {
		m_Bank1_EMI->Visible = true;
	}
}
//---------------------------------------------------------------------------
void __fastcall Text_mem1Form::m_EnableDRAMSettingClick(TObject *Sender)
{
    EnableDRAMSetting(m_EnableDRAMSetting->Checked);
}

//---------------------------------------------------------------------------
void __fastcall Text_mem1Form::EnableDRAMSetting(bool bEnable)
{
    if(bEnable) {
        m_EnableDRAMSetting->Checked = true;
        Label9->Enabled = true;
        Label10->Enabled = true;
        Label11->Enabled = true;
        Label12->Enabled = true;
        Label13->Enabled = true;
        Label15->Enabled = true;
        m_emi_gen_a->Enabled = true;
        m_emi_gen_b->Enabled = true;
        m_emi_dram_con_i_ext_mode->Enabled = true;
        m_emi_dram_con_i_mode->Enabled = true;
        m_emi_dram_con_k->Enabled = true;
        m_emi_dram_con_l->Enabled = true;
    }
    else {
        m_EnableDRAMSetting->Checked = false;
        Label9->Enabled = false;
        Label10->Enabled = false;
        Label11->Enabled = false;
        Label12->Enabled = false;
        Label13->Enabled = false;
        Label15->Enabled = false;
        m_emi_gen_a->Enabled = false;
        m_emi_gen_b->Enabled = false;
        m_emi_dram_con_i_ext_mode->Enabled = false;
        m_emi_dram_con_i_mode->Enabled = false;
        m_emi_dram_con_k->Enabled = false;
        m_emi_dram_con_l->Enabled = false;
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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