📄 flashtool_handle.h
字号:
#define FTHND_RES_DOWNLOAD_SELECT_INCOMPLETE 0x001500
#define FTHND_RES_INCORRECT_FORMAT 0x001600
#define FTHND_JUMPTABLE_INCONSISTENT_WITH_SCAT 0x001700
#define FTHND_JUMPTABLE_INCORRECT_FORMAT 0x001800
#define FTHND_SCAT_ABSOLUTE_REGION_ADDR_CHANGED 0x001900
#define FTHND_UNKNOWN_BBCHIP_TYPE 0x001A00
#define FTHND_UNKNOWN_CUSTOM_NAME 0x001B00
#define FTHND_INPUT_BUFFER_TOO_SMALL 0x001C00
#define FTHND_NO_MATCHED_DA_FOUND 0x001D00
#define FTHND_RES_BASE_ADDR_NOT_MATCH 0x001E00
#define FTHND_BLOADER_INVALID 0x001F00
#define FTHND_DA_INVALID 0x002000
#define FTHND_FILE_NOT_FOUND 0x002100
#define FTHND_BLOADER_INFO_VER_UNKNOWN 0x002200
#define FTHND_SAME_SW_VERSION 0x002300
#define FTHND_NO_MATCHED_DL_FOUND 0x002400
#define FTHND_HANDLE_IN_LIST 0x002500
#define FTHND_DL_BL_IS_EMPTY 0x002600
//------------------------------------------------------------------------------
// BL_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef struct {
_BOOL m_valid; // _TRUE -> dram setting is valid
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;
} BL_DRAM_SETTING;
typedef struct {
char m_version[5];
char m_filepath[512];
unsigned int m_filesize;
unsigned int m_start_addr;
unsigned int m_chksum_seed;
unsigned int m_chksum;
BL_DRAM_SETTING m_dram_cfg;
_BOOL m_enable; // _FALSE -> disbale
// _TRUE -> enable
} BL_INFO;
struct BL_HANDLE;
typedef struct BL_HANDLE * BL_HANDLE_T;
//------------------------------------------------------------------------------
// DL_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef enum {
ABSOLUTE_ADDR = 0,
OFFSET_VALUE
} REGION_ADDR_TYPE;
typedef enum {
NORMAL_ROM = 0x01,
RESOURCE_BIN = 0x02,
JUMPTABLE_BIN = 0x04,
ENFB_BIN = 0x08
} ROM_TYPE;
typedef struct {
char name[64];
unsigned int region_addr;
REGION_ADDR_TYPE addr_type; // ABSOLUTE_ADDR -> region_addr is absolute address
// OFFSET_VALUE -> region_addr is offset value
unsigned int begin_addr;
unsigned int end_addr;
char filepath[256];
unsigned int filesize;
unsigned short index;
ROM_TYPE rom_type;
_BOOL enable; // _FALSE -> disbale
// _TRUE -> enable
}ROM_INFO;
struct DL_HANDLE;
typedef struct DL_HANDLE * DL_HANDLE_T;
extern int __stdcall DL_Create(DL_HANDLE_T *p_dl_handle);
extern int __stdcall DL_Destroy(DL_HANDLE_T *p_dl_handle);
extern int __stdcall DL_LoadScatter(DL_HANDLE_T dl_handle, const char *scatter_filepath);
extern int __stdcall DL_SetPacketLength(DL_HANDLE_T dl_handle, unsigned short length);
extern int __stdcall DL_GetCount(DL_HANDLE_T dl_handle, unsigned short *p_rom_count);
extern int __stdcall DL_IsReady(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info, _BOOL check_if_updated);
extern int __stdcall DL_GetJumpTableInfo(DL_HANDLE_T dl_handle, MTK_JumpTable *p_jmptbl_info);
extern int __stdcall DL_ResourceProjectIdComparisonSetting(DL_HANDLE_T dl_handle, _BOOL enable);
extern int __stdcall DL_AutoLoadByScatRegionName(DL_HANDLE_T dl_handle, const char *full_filepath, unsigned char allow_rom_type);
extern int __stdcall DL_GetBBChipType(DL_HANDLE_T dl_handle, BBCHIP_TYPE *p_bbchip);
extern int __stdcall DL_GetBBChipName(DL_HANDLE_T dl_handle, char *buf, unsigned int buf_len);
extern int __stdcall DL_GetCustomName(DL_HANDLE_T dl_handle, char *buf, unsigned int buf_len);
extern int __stdcall DL_Rom_GetInfo(DL_HANDLE_T dl_handle, unsigned short index, ROM_INFO *p_rom_info);
extern int __stdcall DL_Rom_GetInfoAll(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info, unsigned short max_rom_count);
extern int __stdcall DL_Rom_GetResInfo(DL_HANDLE_T dl_handle, unsigned short index, MTK_Resource *p_res_info);
extern int __stdcall DL_Rom_SetFilepath(DL_HANDLE_T dl_handle, unsigned short index, const char *rom_filepath);
extern int __stdcall DL_Rom_LoadByFilepath(DL_HANDLE_T dl_handle, unsigned short index, const char *rom_filepath);
extern int __stdcall DL_Rom_Load(DL_HANDLE_T dl_handle, unsigned short index);
extern int __stdcall DL_Rom_Unload(DL_HANDLE_T dl_handle, unsigned short index);
extern int __stdcall DL_Rom_LoadAll(DL_HANDLE_T dl_handle, ROM_INFO *p_rom_info);
extern int __stdcall DL_Rom_UnloadAll(DL_HANDLE_T dl_handle);
extern int __stdcall DL_Rom_SetEnableAttr(DL_HANDLE_T dl_handle, unsigned short index, _BOOL attr);
extern int __stdcall DL_IsNFB(DL_HANDLE_T dl_handle, _BOOL *p_is_nfb);
struct DL_HANDLE_LIST;
typedef struct DL_HANDLE_LIST * DL_HANDLE_LIST_T;
extern int __stdcall DL_CreateList(DL_HANDLE_LIST_T * dl_handle_list);
extern int __stdcall DL_DestroyList(DL_HANDLE_LIST_T * dl_handle_list);
extern int __stdcall DL_AddHandleToList(DL_HANDLE_LIST_T dl_handle_list, DL_HANDLE_T dl_handle);
extern int __stdcall DL_DeleteHandleFromList(DL_HANDLE_LIST_T dl_handle_list, DL_HANDLE_T dl_handle);
extern int __stdcall DL_GetHandleNumber(DL_HANDLE_LIST_T dl_handle_list, int * HandleNumber);
extern int __stdcall DL_CheckHandleInList(DL_HANDLE_LIST_T dl_handle_list, DL_HANDLE_T dl_handle);
extern int __stdcall DL_CheckHandleSameSWVersionInList(DL_HANDLE_LIST_T dl_handle_list, DL_HANDLE_T dl_handle);
// BL_HANDLE related
extern int __stdcall DL_BL_IsReady(DL_HANDLE_T dl_handle, BL_INFO *p_bl_info, _BOOL check_if_updated);
extern int __stdcall DL_BL_LoadByFilepath(DL_HANDLE_T dl_handle, const char *bl_filepath);
extern int __stdcall DL_BL_GetInfo(DL_HANDLE_T dl_handle, BL_INFO *p_bl_info);
extern int __stdcall DL_BL_SetEnableAttr(DL_HANDLE_T dl_handle, _BOOL attr);
//------------------------------------------------------------------------------
// DA_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef struct {
char filepath[256];
unsigned int start_addr;
unsigned char *buf;
unsigned int buf_len;
unsigned int main_prog_size;
}DA_INFO;
struct DA_HANDLE;
typedef struct DA_HANDLE * DA_HANDLE_T;
extern int __stdcall DA_Create(DA_HANDLE_T *p_da_handle);
extern int __stdcall DA_Destroy(DA_HANDLE_T *p_da_handle);
extern int __stdcall DA_IsReady(DA_HANDLE_T da_handle, DA_INFO *p_da_info, _BOOL check_if_updated);
extern int __stdcall DA_GetInfo(DA_HANDLE_T da_handle, DA_INFO *p_da_info);
extern int __stdcall DA_SetFilepath(DA_HANDLE_T da_handle, const char *da_filepath);
extern int __stdcall DA_LoadByFilepath(DA_HANDLE_T da_handle, const char *da_filepath);
extern int __stdcall DA_LoadByFilepathEx(DA_HANDLE_T da_handle, const char *da_filepath, _BOOL bDA_Validation);
extern int __stdcall DA_Load(DA_HANDLE_T da_handle);
extern int __stdcall DA_LoadEx(DA_HANDLE_T da_handle, _BOOL bDA_Validation);
extern int __stdcall DA_Unload(DA_HANDLE_T da_handle);
//------------------------------------------------------------------------------
// RB_HANDLE: Exported Functions
//------------------------------------------------------------------------------
typedef struct {
char filepath[256];
unsigned int readback_addr;
unsigned int readback_len;
_BOOL enable; // _FALSE -> disbale
// _TRUE -> enable
unsigned short index;
NUTL_ReadFlag_E m_read_flag;
}RB_INFO;
struct RB_HANDLE;
typedef struct RB_HANDLE * RB_HANDLE_T;
extern int __stdcall RB_Create(RB_HANDLE_T *p_rb_handle);
extern int __stdcall RB_Destroy(RB_HANDLE_T *p_rb_handle);
extern int __stdcall RB_SetPacketLength(RB_HANDLE_T rb_handle, unsigned short length);
extern int __stdcall RB_GetCount(RB_HANDLE_T rb_handle, unsigned short *p_rb_count);
extern int __stdcall RB_IsReady(RB_HANDLE_T rb_handle, RB_INFO *p_rb_info);
extern int __stdcall RB_GetInfo(RB_HANDLE_T rb_handle, unsigned short index, RB_INFO *p_rb_info);
extern int __stdcall RB_GetInfoAll(RB_HANDLE_T rb_handle, RB_INFO *p_rb_info, unsigned short max_rb_count);
extern int __stdcall RB_Append(RB_HANDLE_T rb_handle, const char *rb_filepath, unsigned int rb_addr, unsigned int rb_len);
extern int __stdcall RB_Delete(RB_HANDLE_T rb_handle, unsigned short index);
extern int __stdcall RB_SetFilepath(RB_HANDLE_T rb_handle, unsigned short index, const char *rb_filepath);
extern int __stdcall RB_SetReadbackFlag(RB_HANDLE_T rb_handle, unsigned short index, NUTL_ReadFlag_E flag);
extern int __stdcall RB_SetReadbackAddr(RB_HANDLE_T rb_handle, unsigned short index, unsigned int rb_addr);
extern int __stdcall RB_SetReadbackLength(RB_HANDLE_T rb_handle, unsigned short index, unsigned int rb_len);
extern int __stdcall RB_ClearAll(RB_HANDLE_T rb_handle);
extern int __stdcall RB_SetEnableAttr(RB_HANDLE_T rb_handle, unsigned short index, _BOOL attr);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -