📄 mem_alloc.h
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
#ifndef __MEM_ALLOC_H__
#define __MEM_ALLOC_H__
#include <system/armsys270.h>
#define KB ((Uint32)1024)
#define MB ((KB)*(KB))
#define HIGH_WORD(val32) ( (Uint16)((val32) >> 16 ) )
#define LOW_WORD(val32) ( (Uint16)((val32) & 0xFFFF ) )
#define MAKE_WORD32(high16, low16) ( ( (Uint32)(high16) << 16 ) | (low16) )
#define SDRAM_MEMORY_SIZE (16*MB)
#define OSD_VIDEO_WIN_MAX_SIZE (676*KB)
#define CCD_RAW_DATA_MAX_SIZE (7*MB)
#define JPEG_DATA_MAX_SIZE (4*MB)
#define THUMB_RAW_DATA_MAX_SIZE (100*KB)
#define THUMB_JPEG_DATA_MAX_SIZE (100*KB)
#define EXIF_HEADER_MAX_SIZE (100*KB)
#define EXIF_DATA_MAX_SIZE (4*MB+EXIF_HEADER_MAX_SIZE)
#define MOVIE_BUFFER_SIZE (300*KB*3)
#define AUDIO_BUFFER_SIZE (64*KB*3)
#define WORK_AREA_MAX_SIZE (1*MB)
#define RESERVED_AREA_SIZE (1*MB)
#define OSD_BMP_WIN_SIZE (720*480)
#define CCD_DRAFT_MODE_RAW_DATA_SIZE (MB)
/*
Offsets from start of SDRAM Base Address
*/
// Video Window's
#define OSD_VIDEO_WIN0_OFFSET (SDRAM_MEMORY_SIZE - OSD_VIDEO_WIN_MAX_SIZE)
#define OSD_VIDEO_WIN1_OFFSET (OSD_VIDEO_WIN0_OFFSET - OSD_VIDEO_WIN_MAX_SIZE)
#define OSD_VIDEO_WIN2_OFFSET (OSD_VIDEO_WIN1_OFFSET - OSD_VIDEO_WIN_MAX_SIZE)
// 3A data
#define AEWB_DATA_OFFSET (OSD_VIDEO_WIN2_OFFSET - 5*KB)
#define AF_DATA_OFFSET (AEWB_DATA_OFFSET - 5*KB)
// Still Image Mode
#define CCD_RAW_DATA_OFFSET (AF_DATA_OFFSET - CCD_RAW_DATA_MAX_SIZE )
#define JPEG_DATA_OFFSET (CCD_RAW_DATA_OFFSET - JPEG_DATA_MAX_SIZE )
#define THUMB_RAW_DATA_OFFSET (JPEG_DATA_OFFSET - THUMB_RAW_DATA_MAX_SIZE)
#define THUMB_JPEG_DATA_OFFSET (THUMB_RAW_DATA_OFFSET - THUMB_JPEG_DATA_MAX_SIZE)
#define EXIF_HEADER_OFFSET (THUMB_JPEG_DATA_OFFSET - EXIF_HEADER_MAX_SIZE)
#define EXIF_DATA_OFFSET (CCD_RAW_DATA_OFFSET)
// Movie Mode
#define MOVIE_BUFFER_OFFSET (AF_DATA_OFFSET - MOVIE_BUFFER_SIZE)
#define AUDIO_BUFFER_OFFSET (MOVIE_BUFFER_OFFSET - AUDIO_BUFFER_SIZE)
#define WORK_AREA_OFFSET (AUDIO_BUFFER_OFFSET - WORK_AREA_MAX_SIZE) // Used by MPEG4 encode/decode
#define MOVIE_CCD_RAW_DATA_OFFSET (WORK_AREA_OFFSET - CCD_DRAFT_MODE_RAW_DATA_SIZE) // used when upsampling 240 lines of CCD data to 480 lines
// SDRAM Data Storage Area
#define MEM_FS_BUFFER_OFFSET (RESERVED_AREA_SIZE+1*MB)
// Bitmap window's
#define OSD_BMP_WIN0_OFFSET (RESERVED_AREA_SIZE)
#define OSD_BMP_WIN1_OFFSET (OSD_BMP_WIN0_OFFSET + OSD_BMP_WIN_SIZE )
/*
Absolute SDRAM addresses
*/
#define CCD_RAW_DATA_ADDR (SDRAM_MEMORY_BASE + CCD_RAW_DATA_OFFSET)
#define JPEG_DATA_ADDR (SDRAM_MEMORY_BASE + JPEG_DATA_OFFSET)
#define THUMB_RAW_DATA_ADDR (SDRAM_MEMORY_BASE + THUMB_RAW_DATA_OFFSET)
#define THUMB_JPEG_DATA_ADDR (SDRAM_MEMORY_BASE + THUMB_JPEG_DATA_OFFSET)
#define EXIF_HEADER_ADDR (SDRAM_MEMORY_BASE + EXIF_HEADER_OFFSET)
#define EXIF_DATA_ADDR (SDRAM_MEMORY_BASE + EXIF_DATA_OFFSET)
#define OSD_VIDEO_WIN0_ADDR (SDRAM_MEMORY_BASE + OSD_VIDEO_WIN0_OFFSET)
#define OSD_VIDEO_WIN1_ADDR (SDRAM_MEMORY_BASE + OSD_VIDEO_WIN1_OFFSET)
#define OSD_VIDEO_WIN2_ADDR (SDRAM_MEMORY_BASE + OSD_VIDEO_WIN2_OFFSET)
#define AEWB_DATA_ADDR (SDRAM_MEMORY_BASE + AEWB_DATA_OFFSET )
#define AF_DATA_ADDR (SDRAM_MEMORY_BASE + AF_DATA_OFFSET )
#define MOVIE_BUFFER_ADDR (SDRAM_MEMORY_BASE + MOVIE_BUFFER_OFFSET)
#define AUDIO_BUFFER_ADDR (SDRAM_MEMORY_BASE + AUDIO_BUFFER_OFFSET)
#define WORK_AREA_ADDR (SDRAM_MEMORY_BASE + WORK_AREA_OFFSET)
#define MOVIE_CCD_RAW_DATA_ADDR (SDRAM_MEMORY_BASE + MOVIE_CCD_RAW_DATA_OFFSET)
#define MEM_FS_BUFFER_ADDR (SDRAM_MEMORY_BASE + MEM_FS_BUFFER_OFFSET)
#define OSD_BMP_WIN0_ADDR (SDRAM_MEMORY_BASE + OSD_BMP_WIN0_OFFSET)
#define OSD_BMP_WIN1_ADDR (SDRAM_MEMORY_BASE + OSD_BMP_WIN1_OFFSET)
#endif /* __MEM_ALLOC_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -