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

📄 flashtool_handle.h

📁 MTK 最新的flashtool工具的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*******************************************************************************
 *  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) 2003
 *
 ******************************************************************************/

/*******************************************************************************
 * Filename:
 * ---------
 *  flashtool_handle.h
 *
 * Project:
 * --------
 *  Flash Download/Readback/Format Library.
 *
 * Description:
 * ------------
 *  The exported C interface APIs to deal with FlashTool handles.
 *
 * Author:
 * -------
 *  Amos Hsu (mtk00539)
 *
 *==============================================================================
 *           HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * $Revision:   1.13  $
 * $Modtime:   Oct 19 2005 11:01:14  $
 * $Log:   //mtkvs01/vmdata/flash_tool/archives/BootRom/flashtool_handle.h-arc  $
 *
 * Mar 12 2007 mtk01413
 * [STP100001329] FlashTool v3.1.04 release
 * Enhancements:
 *  1. [FlashTool/BROM_DLL/DA] Auto-Format when enabling System_Drive_On_NAND
 *  2. [FlashTool] Show Parameter List View automatically when loading secure-on MAUI
 *  3. [FlashTool] Move "Paremeter"/ "File Management"/ "ROM Writer" under "Window" menu item
 *  4. [FlashTool] Show DA version and Build Date in help dialog
 *  
 *
 * Jan 2 2007 mtk01413
 * [STP100001195] FlashTool v3.1.02 release
 * New features:
 *  1. [BROM_DLL/DA] Support FOTA(Firmware update Over The Air) download.
 *  2. [BROM_DLL/DA] Support MT6223  download.
 *  3. [BROM_DLL/DA] Support MT6268T download.
 *  4. [DA] Supports new NOR Flash device
 * 		[SPANSION] S29GL128NH
 * 		[SPANSION] S29GL128NL
 * 		[SPANSION] S29GL256NH
 * 		[SPANSION] S29GL256NL
 * 		[SPANSION] S29GL512NH
 * 		[SPANSION] S29GL512NL
 * 
 * Enhancements:
 *  1. [DA] Support BBC(Blank Block Check) for NOR Flash Format.
 *  2. [BROM_DLL/DA] Support Retransmit mechanism for NAND Readback operation.
 *  3. [BROM_DLL] Enhance E-NFB Check.
 * 
 *
 * Nov 2 2006 mtk01413
 * [STP100001195] FlashTool v3.1.02 release
 * New features:
 *  1. [BROM_DLL/DA] E-NFB (Enhanced NFB) Download.
 * 
 *
 * Sep 27 2006 mtk00539
 * [STP100001145] FlashTool v3.1.01 release
 * 
 *
 * Aug 16 2006 mtk00539
 * [STP100001057] FlashTool v3.1.00 release
 * Add new function DL_GetProjectId().
 *
 * Aug 14 2006 mtk00539
 * [STP100001057] FlashTool v3.1.00 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. [BROM_DLL][NEW] Support 6229 Download, add m_emi_gen_c in DRAM setting
 *
 * Feb 23 2006 mtk00539
 * [STP100000625] FlashTool v2.7.1016
 * 
 * 
 *    Rev 1.13   Oct 19 2005 14:44:44   mtk00539
 *  1. [BROM_DLL&DA][New] New H/W devices detection architecture including NOR, NAND, SRAM and DRAM detection. 
 *  2. [BROM_DLL&DA][New] DA partial download technic, that overcomes DA size exceeds MT6205B internal SRAM (32KB).
 *  3. [BROM_DLL&DA][New] Format verification option, each byte should be 0xFF after erasure. 
 *  4. [BROM_DLL&DA][New] DA validation to ensure invalid binary could not be loaded.
 *  5. [BROM_DLL&DA][New] Support NFB download. 
 *  6. [BROM_DLL&DA][New] Support NAND flash format with 3 method, NORMAL, FORCEDLY ERASE and MARK AS BAD BLOCK. 
 *  7. [BROM_DLL&DA][New] Support NAND flash read back with 4 methods, PAGE+ECC, PAGE ONLY, SPARE ONLY and PAGE+SPARE. 
 * Resolution for 140: [BROM_DLL v2.7.1008][New] Support NFB download and many new features.
 * 
 *    Rev 1.12   May 24 2005 19:54:24   mtk00539
 *  1. [BROM_DLL][New] Add DA_cmd::CMD_EnableWatchDog() to enable watchdog after download process. 
 *  2. [BROM_DLL][New] Add DL_ResourceProjectIdComparisonSetting() API to enable/disable resource project id comparison. 
 *  3. [BROM_DLL][New] Add callback function in Boot_META() series API to do extra process after BootROM start command passed.
 *  4. [BROM_DLL][BUG FIX] Fix com port error after using HyperTerminal.
 *  5. [BROM_DLL][BUG FIX] Fix m_boot_timeout takes no effect in BRom_AutoBoot::BRom_StartCmd().
 *  6. [BROM_DLL][Change Behavior] Stop download process while CALLBACK_BEFORE_PROCESS return non-zero value. 
 *  7. [BROM_DLL][Change Behavior] Skip resource table size and content size checking for CustPack project.
 * Resolution for 115: [BROM_DLL v2.4.1012][New] Support new flash devices and bug fix.
 * 
 *    Rev 1.11   Nov 22 2004 14:27:54   mtk00539
 *  1. [BROM_DLL][BUG FIX] Add baudrate sync procedure for BootROM stage baudrate change for Prolific convertor.
 *  2. [BROM_DLL][BUG FIX] Fix ReadData() delay time too long problem in DA_cmd::CMD_ChangeUartSpeed() while target is running at 13MHz.
 *  3. [BROM_DLL][BUG FIX] DO NOT use while loop in reading BootROM ack in BRom_AutoBoot::BRom_StartCmd(), it will cause BootROM timeout.
 *  4. [BROM_DLL][Enhance] Extend the read timeout waiting time in DA_cmd::CMD_WriteData, because SHARP flash program time is slow.
 *  5. [BROM_DLL][Enhance] Add m_speedup_brom_baudrate flag to enable/disable speed-up baudrate in BootROM stage.
 * Resolution for 99: [BROM_DLL v2.4.1008][New] Support INTEL family flash Buffered-Program method.
 * 
 *    Rev 1.10   May 21 2004 15:44:40   mtk00539
 *  1. [brom.dll][New] add J2ME_ROM resource for w04.21 load.
 *  2. [brom.dll][New] add MT6217 BootROM.
 *  3. [brom.dll][New] add Brom_DownloadData API.
 *  4. [brom.dll][New] remove Brom_Verify relative APIs.
 *  5. [brom.dll][Enhance] move region overlap checking from Rom_Load() to IsReady() for more convenience.
 * Resolution for 70: [BROM_DLL v2.3.1003][New] add J2ME_ROM resource for w04.21 load.
 * 
 *    Rev 1.9   May 14 2004 17:01:28   mtk00539
 *  1. [brom.dll][BUG FIX] fix DA_cmd::CMD_WriteData() buffer overrun problem.
 *  2. [brom.dll][BUG FIX] remove DA_HANDLE & DL_HANDLE rwlock_writer_sentry for multi-thread download.
 *  3. [brom.dll][BUG FIX] fix download address remap problem for Multi-Bin download on MT6218B series projects.
 *  4. [brom.dll][Enhance] for the unknown bbchip_name just bypass ECO checking, don't stop process.
 *  5. [brom.dll][New] add FAT auto format mechanism, parse the embedded FAT range info from the end of the ROM file.
 *  6. [brom.dll][New] add DA auto selection mechanism, parse the embedded custom_bane info from the end of the DA file.
 *  7. [brom.dll][New] add _ByhCOM interface to let users to control com port handle.
 *  8. [brom.dll][New] add BootROM start command retry mechanism to prevent cable TX/RX cross over.
 *  9. [brom.dll][New] add MT6219_AV, MT6219_BV and MT6218B_FN support.
 * 10. [DA][New] add DA auto selection mechanism, append custom_name at the end of DA.
 * 11. [DA][New] add FAT auto format mechanism, report flash manufacture id and device code to PC side.
 * Resolution for 67: [BootRom v2.3.1001][New] add FAT auto format, DA auto selection mechanism and bug fix.
 * 
 *    Rev 1.8   Mar 29 2004 13:59:24   mtk00539
 *  1. [brom.dll][New] add baseband chip ECO revision checking flag for FlashDownload.
 *  2. [brom.dll][Enhance] replace port_no with unsigned int instead of COM_PORT_NO enum.
 *  3. [brom.dll][Enhance] add new member p_bbchip_name in FLASHTOOL_ARG to report target baseband chip name.
 *  4. [brom.dll][Enhance] enumerate com port from registry and also check whether if its property is PST_RS232.
 *  5. [brom.dll][Enhance] change com_sentry::Open() procedure to use SetCommConfig() like HyperTerminal.
 * Resolution for 64: [BootRom v2.2.1013][New] add baseband chip ECO revision checking flag for FlashDownload.
 * 
 *    Rev 1.7   Mar 15 2004 12:00:42   mtk00539
 * fix FTHND_UNKNOWN_BBCHIP_TYPE error code value
 * Resolution for 59: [BootRom v2.2.1011][Enhance] split get firmware version to external imported library.
 * 
 *    Rev 1.6   Mar 02 2004 00:19:06   mtk00539
 * 1. [brom.dll][Enhance] add resource and jump table consistency detection.
 * 2. [brom.dll][Enhance] read back target's jump table layout and compare before download.
 * 3. [brom.dll][Enhance] automatically load all the resource files.
 * 4. [brom.dll][Enhance] add target bbchip id detection.
 * 5. [brom.dll][Enhance] add ini module.
 * 6. [brom.dll][Enhance] add MT6219 support.
 * Resolution for 53: [BootRom v2.2.1007][Enhance] resource layout error detection.
 * 
 *    Rev 1.5   Feb 11 2004 17:52:16   mtk00539
 * [Enhance] support selectable download
 * Resolution for 51: [BootRom v2.2.1003][Enhance] selectable download.
 * 
 *    Rev 1.4   Feb 05 2004 14:13:54   mtk00539
 * supposupport multiple concatanated bin files download.
 * Resolution for 46: [BootRom v2.2.1001][New] support multiple concatanated bin files download.
 * 
 *    Rev 1.3   Oct 02 2003 00:51:46   mtk00539
 * Fix return code.
 * Resolution for 28: [BootRom v2.1.1001][New] See the reasons below.
 * 
 *    Rev 1.2   Oct 01 2003 23:34:06   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.1   Sep 25 2003 13:57:54   mtk00539
 * brom.dll v2.1.1001, please see SCR(28) for more details.
 * Resolution for 28: [BootRom v2.1.1001][New] See the reasons below.
 * 
 *    Rev 1.0   Jun 30 2003 18:13:58   admin
 * Initial revision.
 * 
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *==============================================================================
 *******************************************************************************/
#ifndef	_FLASHTOOL_HANDLE_H_
#define	_FLASHTOOL_HANDLE_H_

#include "mtk_mcu.h"
#include "mtk_status.h"
#include "mtk_resource.h"
#include "DOWNLOAD.H"

#ifdef	__cplusplus
extern "C" {
#endif

//------------------------------------------------------------------------------
// Boolean                                                                      
//------------------------------------------------------------------------------
typedef enum {
	_FALSE = 0,
	_TRUE = 1
} _BOOL;

//------------------------------------------------------------------------------
// prototype of remote file operation method callback                           
//------------------------------------------------------------------------------
typedef int (__stdcall *CALLBACK_REMOTE_GET_FILE_LEN)(const char *filepath, unsigned int * const p_file_length, void *user_arg);
typedef int (__stdcall *CALLBACK_REMOTE_READ_FILE)(const char *filepath, unsigned char * const p_file_content, unsigned int file_length, void *user_arg);

⌨️ 快捷键说明

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