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

📄 main.h~

📁 LCD的程序 3D效果的LCD 很有参考价值
💻 H~
字号:
#ifndef __MAIN_H__
#define __MAIN_H__

#include "std_maiko_io.h"
//#include "include\common\mconfig.h"
//#include "include\common\common.h"
#include "zsp_dmac.h"

#define MAIKO_ZSP_IMEMBASE          0x10020000
#define MAIKO_ZSP_DMEMBASE          0x10040000
#define MAIKO_ZSP_INTERNAL_IMEMBASE 0xDC020000
#define MAIKO_ZSP_INTERNAL_DMEMBASE 0xDC000000

// mailbox used by CPU2ZSP
#define MAIKO_MAILBOXBASE           0x10050000 // 0x8000
#define MAIKO_VIDEO_BUF_BASE        0x10200000
#define MAIKO_VIDEO_BUF_END         0x1027BBFF // MAIKO_VIDEO_BUF_BASE+4*MAXFRAMESIZE
#define MAIKO_QFRAGDATA_BASE        0x1027BC00 // 0x1027BC00 - 0x102B99FF
#define MAIKO_DMATABLE_BASE         0x1005EFC0 // 
#define MAIKO_PKTBUFFER_BASE        0xDC000000 // 0x0000 in ZSP

#define MAXFRAMESIZE                0x1EF00     // 352*240*1.5 = 126720
#define MAXPACKETSIZE               24576       // 24K
#define MAXBLOCKNUM                 1980
#define PKTBUFFER_LEN               1024
#define LASTFRAMEBUFLEN             48      // 48 blocks, 164 words per blocks
#define ZSP_QFRAGBUF_BASE           0       // 0x0 in ZSP

#define CPU2ZSP_INIT_REQ   0     // request ZSP to initialize decoder
#define CPU2ZSP_DECODE_REQ 1     // request ZSP to decode a frame
#define CPU2ZSP_FIN_REQ    2     // request ZSP to finish and clear up

// request CPU to maintain CodedBlockList
#define ZSP2CPU_CODED_BLOCK_REQ   0     
// request CPU to start DMA to copy QFragBuf and store in QFragData
//#define ZSP2CPU_QDATA_REQ  1     
// request CPU to copy High frequency tokens
#define ZSP2CPU_HTOKEN_REQ 1 
#define ZSP2CPU_RECON_REQ  3     // request CPU to reconstruct frame
#define ZSP2CPU_PKT_DATA   4     // request CPU send theora packet data

typedef struct __attribute__ ((__packed__)) {
    char Displayable;
    char CodingMethod;
} FRAGINFO;
//#define clamp255(x) ((unsigned char)((((x)<0)-1) & ((x) | -((x)>255))))
extern void CopyCodedBlockInfoIn(UINT16, UINT16);
extern void CopyQfragDataIn(UINT16, UINT16, UINT16, UINT16 *);
extern void CopyMVOffsetIn(UINT16, UINT16, UINT16, UINT16 *);
extern void CopyReconDataOut(UINT16, INT16 *, unsigned char *);
extern void CopyThisFrameIn(INT16, INT16, UINT16, unsigned char *);
//extern void updateThisFrame(UINT16, UINT16, UINT16, char *, char *);
extern void theora_info_init(UINT16, UINT16);
extern void clear_zsp_code(UINT16, UINT16);
extern void load_zsp_code();
//extern void load_zsp_cmd(UINT32, char *, UINT32);
extern void load_packet_data(UINT16);
extern void init_dma_table();
extern void invalidate_d_cache( unsigned char* addr, unsigned long size, int flag );
extern void lunch_dma_ch0(UINT32);
extern void lunch_dma_ch1(UINT32);
extern void wait_dma_ch0_finish();
extern void wait_dma_ch0_available();
extern void wait_dma_ch1_finish();
extern void check_dma_ch1_finish();

#endif //__MAIN_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -