| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- //-------------------------------------------------------------------------------
- // mergeImage.h
- //-------------------------------------------------------------------------------
- #ifndef _MERGEIMAGE_H_
- #define _MERGEIMAGE_H_
- //-------------------------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include "types.h"
- #ifdef _windows_
- #include "../sisspi_flashalloc.h"
- #else
- #include <project.h>
- #include <drv_spi_flashalloc_external.h>
- #include <drv_spi_flashalloc_internal.h>
- #endif
- //-------------------------------------------------------------------------------
- // Option
- //-------------------------------------------------------------------------------
- #define DBG_SHOW_DBG_MSG 0
- #define DBG_SHOW_PARSE_RESULT 0
- #define DBG_SHOW_CONFIG_LINE 0
- #define DBG_SKIP_NOT_EXIST 0
- #define MI_ENCRYPT_FLASH_BIN 1
- #define MI_COPY_MERGE_SOURCE 1
- #define MI_DFT_GENERATE_ORI_BIN 1
- #define MI_DFT_GENERATE_PACKET 1
- #define MI_DFT_DELETE_TEMP_FILE 1
- #define MI_DFT_JUDGE_DBG_VERSION 0 /* Now only for BootROM */
- #define MI_PROTECT_INVALID_MODULE 1 /* Customer request */
- //-------------------------------------------------------------------------------
- // Buffer & file size
- //-------------------------------------------------------------------------------
- #define TMP_BUFFER_SIZE 512
- #define SAVEINFO_SIZE 4096
- #define FILENAME_SIZE 4096
- //-------------------------------------------------------------------------------
- // Source name
- //-------------------------------------------------------------------------------
- #if 0
- #define FILENAME_SHELLROM "ShellROM.bin"
- #define FILENAME_8051ROM "8051ROM.bin"
- #define FILENAME_BOOTROM "BootROM.bin"
- #define FILENAME_USBROM "USBROM.bin"
- #define FILENAME_EDID "EDID.bin"
- #define FILENAME_HDCPKEY "HDCPKey.bin"
- #define FILENAME_MAC "MAC.bin"
- #define FILENAME_CIKEY "CIKey.bin"
- #define FILENAME_VOLUMETABLE "VolumeTable.bin"
- #define FILENAME_MEMORYMAP "MemMap.bin"
- #define FILENAME_OPTION "Option.bin"
- #define FILENAME_PANELSET "PanelSet.bin"
- #define FILENAME_VIPTABLE "VIPTable.bin"
- #define FILENAME_GAMMATABLE "GammaTable.bin"
- #define FILENAME_COLORLUTTABLE "ColorLUTTable.bin"
- #define FILENAME_LOGO "Logo.bin"
- #define FILENAME_AUDIOROM "AudioROM.bin"
- #define FILENAME_KERNEL "vmlinux.dsc"
- #endif
- #define MERGEFEATURE "mergeImage.cfg"
- #define PATHNAME_BOOTROM "BootROM"
- #define PATHNAME_AUDIOROM "AudioROM"
- #define PATHNAME_OUTPUT "."
- #define FILENAME_CODEBIN "code.bin"
- #define FILENAME_DATABIN "data.bin"
- #define FILENAME_SAVEINFO "customer.save"
- #define FILENAME_BINWITHINFO "info.bin"
- #define FILENAME_PACKETIMAGE "update.packet"
- #define FILENAME_PACKETSAVE "update.save"
- #define FILENAME_MENUDFTTMP "MenuSettingDefault.bin"
- #define FILENAME_PQDFTTMP "PQSettingDefault.bin"
- #define FILENAME_AQDFTTMP "AQSettingDefault.bin"
- #define FILENAME_ColorTempDFTTMP "ColorTempSettingDefault.bin"
- #define FILENAME_MULTITABLETMP "Multitable.bin"
- #define FILENAME_MULTIFLAGTMP "Flag.bin"
- #define FILENAME_LOGOTMP "logo.tmp.bin"
- #define FILENAME_LOGOGZTMP "logo.tmp.bin.lzma"
- #define FILENAME_CAPLOGOTMP_SIZETAG "CAP_LOGO.tmp.bin.sizetag"
- #define FILENAME_CODETMP "code.tmp.bin"
- #define FILENAME_DATATMP "data.tmp.bin"
- #define FILENAME_ENCRYPTTMP "encrypt.tmp.bin"
- #define FILENAME_CODEVALID "code.valid.bin"
- #define FILENAME_DATAVALID "data.valid.bin"
- #define FILENAME_MICONFIG "mergeImage.cfg"
- #define FILENAME_TIMESTAMP "timestamp_info"
- #define FILENAME_CUSTABLEGZTMP "custable.table.lzma"
- #if 0
- #define MODULENAME_SHELLROM "ShellROM"
- #define MODULENAME_8051ROM "8051ROM"
- #define MODULENAME_USBROM "USBROM"
- #define MODULENAME_EDID "EDID"
- #define MODULENAME_HDCPKEY "HDCPKey"
- #define MODULENAME_MAC "MAC"
- #define MODULENAME_CIKEY "CIKey"
- #define MODULENAME_VOLUMETABLE "VolumeTable"
- #define MODULENAME_MEMORYMAP "MemoryMap"
- #define MODULENAME_OPTION "Option"
- #define MODULENAME_PANELSET "PanelSet"
- #define MODULENAME_EXTRAPANELSET1 "ExtraPanelSet1"
- #define MODULENAME_EXTRAPANELSET2 "ExtraPanelSet2"
- #define MODULENAME_EXTRAPANELSET3 "ExtraPanelSet3"
- #define MODULENAME_VIPTABLE "VIPTable"
- #define MODULENAME_GAMMATABLE "GammaTable"
- #define MODULENAME_COLORLUTTABLE "ColorLUTTable"
- #define MODULENAME_LOGO "Logo"
- #define MODULENAME_JPEGROM "JpegROM"
- #define MODULENAME_KERNEL "Kernel"
- #define MODULENAME_MULTITABLE "MultiTable"
- #define MODULENAME_MT_FLAG "MT_Flag"
- #define MODULENAME_MT_AUDIODRV "MT_AudioDrv"
- #define MODULENAME_RRTTABLE "RRTTable"
- #else
- #define MODULENAME_BOOTROM "BootROM"
- #define MODULENAME_AUDIOROM "AudioROM"
- #endif
- //-------------------------------------------------------------------------------
- // debug / error / normal message
- //-------------------------------------------------------------------------------
- #if DBG_SHOW_DBG_MSG
- #define dbgMsg( args... ) printf( args )
- #else
- #define dbgMsg( args... )
- #endif
- #define errMsg( args... ) do{\
- printf( "\n[Error] " );\
- printf( args );\
- }while(0)
- #define showMsg( args... ) printf( args )
- //-------------------------------------------------------------------------------
- // mergeImage global variables
- //-------------------------------------------------------------------------------
- extern char miPacketName[FILENAME_SIZE];
- extern char miConfigFile[FILENAME_SIZE];
- extern char miCodeBinName[FILENAME_SIZE];
- extern char miDataBinName[FILENAME_SIZE];
- extern char miBinWithInfo[FILENAME_SIZE];
- extern char miSaveInfoName[FILENAME_SIZE];
- extern char miBaseImageName[FILENAME_SIZE];
- extern char miOutputPathName[FILENAME_SIZE];
- extern bool miGeneratePacketFlag;
- extern bool miDeleteTempFileFlag;
- extern bool miGenerateOriginalBinFlag;
- extern bool miJudgeDebugVersionFlag;
- //-------------------------------------------------------------------------------
- // Generate option by #define
- //-------------------------------------------------------------------------------
- #include <Customization.h>
- #include <Customization.h>
- int GetOptionData(void );
- extern CUSTIMIZATION_TABLE OptionData;
- //-------------------------------------------------------------------------------
- #define ALIGNMENT( addr, size ) ( addr & ~(size-1) )
- #define ROUND_UP( dividend, divisor ) ( ( (dividend) + (divisor-1) ) / (divisor) )
- #define ROUND_KB( dividend ) ( ROUND_UP( dividend, 1024 ) )
- #define ROUND_16B_ALIGNMENT( dividend ) ( ROUND_UP( dividend, 16 )*16 )
- #if (SPI_ERASE_SIZE == (4*1024))
- #define ROUND_SFS_ALIGNMENT( dividend ) ( ROUND_UP( dividend, 4*1024 )*4*1024 )
- #else
- #define ROUND_SFS_ALIGNMENT( dividend ) ( ROUND_UP( dividend, 64*1024 )*64*1024 )
- #endif
- #define ToString(x) #x
- #define MIN( a, b ) ( (a < b ) ? a : b )
- #define MAX( a, b ) ( (a > b ) ? a : b )
- //-------------------------------------------------------------------------------
- int sisspi_encrypt( const char *inFile, const char *outFile, int encryptMode );
- #endif
|