136 lines
3.5 KiB
C
136 lines
3.5 KiB
C
#include "version_logo.h"
|
|
#include "logo_table.h"
|
|
#include "utilities.h"
|
|
|
|
|
|
extern UINT32 Load$$INIT$$Base;
|
|
extern void Reset_Handler(void);
|
|
|
|
/**
|
|
* Note: The following MACRO can not MODIFY
|
|
* 1. LOGO_VALID_MAGIC: image magic
|
|
* 2. LOGO_EXEC_ADDR: image Exec Addr
|
|
* 3. LOGO_LOAD_EXEC_ADDR: image Load Addr
|
|
*/
|
|
|
|
#define LOGO_EXEC_ADDR (UINT32)&Reset_Handler
|
|
#define LOGO_LOAD_EXEC_ADDR (UINT32)&Load$$INIT$$Base
|
|
|
|
|
|
|
|
//for basic logo build version
|
|
#define VB_VERSION_DATE "20251023"
|
|
|
|
#define INFO_STRING VB_VERSION_DATE##"_db"
|
|
|
|
//for LCD TYPE INFO
|
|
//Note: The following will only choose one, Default is "NO_LCD"
|
|
#ifdef LCD_ST7789V_MCU
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7789V_MCU"
|
|
#endif
|
|
|
|
#ifdef LCD_ST7789V_SPI_3WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7789V_SPI_3WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_ST7789V_SPI_3WIRE_2LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7789V_SPI_3WIRE_2LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_ST7789V_SPI_4WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7789V_SPI_4WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_ST7789V_SPI_4WIRE_1LANE_2IF
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7789V_SPI_4WIRE_1LANE_2IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9305_MCU
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9305_MCU"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9305_SPI_3WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9305_SPI_3WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9305_SPI_3WIRE_2LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9305_SPI_3WIRE_2LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9305_SPI_4WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9305_SPI_4WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9306_SPI_3WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9306_SPI_3WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9306_SPI_3WIRE_2LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9306_SPI_3WIRE_2LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_GC9306_SPI_4WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_GC9306_SPI_4WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
|
|
#ifdef LCD_DUMMY_MCU
|
|
#define VB_OEM_LCD_TYPE "LCD_DUMMY_MCU"
|
|
#endif
|
|
|
|
#ifdef LCD_DUMMY_SPI_3WIRE_2LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_DUMMY_SPI_3WIRE_2LANE_1IF"
|
|
#endif
|
|
|
|
#ifdef LCD_ST7735S_SPI_3WIRE_1LANE_1IF
|
|
#define VB_OEM_LCD_TYPE "LCD_ST7735_SPI_3WIRE_1LANE_1IF"
|
|
#endif
|
|
|
|
#ifndef LCD_USE_IN_CODE //default
|
|
#define VB_OEM_LCD_TYPE "NO_LCD"
|
|
#define LOGO_DISPLAY_FLAG DISABLE_LOGO_DISPLAY_FLAG
|
|
#else
|
|
#define LOGO_DISPLAY_FLAG ENABLE_LOGO_DISPLAY_FLAG
|
|
#endif
|
|
|
|
#define VB_ADD_MORE_FUNCTION_SUPORT "SUPPORT_ADD_MORE_FUNCTION"
|
|
|
|
#pragma arm section rodata="IMGLOGO"
|
|
const LogoHeaderTableStruct logo_vb =
|
|
{
|
|
//+++++++++++++++++++++++++++++
|
|
//AREA_1: LOGO_LOAD_BLOCK
|
|
{
|
|
LOGO_VALID_MAGIC,
|
|
LOGO_EXEC_ADDR,
|
|
LOGO_LOAD_EXEC_ADDR,
|
|
LOGO_HEADER_TOTAL_SIZE
|
|
},
|
|
//+++++++++++++++++++++++++++++
|
|
//AREA_2: LOGO_FEEDBACK_BLOCK
|
|
{
|
|
"LOGO_FLAG:",
|
|
LOGO_DISPLAY_FLAG
|
|
},
|
|
//+++++++++++++++++++++++++++++
|
|
//AREA_3: VERSION_INFO
|
|
{
|
|
VB_VERSION_DATE,
|
|
VB_OEM_LCD_TYPE,
|
|
VB_ADD_MORE_FUNCTION_SUPORT,
|
|
INFO_STRING
|
|
},
|
|
//AREA_4: ext*.bin info
|
|
{
|
|
{
|
|
{"LOGO_FUC_MG\0",(UINT32)LOGO_FUNCTION_MAGIC_2}, //place updater function magic
|
|
{"EXT_SIZE\0", (UINT32)(LOGO_INVALID_VALUE)}, //write by external_ext_bin_size_update.pl
|
|
{"LOGO_SIZE\0", (UINT32)(LOGO_INVALID_VALUE)}, //write by external_ext_bin_size_update.pl
|
|
{"ADC_EXEC\0", (UINT32)(DSP_ADC_EXECUTE_ADDR)},
|
|
{"ADC_SIZE\0", (UINT32)(LOGO_INVALID_VALUE)}, //write by external_ext_bin_append.pl
|
|
}
|
|
},
|
|
};
|
|
#pragma arm section code
|
|
|