📄 flashtool_handle.h
字号:
/*******************************************************************************
* 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 $
*
* 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 "brom.h"
#include "mtk_resource.h"
#include "DOWNLOAD.H"
#ifdef __cplusplus
extern "C" {
#endif
//------------------------------------------------------------------------------
// return code
//------------------------------------------------------------------------------
#define FTHND_RET(ret) (ret&0x0000FF00)
#define FTHND_OK 0x000000
#define FTHND_ERROR 0x000100
#define FTHND_NO_MEMORY 0x000200
#define FTHND_INVALID_ARGUMENTS 0x000300
#define FTHND_ILLEGAL_INDEX 0x000400
#define FTHND_HANDLE_BUSY_NOW 0x000500
#define FTHND_FILE_IS_UPDATED 0x000600
#define FTHND_FILE_IS_NOT_LOADED 0x000700
#define FTHND_FILE_LOAD_FAIL 0x000800
#define FTHND_FILE_UNLOAD_FAIL 0x000900
#define FTHND_LIST_IS_EMPTY 0x000A00
#define FTHND_SCAT_INCORRECT_FORMAT 0x000B00
#define FTHND_SCAT_ADDR_IS_NOT_WORD_ALIGN 0x000C00
#define FTHND_SCAT_OFFSET_IS_NOT_WORD_ALIGN 0x000D00
#define FTHND_SCAT_ADDR_IS_NOT_ASCENDING_ORDER 0x000E00
#define FTHND_SCAT_REGION_IS_OVERLAP 0x000F00
#define FTHND_SCAT_JUMPTABLE_IS_NOT_ABSOLUTE_ADDR 0x001000
#define FTHND_SCAT_NOT_RES_LOAD_REGION_INDEX 0x001100
#define FTHND_RES_MECHANISM_DISABLED 0x001200
#define FTHND_RES_NO_MATCH_IN_JUMPTABLE 0x001300
#define FTHND_RES_IS_NOT_DOWNLOAD_WITH_JUMPTABLE 0x001400
#define FTHND_RES_DOWNLOAD_SELECT_INCOMPLETE 0x001500
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -