📄 ext_mem1.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 + -