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

📄 main.h

📁 MTK 最新的flashtool工具的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
    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);
    void __fastcall tb_OpenAuthFileClick(TObject *Sender);
    bool __fastcall OpenAuthFile();
	void __fastcall m_AutoBBCHIPClick(TObject *Sender);
	void __fastcall m_AutoExtClockClick(TObject *Sender);
	void __fastcall m_ParamListViewClick(TObject *Sender);
	void __fastcall m_ParamListViewChange(TObject *Sender, TListItem *Item,
          TItemChange Change);
	void __fastcall m_ParamListViewChanging(TObject *Sender, TListItem *Item,
          TItemChange Change, bool &AllowChange);
	void __fastcall m_ParamListViewDblClick(TObject *Sender);
    void __fastcall tb_ParameterButtonClick(TObject *Sender);
    void __fastcall cb_otpClick(TObject *Sender);
    void __fastcall cb_sec_settingClick(TObject *Sender);
    void __fastcall cb_sec_roClick(TObject *Sender);
    void __fastcall cb_custClick(TObject *Sender);
    void __fastcall bt_otp_settingClick(TObject *Sender);
    void __fastcall bt_sec_settingClick(TObject *Sender);
    void __fastcall bt_sec_ro_settingClick(TObject *Sender);
    void __fastcall bt_cust_settingClick(TObject *Sender);
    void __fastcall bb_ParameterButtonClick(TObject *Sender);
    void __fastcall bb_StopButtonClick(TObject *Sender);
    void __fastcall m_ReadParamListViewChange(TObject *Sender,
          TListItem *Item, TItemChange Change);
    void __fastcall m_ReadParamListViewChanging(TObject *Sender,
          TListItem *Item, TItemChange Change, bool &AllowChange);
    void __fastcall m_ReadParamListViewClick(TObject *Sender);
    void __fastcall m_ReadParamListViewDblClick(TObject *Sender);
    void __fastcall m_FS_StartButtonClick(TObject *Sender);
    void __fastcall m_FS_StopButtonClick(TObject *Sender);
    void __fastcall bt_SaveExceptionLogClick(TObject *Sender);
	void __fastcall BBCHIP_MT6230Click(TObject *Sender);
	void __fastcall BBCHIP_MT6225Click(TObject *Sender);
    void __fastcall BBCHIP_MT6223Click(TObject *Sender);
    void __fastcall BBCHIP_MT6227DClick(TObject *Sender);
    void __fastcall bt_SaveExtractNFBClick(TObject *Sender);
    void __fastcall m_RW_StartButtonClick(TObject *Sender);
    void __fastcall m_RW_StopButtonClick(TObject *Sender);
    void __fastcall m_Menu_Window_CheckParameterPageClick(TObject *Sender);
    void __fastcall m_Menu_Window_CheckFileManagementClick(
          TObject *Sender);
    void __fastcall m_Menu_Window_CheckROMWriterClick(TObject *Sender);
        void __fastcall mi_AutomationClick(TObject *Sender);


private:	// User declarations

   int uiMultiBootConfigAddr;
   unsigned short m_COMPortList[255];
   unsigned short m_COMPortCount;
   TCriticalSection  *m_pUpdateListLock;

protected:
   AnsiString asBin;
   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();

        bool Parse(MultiLoadNode *p_node, AnsiString asMapFileName, bool bAutoLoad);

        void CloseBootAgentFile();

        bool FileOpenDownloadAgentExecute();
        bool FileOpenLinkMapExecute(MultiLoadNode  *p_node);
        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, MultiLoadNode  *p_node);
//        FILE *fp_boot_agent;

		void HWStatusBarClear();
		void HWStatusBarUpdate(const DA_REPORT_T *p_da_report, const char *p_nor_flash_hint, const char *p_nand_flash_hint, const char *m_hw_detection_report);
		static int __fastcall LoadFile(const char *pathname, unsigned char **pp_buf, unsigned int *p_nFileLength, long *p_last_modify_time);
        int __fastcall SaveFile(const char *pathname, unsigned char *p_buf, unsigned int nFileLength);
		void __fastcall LoadSecRO(void);
		void __fastcall LoadCustPara(void);

        ////////////////////////////////////

        // 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_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;
extern bool g_bParameterPage;
extern bool g_bAutomation;
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 MultiLoadNode	g_DL_HANDLE_NODE;
extern std::vector<MultiLoadNode> g_DL_HANDLE_LIST_nodes;
extern MultiLoadNode *	g_pCurNode;
extern DL_HANDLE_LIST_T	g_DL_HANDLE_LIST;
extern DA_HANDLE_T	g_DA_HANDLE;
extern RB_HANDLE_T	g_RB_HANDLE;
extern TTreeNode        * g_rootLoad;
extern AUTH_HANDLE_T	g_AUTH_HANDLE;
extern FLASHTOOL_API_HANDLE_T  g_ft_handle;
extern ParamDownloadConfig_T g_ParamDownloadConfig;
extern ParamReadbackConfig_T g_ParamReadbackConfig;
extern ParamReadbackConfig_T g_ReadbackPage_Param;
extern ParameterType_T g_ParameterType;
typedef enum {
	FLASHTOOL_DOWNLOAD = 0,
    FLASHTOOL_READBACK,
    FLASHTOOL_FORMAT,
    FLASHTOOL_PARAMETER,
    FLASHTOOL_API,
    FLASHTOOL_ROMWRITER
}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();

			MainForm->bb_ParameterButton->Enabled = false;
			MainForm->bb_StopButton->Enabled = true;

            MainForm->m_FS_StartButton->Enabled = false;
            MainForm->m_FS_StopButton->Enabled = true;

            MainForm->m_RW_StartButton->Enabled = false;
            MainForm->m_RW_StopButton->Enabled = true;

			MainForm->m_ParamListView->Enabled = false;

			//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();

			MainForm->bb_ParameterButton->Enabled = true;
			MainForm->bb_StopButton->Enabled = false;

            MainForm->m_FS_StartButton->Enabled = true;
            MainForm->m_FS_StopButton->Enabled = false;

            MainForm->m_RW_StartButton->Enabled = true;
            MainForm->m_RW_StopButton->Enabled = false;

			MainForm->m_ParamListView->Enabled = true;

			//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;
};

class file_open_sentry {

public:
	file_open_sentry(const char *filepath, const char *mode, FILE *&fp, bool bIsDebugOn=false):m_fp(fp), m_bIsDebugOn(bIsDebugOn) {

		m_fp = NULL;

		if( NULL == filepath || '\0' == filepath[0] || NULL == mode || '\0' == mode[0] ) {
			return ;
		}

		if( NULL == (m_fp=fopen(filepath, mode)) ) {
		}
		else {
			if(m_bIsDebugOn) {
			}
		}
	}

	~file_open_sentry() {
		if( NULL != m_fp ) {
			fclose(m_fp);
			if(m_bIsDebugOn) {
			}
			m_fp = NULL;
		}
	}

private:
	FILE	*&m_fp;
	bool	m_bIsDebugOn;
};

#endif

⌨️ 快捷键说明

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