www.pudn.com > FlashTool_src_v2.9.1006.zip > 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 $ * * May 24 2006 mtk01413 * [STP100000879] FlashTool v2.8.1001 release * 1. [FlashTool][NEW] Support 6229 Download, add m_emi_gen_c in DRAM setting * * 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#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_gen_c->Text = "0x"+ IntToHex((int)(g_EMI_NFI_Setting.m_emi_gen_c), 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_gen_c = strtoul(m_emi_gen_c->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; Label7->Enabled = 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_gen_c->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; Label7->Enabled = 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_gen_c->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; } } //---------------------------------------------------------------------------