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

📄 sysinfo2.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 4 页
字号:
#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 + -