📄 main.h
字号:
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 + -