📄 sysinfo2.h
字号:
#define SCALER_MEM_SIZE_SD (_MAX(_MAX(SD_DNR_24BIT, SD_DNR_24BIT), _MAX(SD_DNR_24BIT, SD_DNR_24BIT)) * 2)
//------------------------------------------------------------------------------
// SDRAM memory map
//------------------------------------------------------------------------------
//
// DVB-T DRAM memory map
//
// Subtitle allocation
#define SBT_PIXEL_FACTOR 1
#define SBT_SECTION_BUFFER_SIZE 512
#if 1// kevin 020070828 temp //( MEMORY_MAP == MMAP_2MB )
// HK 8051 code size
#define MCU_CODE_SIZE MIU_FLASH_LEN
// ECC ON code size
#define MCU_CODE_SIZE_WITH_ECC ( MCU_CODE_SIZE + (MCU_CODE_SIZE>>2) )
// Addy 20070928
#if (MEMORY_MAP == MMAP_2MB)
#define MEMOEY_SIZE (2L * 1024 * 1024)
#elif (MEMORY_MAP == MMAP_4MB)
#define MEMOEY_SIZE (4L * 1024 * 1024)
#else
#define MEMOEY_SIZE (8L * 1024 * 1024)
#endif
// need 64k align XDATA
#define XD_MAP_BASE_ADR 0UL
#define XD_MAP_LEN 0x10000UL // 64K
// need 64k align
#define CODE_MAP_BASE_ADR (XD_MAP_BASE_ADR + XD_MAP_LEN) // MemAlign((DUMMY_SPACE_1 + DUMMY_SPACE_1_LEN), 0x10000)
#define CODE_MAP_LEN 0x10000UL // 64K //MCU_CODE_SIZE
#define GE_FRAMEBUFFER_ADR MemAlign(CODE_MAP_BASE_ADR + CODE_MAP_LEN, 0x10000)
// Addy 20070928
#if (MEMORY_MAP == MMAP_2MB) // 2 480*234 FULL-SCREEN GOPs
#define GE_FRAMEBUFFER_LEN 0x70000UL // 224K //0x37000UL // 0x6E000UL // 440K (480x234x2)*2GOP
#elif(MEMORY_MAP == MMAP_4MB) // 3 480*234 FULL-SCREEN GOPs
#define GE_FRAMEBUFFER_LEN 0xB0000UL //0x37000UL // 0x6E000UL // 440K (480x234x2)*2GOP
#else // 8MB // 3 800*480 FULL-SCREEN GOPs
#define GE_FRAMEBUFFER_LEN 0x100000UL //0x37000UL // 0x6E000UL // 440K (480x234x2)*2GOP
#endif
//--------------------------------------------------------------
// GOP
#define GOP_GWIN_RB_BASE_ADR GE_FRAMEBUFFER_ADR
#define GOP_GWIN_RB_BASE_LEN GE_FRAMEBUFFER_LEN
//--------------------------------------------------------------
#define FONT_INFO_POOL_ADR (GE_FRAMEBUFFER_ADR + GE_FRAMEBUFFER_LEN)
#define FONT_INFO_POOL_LEN 0x8000UL // 32K //0x2800UL // 10K
#define FONT_START_ADR (FONT_INFO_POOL_ADR + FONT_INFO_POOL_LEN)
#define FONT_LEN 0x70000UL // 64K //0x8000UL // 32K
#define BMP_INFO_POOL_ADR (FONT_START_ADR + FONT_LEN)
#define BMP_INFO_POOL_LEN 0x8000UL // 32K // 0x2800UL // 10K
#define BMP_START_ADR (BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)
// Addy20070928
#if (MEMORY_MAP == MMAP_2MB)
#define BMP_LEN 0x120000UL //0x120000UL // 1152K
#elif(MEMORY_MAP == MMAP_4MB)
#define BMP_LEN 0x120000UL //0x120000UL // 1152K
#else
#define BMP_LEN 0x3D0000UL//0x280000UL //0x120000UL // 1152K
#endif
// seven 070823_00
// Addy 070828 arrange all garbage item here, starting at 0xFF00UL ( use the last 256 byte XDATA space)
// must start at nn80000, 512K alignment
#define MAD_BASE_BUFFER_ADR 0xFF00UL // MemAlign((BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN), 0x80000)
#define MAD_BASE_BUFFER_LEN 8 // kevin b //0x4B000UL // 300K
// The buffer to store the PES payloads from Demux.
#define SBT_STREAM_BUF_ADR (MAD_BASE_BUFFER_ADR + MAD_BASE_BUFFER_LEN)
#define SBT_STREAM_BUF_LEN 8 // kevin b //0x20000UL // 128K (64K *2)
//co buffer
#define USB_BUFFER_START (SBT_STREAM_BUF_ADR + SBT_STREAM_BUF_LEN) // kevin b //(FILE_SYSTEM_W1XDATA_BANKC_ADR+FILE_SYSTEM_W1XDATA_BANKC_LEN)
#define USB_BUFFER_LEN 8 // kevin b //0x1000
// dummy
#define DUMMY_SPACE (USB_BUFFER_START + USB_BUFFER_LEN) //(BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)
#define DUMMY_SPACE_LEN 8 // 0x2800UL // 10K bytes
// need 64k align
#define SECBUF_START_ADR (DUMMY_SPACE + DUMMY_SPACE_LEN) //(BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)// kevin b //MemAlign((DUMMY_SPACE_2+DUMMY_SPACE_2_LEN), 0x10000)
#define SECBUF_LEN 8 // kevin b //0x22000UL // 136K
// need 512 byte alignment SD
#define MVD_FRAMEBUFFER_ADR (SECBUF_START_ADR + SECBUF_LEN) //(BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)
#define MVD_FRAMEBUFFER_LEN 8 // kevin b //0x140C00UL // 1282.5KB, 3 Buffers=720*576*1.5*3
// need 8 byte alignment
#define MVD_BITSTREAM_ADR (MVD_FRAMEBUFFER_ADR + MVD_FRAMEBUFFER_LEN) //(BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)
#define MVD_BITSTREAM_LEN 8 // kevin b//0x3C000UL // 240KB
// dummy 1
#define DUMMY_SPACE_1 (MVD_BITSTREAM_ADR + MVD_BITSTREAM_LEN) // (BMP_INFO_POOL_ADR + BMP_INFO_POOL_LEN)//(SI_MONITOR_SRV_START_ADR + SI_MONITOR_SRV_LEN)
#define DUMMY_SPACE_1_LEN 8 // kevin b //0x3CC00UL // 243K bytes
// database
#define DATABASE_START_ADR (DUMMY_SPACE_1 + DUMMY_SPACE_1_LEN) // (CODE_MAP_BASE_ADR + CODE_MAP_LEN)
#define DATABASE_LEN 8 // 0x10000UL // 64K
//--------------------------------------------------------------
// details for MAD BUFFER (ES buffer + PCM buffer)
//#define MAD_ES_BUFFER_ADR MAD_BASE_BUFFER_ADR
//#define MAD_ES_BUFFER_LEN 0x8000 // 32K
//#define MAD_PCM_BUFFER_ADR (MAD_ES_BUFFER_ADR+MAD_ES_BUFFER_LEN)
//#define MAD_PCM_BUFFER_LEN 0x10000 // 64K
// co buffer wiht MAD_BASE_BUFFER_ADR
//#define MAD_JPEG_INBUFFER_ADR (FILE_SYSTEM_W1XDATA_BANKC_ADR+FILE_SYSTEM_W1XDATA_BANKC_LEN) //(MAD_BASE_BUFFER_ADR+FILE_SYSTEM_TABLE_LEN)
//#define MAD_JPEG_INBUFFER_LEN (0x400) // 256K-8K-12K (118K/118K ping pong buffer)
//--------------------------------------------------------------
/*
//co buffer with subtitle stream buffer
//file system buffer
#define FILE_SYSTEM_TABLE_ADR (MAD_BASE_BUFFER_ADR + MAD_BASE_BUFFER_LEN)
#define FILE_SYSTEM_TABLE_LEN 0x2000 // 8K
#define FILE_SYSTEM_W1XDATA_BANKA_ADR (FILE_SYSTEM_TABLE_ADR+FILE_SYSTEM_TABLE_LEN) // 4K
#define FILE_SYSTEM_W1XDATA_BANKA_LEN 0x1000 // 4K
#define FILE_SYSTEM_W1XDATA_BANKB_ADR (FILE_SYSTEM_W1XDATA_BANKA_ADR+FILE_SYSTEM_W1XDATA_BANKA_LEN) // 4K
#define FILE_SYSTEM_W1XDATA_BANKB_LEN 0x1000 // 4K
#define FILE_SYSTEM_W1XDATA_BANKC_ADR (FILE_SYSTEM_W1XDATA_BANKB_ADR+FILE_SYSTEM_W1XDATA_BANKB_LEN) // 4K
#define FILE_SYSTEM_W1XDATA_BANKC_LEN 0x1000 // 4K
*/
//#define DUMMY_SPACE_2 (DUMMY_SPACE + DUMMY_SPACE_LEN)
//#define DUMMY_SPACE_2_LEN 0x2800UL // 10K bytes
//--------------------------------------------------------------
// co buffer
/*#define MAD_JPEG_OUTBUFFER_ADR (SECBUF_START_ADR+SECBUF_LEN)
#define MAD_JPEG_OUTBUFFER_LEN 0xEA600UL // JPEG SD mode 800x600x1.5
#define MAD_JPEG_DISPLAY_BUFFER_ADR (MAD_JPEG_OUTBUFFER_ADR + MAD_JPEG_OUTBUFFER_LEN) // Jpeg Display buffer
#define MAD_JPEG_DISPLAY_BUFFER_LEN 0x1D4C00UL // JPEG DWIN output mode 800x600x4
#define MP3_DATABASE_ADR MemAlign((MAD_JPEG_DISPLAY_BUFFER_ADR + MAD_JPEG_DISPLAY_BUFFER_LEN), 0x1000)
#define MP3_DATABASE_LEN 0x2000*/
/* Temp for complier happy. */
/*#if 1
#define DOWNLOAD_BUFFER_ADR MAD_JPEG_DISPLAY_BUFFER_ADR
#define DOWNLOAD_BUFFER_LEN MAD_JPEG_DISPLAY_BUFFER_LEN
#endif*/
/*
// Subtitle Definition Area
// For demux section buffer
#define SUBTITLE_START_ADR (MVD_BITSTREAM_ADR+MVD_BITSTREAM_LEN)
#define SUBTITLE_LEN 0x10000UL // 64K
// Memory pool for decoded pages/regions/CLUTs/objects
#define SUBTITIE_MEMPOOL_ADR (SUBTITLE_START_ADR + SUBTITLE_LEN)
#define SUBTITLE_MEMPOOL_LEN 0x66800UL // 410K
#define SI_MONITOR_DB_START_ADR (SUBTITIE_MEMPOOL_ADR + SUBTITLE_MEMPOOL_LEN)
#define SI_MONITOR_DB_LEN 0x4000 // 16K
#define SI_MONITOR_SRV_START_ADR (SI_MONITOR_DB_START_ADR + SI_MONITOR_DB_LEN)
#define SI_MONITOR_SRV_LEN 0x2000 // 8K
*/
// end
/* Temp for complier happy. */
#if 1
#if (MEMORY_MAP == MMAP_2MB)
// Addy 20071113 place the maximum possible DNR size at the bottom of the SDRAM
#define SCALER_DNR_BUF_ADR 0x120000
#define SCALER_DNR_BUF_LEN 0x70000UL
#elif (MEMORY_MAP == MMAP_4MB)
#define SCALER_DNR_BUF_ADR 0x320000
#define SCALER_DNR_BUF_LEN 0x70000UL
#elif (MEMORY_MAP >= MMAP_8MB)
#define SCALER_DNR_BUF_ADR 0x580000
#define SCALER_DNR_BUF_LEN 0xE0000UL
#endif
#define SCALER_DNR_W_BARRIER_ADR (SCALER_DNR_BUF_ADR + SCALER_DNR_BUF_LEN)
#define SCALER_DNR_W_BARRIER_LEN 8 //16 // DNR submit 2 64-bit data before compare limit
#if 0
#define SBT_BUF_DSCP_ADR (SCALER_DNR_W_BARRIER_ADR+ SCALER_DNR_W_BARRIER_LEN) //(SUBTITIE_MEMPOOL_ADR)
#define SBT_BUF_DSCP_LEN 8 // 2048 // 2K
// 16 byte alignment address for RLD
#define SBT_STREAM_BUF_TOP_ADR_SHIFT SBT_BUF_DSCP_ADR + SBT_BUF_DSCP_LEN // shift by 64K to avoid overlap with SB_STREAM_BUF
#define SBT_STREAM_BUF_BOTTOM_ADR_SHIFT SBT_STREAM_BUF_TOP_ADR_SHIFT + 0x10000 // shift by 64K to avoid overlap with SB_STREAM_BUF
// The buffer for a single decoded line during objects decoding process.
// This chuck can be removed in Jupiter as the RLD is adopted.
#define SBT_PIX_DATA_BUF_ADR (SBT_STREAM_BUF_BOTTOM_ADR_SHIFT)
#define SBT_PIX_DATA_BUF_LEN 8 //1024 // 1K
// The buffer for bit stream, not used in Jupiter.
#define SBT_CACHE_BUF_ADR (SBT_PIX_DATA_BUF_ADR+SBT_PIX_DATA_BUF_LEN)
#define SBT_CACHE_BUF_LEN 8 //1024 // 1K
#ifdef COMB_3D
#define COMB_3D_BUF_START_ADR (GE_FRAMEBUFFER_ADR) // 3D_COMB buffer start address
#define COMB_3D_BUF_LEN (2UL * 1024 * 1024) // 1.5 M
// TTX
#define TTXBUF_START_ADR (COMB_3D_BUF_START_ADR+COMB_3D_BUF_LEN)
#define TTXBUF_LEN 0x200000UL // 2048K
#define TTXBUF_VBI_SIZE (360*48)
#else
// TTX
#define TTXBUF_START_ADR GE_FRAMEBUFFER_ADR
#define TTXBUF_LEN 0x200000UL // 2048K
#define TTXBUF_VBI_SIZE (360*48)
#endif
#endif
#endif
// below are memory map for Mpeg4, start after MAD
// M4VD Data address
//#define M4VD_DATA_ADR (USB_BUFFER_START + USB_BUFFER_LEN)
//#define M4VD_DATA_LEN 0x10000UL
// M4VD data partition addr
//#define M4VD_DATA_PARTITION_ADR (M4VD_DATA_ADR + M4VD_DATA_LEN)
//#define M4VD_DATA_PARTITION_LEN 0x10000UL // 64k
// M4VD code addr
//#define M4VD_CODE_ADR (M4VD_DATA_PARTITION_ADR + M4VD_DATA_PARTITION_LEN)
//#define M4VD_CODE_LEN 0xF000UL // 64k
// M4VD bitstream buffer
//#define M4VD_BITSTREAM_BUFF_ADR (M4VD_CODE_ADR + M4VD_CODE_LEN)
//#define M4VD_BITSTREAM_BUFF_LEN 0x80000UL // 512k
//#define MP3_TAG_ADR M4VD_BITSTREAM_BUFF_ADR
//#define MP3_TAG_LEN M4VD_BITSTREAM_BUFF_LEN
// M4VD frame buffer
//#define M4VD_FRAME_BUFF_ADR (M4VD_BITSTREAM_BUFF_ADR + M4VD_BITSTREAM_BUFF_LEN)
//#define M4VD_FRAME_BUFF_LEN 0x1C7A00UL // 1.8M, (720x576x1.5x3)
//#define STRING_BINARY_ADR (M4VD_FRAME_BUFF_ADR+M4VD_FRAME_BUFF_LEN)
//#define STRING_BINARY_LEN 0x000000 //
//#define VE_FRAMEBUFFER_ADR MemAlign(STRING_BINARY_ADR, 8) // for avoid the compile error
#define END_OF_MEMORY_MAP (SCALER_DNR_W_BARRIER_ADR+SCALER_DNR_W_BARRIER_LEN)//(BMP_START_ADR + BMP_LEN)
#define END_OF_MPEG4_MEMORY_MAP (USB_BUFFER_START + USB_BUFFER_LEN)//(M4VD_FRAME_BUFF_ADR + M4VD_FRAME_BUFF_LEN)
#if ( END_OF_MEMORY_MAP > MEMOEY_SIZE )
#error "MMAP overflow"
#endif
#if ( END_OF_MPEG4_MEMORY_MAP > MEMOEY_SIZE)
#error "MPEG4 MMAP overflow"
#endif
#else
#error "DVB: unsupport memory map."
#endif
//=================================================================================================
//<<<DVB SDRAM memory map end>>>
//=================================================================================================
//=================================================================================================
// Memory map sanity check
//=================================================================================================
/*
#if (CODE_MAP_BASE_ADR % 0x10000)
#error "CODE_MAP_BASE_ADR must align to 64K"
#endif
*/
#if (CODE_MAP_BASE_ADR + CODE_MAP_LEN) > 0x1000000
#error "HK51 CODE must be in first 16M"
#endif
/*
#if (XD_MAP_BASE_ADR % 0x10000)
#error "XD_MAP_BASE_ADR must align to 64K"
#endif
*/
#if (GOP_GWIN_RB_BASE_ADR / 0x2000000) != ((GOP_GWIN_RB_BASE_ADR + GOP_GWIN_RB_BASE_LEN - 1) / 0x2000000)
#error "GOP_GWIN_RB cannot cross 32M boundary"
#endif
#if (SECBUF_START_ADR >= 0x400000)
#error "SECBUF_START_ADR cannot exceed 4M boundary"
#endif
// 4M flash
#define NUMBER_OF_SERFLASH_BLOCKS (64)
#define SERFLASH_BLOCK_SIZE 0x10000//(64*1024)
#define NUMBER_OF_SERFLASH_SECTORS (1024)
#define SERFLASH_SECTOR_SIZE (4*1024)
#if ENABLE_QUICK_DATABASE
#define QUICK_DB_UPDATE 0x08
#define QUICK_DB_MASK 0x07
#define QUICK_DB_READY 0x01
#define QUICK_DB_ERASE_IN_PROGRESS 0x02
#define QUICK_DB_ERASE_DONE 0x03
#define QUICK_DB_GENST_UPDATE 0x80
#define QUICK_DB_GENST_MASK 0x70
#define QUICK_DB_GENST_READY 0x10
#define QUICK_DB_GENST_ERASE_IN_PROGRESS 0x20
#define QUICK_DB_GENST_ERASE_DONE 0x30
#define QUICK_DB_GENSETTING_BANK 0x3C
#define QUICK_DB_GENST_EMPTY 0xFF
#define QUICK_DB_GENST_WRITING 0x7F
#define QUICK_DB_GENST_GOOD 0x3F
#define QUICK_DB_GENST_OBSOLETE 0x1F
#define QUICK_DB_GENST_SIZE (2*1024)
#define QUICK_DB_GENST_NUM (64)
#define QUICK_DB_GENST_INVALID_IDX 0xFF
#endif
#endif // _SYSINFO_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -