www.pudn.com > FlashTool_src_v2.9.1006.zip > main.h
/***************************************************************************** * 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: * --------- * main.h * * Project: * -------- * Flash tool set * * Description: * ------------ * main window header file * * Author: * ------- * FZ Hsu (mtk00303) * *============================================================================== * HISTORY * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! *------------------------------------------------------------------------------ * $Revision: 1.35 $ * $Modtime: Dec 28 2005 22:13:02 $ * $Log: //mtkvs01/vmdata/flash_tool/archives/main.h-arc $ * * Jul 21 2006 mtk01413 * [STP100001021] FlashTool v2.9.1002 release * * * Jun 12 2006 mtk01413 * [STP100000922] FlashTool v2.9.1001 release * New features: * 1. [FlashTool/BROM_DLL] Support Multi-Load Autodetection Download. * * * May 24 2006 mtk01413 * [STP100000879] FlashTool v2.8.1001 release * 1. [FlashTool][NEW] Support 6229 Download, add m_emi_gen_c in DRAM setting * * Feb 23 2006 mtk00539 * [STP100000625] FlashTool v2.7.1016 * * * Rev 1.35 Dec 29 2005 10:57:26 mtk00539 * 1. [FlashTool] Add download history feature. * Resolution for 156: [FlashTool v2.7.1013][BUG FIX] Fix BootROM start command failure while manually selecting NMT6226 or MT6227 baseband chip. * * Rev 1.34 Nov 19 2005 00:58:06 mtk00539 * 1. [FlashTool][New] Adapt new BROM_DLL&DA v2.7.1011. * Resolution for 150: [FlashTool v2.7.1011][New] Add UID Secure Booting feature and Bug Fix. * * Rev 1.33 Oct 19 2005 14:47:26 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.32 Sep 13 2005 13:38:16 mtk00539 * 1. [FlashTool][New] Adapt new BROM_DLL&DA v2.4.1016. * Resolution for 131: [FlashTool v2.6.1016][Enhance] Workaround the 1st time power up failure issue when RTC is empty. * * Rev 1.31 Jul 25 2005 14:56:44 mtk00539 * 1. [FlashTool][New] Support MT6229. * Resolution for 125: [FlashTool v2.6.1015][New] Support MT6229. * * Rev 1.30 Jul 22 2005 20:48:30 mtk00539 * 1. [FlashTool][New] Support MT6227. * Resolution for 122: [FlashTool v2.6.1014][New] Support MT6227. * * Rev 1.29 May 24 2005 20:03:40 mtk00539 * 1. [FlashTool][New] Reset FAT to factory default setting. * 2. [FlashTool][New] Option to enable/disable resource project id comparison. * Resolution for 116: [FlashTool v2.6.1012][New] Reset FAT to factory default setting. * * Rev 1.28 Apr 12 2005 22:14:00 mtk00539 * 1. [FlashTool][New] Support MT6228 baseband chip. * Resolution for 110: [FlashTool v2.6.1011][New] Support MT6228 baseband chip. * * Rev 1.27 Feb 16 2005 17:27:44 mtk00539 * 1. [FlashTool][New] Adapt new BROM_DLL&DA v2.4.1009 to support SPANSION S71AL016D and SHARP LRS18C8A flash. * 2. [FlashTool][Enhance] Allow to setup EMI setting in TestMode. * 3. [FlashTool][Enhance] Keep TestMode unless you disable it. In order to allow users to do test continuously. * 4. [FlashTool][Enhance] Add CTRL+S hot-key to save TestMode log into file. * Resolution for 106: [FlashTool v2.6.1009][New] Adapt new BROM_DLL&DA v2.4.1009 to support SPANSION S71AL016D and SHARP LRS18C8A flash. * * Rev 1.26 Nov 22 2004 14:30:12 mtk00539 * 1. [FlashTool][New] Adapt new BROM_DLL&DA v2.4.1008 to enable/disable speed-up baudrate in BootROM stage. * Resolution for 100: [FlashTool v2.6.1008][New] Adapt new BROM_DLL&DA v2.4.1008 to enable/disable speed-up baudrate in BootROM stage. * * Rev 1.25 Oct 29 2004 11:49:22 mtk00539 * 1. [FlashTool][New] Adapt new BROM_DLL&DA v2.4.1006 to fix AM49DL3208GT & S71PL032J download fail problem and some enhancement. * 2. [FlashTool][New] Add auto-detect base band chip type flag. * Resolution for 1: META MAUI v1.0 * * Rev 1.24 Sep 03 2004 19:54:48 mtk00539 * [FlashTool][New] Adapt new BROM_DLL&DA v2.4.1004 for MT6217 support. * Resolution for 89: [FlashTool v2.6.1004][New] Adapt new BROM_DLL&DA v2.4.1004 for MT6217 support. * * Rev 1.23 Jul 19 2004 11:13:30 mtk00539 * add baudrate full sync count option * Resolution for 82: [FlashTool v2.6.1001][New] Adapt with BROM_DLL v2.4.1001 and many enhancement. * * Rev 1.22 Jul 19 2004 02:10:56 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.21 Jun 16 2004 16:38:34 mtk00539 * 1. [FlashTool][Enhance] Re-org format option panel to prevent users confused. * 2. [FlashTool][Enhance] Do not close OK window when operation is done. * Resolution for 78: [FlashTool v2.5.1013][Enhance] Re-org format option panel to prevent users confused. * * Rev 1.20 Jun 03 2004 11:55:34 mtk00539 * when users select new scatter file, set dialog initial dir to scatter file base dir. * Resolution for 76: [FlashTool v2.5.1012][BUG FIX] Fix bug in FAT range info import. * * Rev 1.19 May 26 2004 21:54:58 mtk00539 * [FlashTool][New] Using BROM_DLL_v2.3.1005 new feature to add BootROM stage callback function to disable vibrator to avoid MT6218B series board layout issue. * Resolution for 74: [FlashTool v2.5.1011][New] Add new flag to pull down GPIO17. * * Rev 1.18 May 21 2004 15:54:54 mtk00539 * 1. [FlashTool][BUF FIX] fix incorrect error message of resource detection. * Resolution for 71: [FlashTool v2.5.1010][BUF FIX] fix incorrect error message of resource detection. * * Rev 1.17 May 14 2004 17:04:22 mtk00539 * 1. [FlashTool][New] add CTRL+ALT+O hot-key to toggle Advanced Option Mode. * 2. [FlashTool][New] add FAT auto format mechanism. * 3. [FlashTool][New] add DA auto selection mechanism. * 4. [FlashTool][New] add STOP button. * 5. [FlashTool][Enhance] start timer when BootROM start cmd pass. * 6. [FlashTool][New] display flash info in status bar hint. * 7. [FlashTool][New] display format range info in format progress bar hint. * 8. [FlashTool][New] record the DA, Scatter and DL path separately. * Resolution for 68: [FlashTool v2.5.1009][New] add FAT auto format, DA auto selection mechanism and lots of enhancements. * * Rev 1.16 Apr 20 2004 15:58:30 mtk00539 * [Enhance] hide seldom used option, it an be turn on again by Advance Mode hot-key CTRL+ALT+O. * Resolution for 65: [FlashTool v2.5.1008][New] add baseband chip ECO revision checking flag for FlashDownload. * * Rev 1.15 Mar 29 2004 14:20:16 mtk00539 * [New] add baseband chip ECO revision checking flag for FlashDownload. * Resolution for 65: [FlashTool v2.5.1008][New] add baseband chip ECO revision checking flag for FlashDownload. * * Rev 1.14 Mar 02 2004 00:28:18 mtk00539 * 1. [FlashTool][Enhance] automatically select bbchip according to rom bbchip id.. * 2. [FlashTool][Enhance] automatically load all the resource files. * 3. [FlashTool][Enhance] display resource and jump table information. * 4. [FlashTool][New] add MT6219 support. * Resolution for 54: [FlashTool v2.5.1006][Enhance] bbchip id detection and resource autoload. * * Rev 1.13 Feb 11 2004 17:54:56 mtk00539 * [Enhance] support selectable download * Resolution for 52: [FlashTool v2.5.1002][Enhance] selectable download. * * Rev 1.12 Feb 05 2004 13:40:36 mtk00539 * adapt to BROM DLL v2.2.1001 * Resolution for 47: [FlashTool v2.5.1001][New] support multiple concatanated bin files download. * * Rev 1.11 Oct 29 2003 17:39:12 mtk00539 * modify packet length * * Rev 1.10 Oct 01 2003 23:38:18 mtk00539 * Add packet length in DA_WRITE_CMD and DA_READ_CMD. * Resolution for 28: [BootRom v2.1.1001][New] See the reasons below. * * Rev 1.9 Sep 25 2003 14:03:28 mtk00539 * adapt brom.dll v2.1.1001, please see SCR(29) for more details. * Resolution for 29: [FlashTool v2.4.1001][New] See the reasons below. * * Rev 1.8 Jun 30 2003 19:19:36 mtk00539 * 1. [FlashTool][Add Features] Split flashtool function into brom.dll * 2. [FlashTool][Add Features] Format function: users can format any range you want without downloading procedure. * 3. [FlashTool][Add Features] Report format percentage. * 4. [FlashTool][Add Features] Check format range. * 5. [FlashTool][Add Features] Merge FlashTool for Pluto version. * 6. [FlashTool][Add Features] Runtime debug log: you can press (CTRL+ALT+T) to enable/disable debug log whenever you want. * 7. [FlashTool][Add Features] Forcedly Stop hot-key: you can forcedly stop FlashTool by pressing CTRL+Z. * 8. [FlashTool][BUG FIXED] Fix FlashTool MEM_CMD end_addr bug, FlashTool should use (begin_addr+length-1) as end_addr. * Resolution for 11: [FlashTool v2.3.1001][New Version] Split flashtool function into brom.dll * * Rev 1.7 Jun 11 2003 17:53:34 mtk00539 * 1. Modify BootRom library to support MT6218 * 2. Modify FlashTool and DA to support AM29PDL128G flash * Resolution for 9: [FlashTool v2.2.1005][Add Feature] Support MT6218 and new flash AM29PDL128G * * Rev 1.6 Jun 03 2003 22:24:54 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.5 May 20 2003 16:22:30 mtk00539 * Support 6205/6205B at 13MHz, 26MHz and 52MHz * Resolution for 6: [FlashTool v2.2][AddFeature] Support 6205/6205B at 13MHz, 26MHz and 52MHz. * * Rev 1.4 Jan 09 2003 17:55:32 mtk00303 * add last 1~3 context switch task ID and frame tick time * * Rev 1.3 Nov 20 2002 19:52:58 mtk00303 * update for reference phone * * Rev 1.2 Jul 30 2002 10:45:24 admin * 2002_0730 * * Rev 1.1 Jul 26 2002 11:52:18 admin * ver 0726 * * Rev 1.0 Jul 20 2002 19:26:14 admin * Initial revision. * *------------------------------------------------------------------------------ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! *============================================================================== *******************************************************************************/ //--------------------------------------------------------------------------- #ifndef mainH #define mainH //--------------------------------------------------------------------------- #include#include #include #include #include #include #include #include #include #include #include #include #include #include "CGAUGES.h" #include #include #include "Trayicon.h" #include "stdio.h" #include "flashtool_handle.h" #include "flashtool.h" #include "tboot_1.h" #include "CGAUGES.h" #include
typedef struct { /* TARGET_TIME_OUT_01_ERROR = 0x1; TARGET_TIME_OUT_LSB_ERROR = 0x4; TARGET_TIME_OUT_MSB_ERROR = 0x5; TARGET_CHECKSUM_ERROR = 0x2; TARGET_BUFFER_FULL_ERROR = 0x3; */ unsigned char TimeOutErrorCount; unsigned char TimeOutLSB_ErrorCount; unsigned char TimeOutMSB_ErrorCount; unsigned char ChecksumErrorCount; unsigned char BufferFullErrorCount; unsigned char EraseFlashTimeOutCount; unsigned char ProgramFlashTimeOutCount; unsigned char UndefinedErrorCount; } TargetDownloadErrorCount; #ifndef LAB const RS232_TIME_OUT = 10000; // 2002.1.25 const TOTAL_TIME_OUT_MULTIPLIER = 7; #else const RS232_TIME_OUT = 10000; // 2002.3.12 const TOTAL_TIME_OUT_MULTIPLIER = 7; #endif const RS232_READBACK_READ_TIME_OUT = 2000; class DownloadBinFile { public: DownloadBinFile() { m_Filepath = ""; m_Enable = false; } ~DownloadBinFile() { } AnsiString m_Filepath; bool m_Enable; }; class DownloadSet { public: DownloadSet() { m_Scatter = ""; m_BootLoader = ""; m_BootLoader_Enable = false; m_BinFiles.clear(); } ~DownloadSet() { } bool operator == (const DownloadSet &r_value) { if( 0==m_Scatter.AnsiCompareIC(r_value.m_Scatter) && 0==m_BootLoader.AnsiCompareIC(r_value.m_BootLoader) && m_BinFiles.size()==r_value.m_BinFiles.size() ) { for(int i=0; i m_BinFiles; }; typedef std::list DownloadHistoryList; #define MAX_DOWNLOAD_HISTORY 10 //--------------------------------------------------------------------------- class TMainForm : public TForm { friend class tboot_1; __published: // IDE-managed Components TMainMenu *m_Main; TMenuItem *File1; TMenuItem *Options1; TMenuItem *Run1; TMenuItem *Download1; TActionList *ActionList1; TMenuItem *Open1; TMenuItem *N1; TMenuItem *Exit1; TMenuItem *BaudRate1; TMenuItem *mi_115200; TMenuItem *mi_38400; TMenuItem *mi_19200; TMenuItem *mi_9600; TMenuItem *mi_57600; TOpenDialog *OpenLdMapDialog; TSaveDialog *SaveOptionDialog; TImageList *ImageList1; TAction *FileOpenDownloadAgent; TAction *FileSave_TestModeLog; TAction *Download; TAction *BaudRate; TAction *ComPort; TMenuItem *N2; TMenuItem *mi_EMI_Config; TAction *OptionsSetup; TAction *OptionsSave; TAction *OptionsOpen; TImageList *ImageList2; TOpenDialog *OpenDownloadAgentDialog; TMenuItem *Openlinkmapfile1; TAction *FileOpenLinkMap; TAction *View_toolbar; TAction *View_StatusBar; TAction *br_115200; TAction *br_57600; TAction *br_38400; TAction *br_19200; TAction *br_9600; TAction *Exit; TOpenDialog *OpenSingleRomFile; TAction *StartAddr; TAction *MB0Setup; TStatusBar *sb_Main; TAction *Readback; TMenuItem *ReadBack1; TPageControl *PageControl1; TTabSheet *ts_Download; TTabSheet *ts_Readback; TListView *ListView1; TToolBar *tb_ReadBack; TToolButton *tb_AddReadBackFile; TImageList *ImageList3; TToolButton *tb_DeleteReadBackFile; TListView *lv_ReadBack; TSaveDialog *sd_ReadBack; TMenuItem *mi_460800; TMenuItem *mi_230400; TAction *br_230400; TAction *br_460800; TTimer *Timer_Download; TCGauge *CGauge1; // TOpenDialog *dlg_OpenMidiFile; TToolBar *tb_Download; TToolButton *tb_OpenDownloadAgent; TToolButton *tb_ScatterLoading; TToolButton *tb_DownBootRom2; TToolButton *ToolButton10; TToolButton *tb_ReadBack2; TMenuItem *Help1; TMenuItem *About1; TEdit *ed_DA_File; TEdit *ed_LinkMapFile; TMenuItem *mi_FormatFDM; TLabel *lb_DA_File; TLabel *lb_LinkMapFile; TMenuItem *MCUClock1; TMenuItem *MCU_13MHz; TMenuItem *MCU_26MHz; TMenuItem *MCU_52MHz; TMenuItem *BaseBandChip1; TMenuItem *BBCHIP_MT6205; TMenuItem *BBCHIP_MT6205B; TAction *Action_MCU_13M; TAction *Action_MCU_26M; TAction *Action_MCU_52M; TAction *Action_MT6205; TAction *Action_MT6205B; TAction *Action_AutoMemSetup; TAction *action_ToggleDebugDA; TRichEdit *DebugDAWindow; TMenuItem *BBCHIP_MT6218; TAction *Action_MT6218; TAction *action_ToggleTrace; TToolButton *FormatButton; TAction *action_ForceStop; TMenuItem *BBCHIP_MT6208; TAction *action_ToggleSkipBootRom; TMenuItem *mi_921600; TMenuItem *BBCHIP_MT6218B; TAction *action_PurgeDebugLog; TMenuItem *PacketLength1; TMenuItem *PL_1; TMenuItem *PL_2; TMenuItem *PL_3; TMenuItem *PL_4; TMenuItem *PL_5; TMenuItem *DCOMPort; TMenuItem *BBCHIP_MT6219; TMenuItem *m_CheckECOVersion; TAction *action_AdvanceOption; TToolButton *DL_StopButton; TToolButton *RB_StopButton; TMenuItem *m_AutoSelectBBChipType; TMenuItem *m_CheckTgtResourceLayout; TMenuItem *m_AutoLoadResByScat; TMenuItem *m_DA_Option; TMenuItem *m_ResourceOption; TMenuItem *m_BBChipOption; TMenuItem *m_BRomStartCmdRetryCount; TMenuItem *BBCHIP_MT6217; TMenuItem *m_PullDownGPIO17; TMenuItem *m_COM_Port_Timeout; TMenuItem *m_Transmission_Option; TMenuItem *m_AutoDetectBBChip; TMenuItem *m_SpeedUpBootROMBaudrate; TSaveDialog *Dialog_SaveTestModeLog; TMenuItem *m_SaveTestModeLog; TMenuItem *BBCHIP_MT6228; TMenuItem *m_CompareProjectId; TTimer *m_FakeProgressTimer; TMenuItem *m_EnableNFICS1; TMenuItem *m_Menu_OperationMethod; TMenuItem *m_Menu_OPM_NOR; TMenuItem *m_Menu_OPM_NAND; TMenuItem *m_Menu_OPM_NFB; TStatusBar *m_HWStatus; TMenuItem *BBCHIP_MT6227; TMenuItem *BBCHIP_MT6229; TMenuItem *BBCHIP_MT6226; TMenuItem *N3; TMenuItem *m_DL_History_0; TMenuItem *m_DL_History_1; TMenuItem *m_DL_History_2; TMenuItem *m_DL_History_3; TMenuItem *m_DL_History_4; TMenuItem *m_DL_History_5; TMenuItem *m_DL_History_6; TMenuItem *m_DL_History_7; TMenuItem *m_DL_History_8; TMenuItem *m_DL_History_9; TMenuItem *BBCHIP_MT6226M; TTreeView *TreeView1; TImageList *ImageList4; TMenuItem *mi_MultiLoad; TPopupMenu *PopupMenu1; TMenuItem *AddaLoad1; TMenuItem *DeleteaLoad1; void __fastcall Download1Click(TObject *Sender); void __fastcall FileOpenDownloadAgentExecute(TObject *Sender); void __fastcall OptionsSetupExecute(TObject *Sender); void __fastcall test_tray_iconClick(TObject *Sender); void __fastcall FileOpenLinkMapExecute(TObject *Sender); void __fastcall FormCreate(TObject *Sender); void __fastcall View_toolbarExecute(TObject *Sender); void __fastcall View_StatusBarExecute(TObject *Sender); void __fastcall br_115200Execute(TObject *Sender); void __fastcall br_57600Execute(TObject *Sender); void __fastcall br_38400Execute(TObject *Sender); void __fastcall br_19200Execute(TObject *Sender); void __fastcall br_9600Execute(TObject *Sender); void __fastcall mi_DEBUGClick(TObject *Sender); void __fastcall ExitExecute(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall mi_ViewClick(TObject *Sender); void __fastcall ListView1_oldClick(TObject *Sender); void __fastcall mi_Phase2Click(TObject *Sender); void __fastcall StartAddrExecute(TObject *Sender); void __fastcall MB0SetupExecute(TObject *Sender); void __fastcall ReadbackExecute(TObject *Sender); void __fastcall tb_AddReadBackFileClick(TObject *Sender); void __fastcall tb_DeleteReadBackFileClick(TObject *Sender); void __fastcall lv_ReadBackKeyPress(TObject *Sender, char &Key); void __fastcall lv_ReadBackKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall lv_ReadBackDblClick(TObject *Sender); void __fastcall TestDownloadNot258byteClick(TObject *Sender); void __fastcall br_230400Execute(TObject *Sender); void __fastcall br_460800Execute(TObject *Sender); void __fastcall Timer_DownloadTimer(TObject *Sender); void __fastcall testOKWnd1Click(TObject *Sender); void __fastcall About1Click(TObject *Sender); void __fastcall ts_DownloadShow(TObject *Sender); void __fastcall ts_ReadbackShow(TObject *Sender); void __fastcall mi_FormatFDMClick(TObject *Sender); void __fastcall ts_MidiDownloadShow(TObject *Sender); void __fastcall Action_MCU_13MExecute(TObject *Sender); void __fastcall Action_MCU_26MExecute(TObject *Sender); void __fastcall Action_MCU_52MExecute(TObject *Sender); void __fastcall Action_MT6205Execute(TObject *Sender); void __fastcall Action_MT6205BExecute(TObject *Sender); void __fastcall action_ToggleDebugDAExecute(TObject *Sender); void __fastcall Action_MT6218Execute(TObject *Sender); void __fastcall action_ToggleTraceExecute(TObject *Sender); void __fastcall FormatButtonClick(TObject *Sender); void __fastcall action_ForceStopExecute(TObject *Sender); void __fastcall action_ToggleSkipBootRomExecute(TObject *Sender); void __fastcall BBCHIP_MT6208Click(TObject *Sender); void __fastcall Formatafterdownloading1Click(TObject *Sender); void __fastcall mi_921600Click(TObject *Sender); void __fastcall BBCHIP_MT6218BClick(TObject *Sender); void __fastcall action_PurgeDebugLogExecute(TObject *Sender); void __fastcall PL_1Click(TObject *Sender); void __fastcall PL_2Click(TObject *Sender); void __fastcall PL_3Click(TObject *Sender); void __fastcall PL_4Click(TObject *Sender); void __fastcall PL_5Click(TObject *Sender); void __fastcall UpdatePacketLength(unsigned short pkt_length); void __fastcall Options1Click(TObject *Sender); void __fastcall COMPortSubMenuClick(TObject *Sender); void __fastcall ListView1Click(TObject *Sender); void __fastcall ListView1Change(TObject *Sender, TListItem *Item, TItemChange Change); void __fastcall ListView1Changing(TObject *Sender, TListItem *Item, TItemChange Change, bool &AllowChange); void __fastcall ListView1DblClick(TObject *Sender); void __fastcall RedrawDownloadList(DL_HANDLE_T dl_handle); void __fastcall RedrawDownloadCheckBox(); void __fastcall RedrawReadbackList(); void __fastcall lv_ReadBackChange(TObject *Sender, TListItem *Item, TItemChange Change); void __fastcall lv_ReadBackChanging(TObject *Sender, TListItem *Item, TItemChange Change, bool &AllowChange); void __fastcall lv_ReadBackClick(TObject *Sender); void __fastcall lv_ReadBack_oldDblClick(TObject *Sender); void __fastcall ListView1InfoTip(TObject *Sender, TListItem *Item, AnsiString &InfoTip); void __fastcall BBCHIP_MT6219Click(TObject *Sender); void __fastcall m_CheckECOVersionClick(TObject *Sender); void __fastcall action_AdvanceOptionExecute(TObject *Sender); void __fastcall DL_StopButtonClick(TObject *Sender); void __fastcall RB_StopButtonClick(TObject *Sender); void __fastcall m_AutoSelectBBChipTypeClick(TObject *Sender); void __fastcall m_CheckTgtResourceLayoutClick(TObject *Sender); void __fastcall m_AutoLoadResByScatClick(TObject *Sender); void __fastcall m_BRomStartCmdRetryCountClick(TObject *Sender); void __fastcall m_PullDownGPIO17Click(TObject *Sender); void __fastcall mi_EMI_ConfigClick(TObject *Sender); void __fastcall m_COM_Port_TimeoutClick(TObject *Sender); void __fastcall BBCHIP_MT6217Click(TObject *Sender); void __fastcall m_AutoDetectBBChipClick(TObject *Sender); void __fastcall m_SpeedUpBootROMBaudrateClick(TObject *Sender); void __fastcall FileSave_TestModeLogExecute(TObject *Sender); void __fastcall BBCHIP_MT6228Click(TObject *Sender); void __fastcall m_CompareProjectIdClick(TObject *Sender); void __fastcall m_FakeProgressTimerTimer(TObject *Sender); void __fastcall m_EnableNFICS1Click(TObject *Sender); void __fastcall m_Menu_OPM_NORClick(TObject *Sender); void __fastcall m_Menu_OPM_NANDClick(TObject *Sender); void __fastcall m_Menu_OPM_NFBClick(TObject *Sender); void __fastcall FormDestroy(TObject *Sender); void __fastcall sb_MainDrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const TRect &Rect); void __fastcall BBCHIP_MT6227Click(TObject *Sender); void __fastcall BBCHIP_MT6229Click(TObject *Sender); void __fastcall BBCHIP_MT6226Click(TObject *Sender); void __fastcall File1Click(TObject *Sender); void __fastcall OnDownloadHistoryClick(TObject *Sender); void __fastcall BBCHIP_MT6226MClick(TObject *Sender); void __fastcall mi_MultiLoadClick(TObject *Sender); void __fastcall AddaLoad1Click(TObject *Sender); void __fastcall DeleteaLoad1Click(TObject *Sender); void __fastcall TreeView1Click(TObject *Sender); private: // User declarations int uiMultiBootConfigAddr; unsigned short m_COMPortList[255]; unsigned short m_COMPortCount; TCriticalSection *m_pUpdateListLock; void __fastcall AutoSelectDAandBBChip(DL_HANDLE_T dl_handle); void __fastcall SyncRedrawDownloadList(); protected: AnsiString asBin; AnsiString asMap; AnsiString ScatBaseDir; AnsiString ROMBaseDir; AnsiString TestModeLogFile; public: // User declarations // DCB dcbCommPort; // COMMTIMEOUTS ctmoNew; __fastcall TMainForm(TComponent* Owner); void uncheckAllBaudRate(); void uncheckAllComPort(); void updateStatusBar(); void updateMenuItem(); void updateOperationMethod(DL_HANDLE_T dl_handle); bool Parse(DL_HANDLE_T dl_handle, AnsiString asMapFileName, bool bAutoLoad); void CloseBootAgentFile(); bool FileOpenDownloadAgentExecute(); bool FileOpenLinkMapExecute(); bool FileSaveTestModeLogExecute(); void ReadBack_Finish(); int UpdateDA(); void DisableDownloadButton(); void EnableDownloadButton(); void DisableReadbackButton(); void EnableReadbackButton(); void DisableFormatButton(); void EnableFormatButton(); void DisableStopButton(); void EnableStopButton(); void UpdateCaption(); bool LoadByDownloadSet(const DownloadSet &dl_set); // FILE *fp_boot_agent; void HWStatusBarClear(); void HWStatusBarUpdate(const DA_REPORT_T *p_da_report, const char *p_storage_hint, const char *m_hw_detection_report); //////////////////////////////////// // 2002.3.28 for stable. // AnsiString asStatusBar0Text; // 2002.5.9 // int iProgress; // 2002.5.9 ////////////////////// // 2002.3.29 tboot_1 *p1; bool tboot1end; ///////////// Multi Boot Config void SaveMultiBootConfigAddr( unsigned int uiAddr ); //////////////////////////////////////////// // Multi boot SETRTS & DL void start_DL( bool bStart_DL ); void start_RB( bool b_start_RB ); #ifdef _DISABLE_DL_BUTTON void _fastcall enable_DownLoad_button(TObject *Sender); #endif }; //--------------------------------------------------------------------------- extern PACKAGE TMainForm *MainForm; extern UART_BAUDRATE BAUD_RATE; extern unsigned int COM_PORT; extern EXT_CLOCK g_EXT_CLOCK; extern BBCHIP_TYPE g_BBCHIP_TYPE; extern bool g_AutoDetectBBCHIP; extern bool g_bDebugDA; typedef enum { DISABLE_FORMAT = 0, RESET_TO_FACTORY, AUTO_FORMAT, MANUAL_FORMAT } FormatOption_E; extern FormatOption_E g_FormatAfterDownloadOption; extern FormatOption_E g_FormatOption; extern bool g_bSkipBootRom; extern bool g_bCheckECOVer; extern bool g_bCheckTgtResourceLayout; extern bool g_bPullDownGPIO17; extern bool g_SpeedUpBootROMBaudrate; extern bool g_FormatValidation; extern bool g_bEnableAdvanceOption; typedef enum { NOR_OPERATION = 0, NAND_OPERATION, NFB_OPERATION } OptionMethod_E; extern OptionMethod_E g_OperationMethod; extern NUTL_EraseFlag_E g_EraseFlag; extern bool g_bNFI_SelectCS1; extern unsigned short g_PacketLength; extern unsigned int g_ulFormatStartAddr; extern unsigned int g_ulFormatLength; extern unsigned int g_ulNandFormatStartAddr; extern unsigned int g_ulNandFormatLength; extern unsigned int g_MaxBromStartCmdRetryCount; extern unsigned int g_COM_Read_Timeout; extern unsigned int g_COM_Write_Timeout; extern unsigned char g_Baudrate_FullSync_Count; typedef struct { bool m_bAuto; unsigned int m_Config; } EMI_Config_S; typedef struct { unsigned int m_nand_acccon; bool m_enable_dram_setting; unsigned int m_emi_gen_a; unsigned int m_emi_gen_b; unsigned int m_emi_gen_c; unsigned int m_emi_dram_con_i_mode; unsigned int m_emi_dram_con_i_ext_mode; unsigned int m_emi_dram_con_k; unsigned int m_emi_dram_con_l; } DRAM_NFI_Setting; extern EMI_Config_S g_EMI_Config[8]; extern DRAM_NFI_Setting g_EMI_NFI_Setting; extern DL_HANDLE_T g_DL_HANDLE; extern DL_HANDLE_LIST_T g_DL_HANDLE_LIST; extern DA_HANDLE_T g_DA_HANDLE; extern RB_HANDLE_T g_RB_HANDLE; extern BL_HANDLE_T g_BL_HANDLE; extern TTreeNode * g_rootLoad; typedef enum { FLASHTOOL_DOWNLOAD = 0, FLASHTOOL_READBACK, FLASHTOOL_FORMAT }FLASHTOOL_FUNCTION; extern FLASHTOOL_FUNCTION g_flashtool_function; extern unsigned int g_CostTimeSec; extern unsigned int g_ProgressTimeSec; extern unsigned int g_DisplayFinishedBytes; extern int g_stopflag; //--------------------------------------------------------------------------- class button_sentry { public: button_sentry() { // disable download button MainForm->DisableDownloadButton(); // disable readback button MainForm->DisableReadbackButton(); // disable format button MainForm->DisableFormatButton(); // disable operation method MainForm->m_Menu_OperationMethod->Enabled = false; // enable stop button MainForm->EnableStopButton(); //Ray 2006.06.12 : BugFix if( MainForm->mi_MultiLoad->Checked ){ MainForm->AddaLoad1->Enabled = false; MainForm->DeleteaLoad1->Enabled = false; } } ~button_sentry() { // enable download button MainForm->EnableDownloadButton(); // enable readback button MainForm->EnableReadbackButton(); // enable format button MainForm->EnableFormatButton(); // enable operation method MainForm->m_Menu_OperationMethod->Enabled = true; // disable stop button MainForm->DisableStopButton(); //Ray 2006.05.18 : Multi-Load if( MainForm->mi_MultiLoad->Checked ){ for( int index = 0; index < g_rootLoad->Count; index++){ if( (g_rootLoad->Item[index]->ImageIndex == 2) || (g_rootLoad->Item[index]->SelectedIndex == 2) ){ g_rootLoad->Item[index]->ImageIndex = 1; g_rootLoad->Item[index]->SelectedIndex = 1; } } //Ray 2006.06.12 : BugFix MainForm->AddaLoad1->Enabled = true; MainForm->DeleteaLoad1->Enabled = true; } } }; class CS_Sentry { public: CS_Sentry(TCriticalSection *cs):m_cs(cs) { m_cs->Acquire(); } ~CS_Sentry() { m_cs->Release(); } private: TCriticalSection *m_cs; }; #endif