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

📄 main.h

📁 MTK bin下载工具全部源代码(c++)
💻 H
📖 第 1 页 / 共 3 页
字号:
	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

⌨️ 快捷键说明

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