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

📄 jpeg_mjpeg_cplb_tables.c

📁 这个是balckfin533/561的MPEG和Mjpeg的源代码
💻 C
字号:
/*****************************************************************************
Copyright(c) 2005 Analog Devices, Inc.  All Rights Reserved. This software is 
proprietary and confidential to Analog Devices, Inc. and its licensors.
******************************************************************************

$RCSfile: jpeg_mjpeg_cplb_tables.c,v $
$Revision: 1.2 $
$Date: 2006/11/10 07:18:59 $

Project:	BlackfinSDK (JPEG-MJPEG)
Title:		cplb_tables
Author(s):	dwu
Revised by: bmk

Description:
			User defined CPLB tables for BF533 & BF561 (caching purpose)

References:
			None

******************************************************************************
Tab Setting:			4

Target Processor:		ADSP-BF5xx
Target Tools Revision:	ADSP VisualDSP++ v4.5
******************************************************************************

Modification History:
====================
$Log: jpeg_mjpeg_cplb_tables.c,v $
Revision 1.2  2006/11/10 07:18:59  bmk
merged BF533 & BF561 apps
Fixed BF561 cache issue

Revision 1.1  2006/11/03 07:12:13  bmk
SDK 2.0  files - Initial Entry

*****************************************************************************/

#include <jpeg_mjpeg_cplb_tables.h>
#include <cplb.h>

/***********************
CPLB Tables for BF533
***********************/
#if defined(__ADSPBF533__)

// CPLB Data Table
int codec_dcplbs_table[16][2] =	{
	// L1 DATA
	{ 0xFF800000,	(PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) },	// L1 Data A
	{ 0xFF900000,	(PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) },	// L1 Data B
	
	// SDRAM bank 0
	{ 0x00000000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE) },	// Standard Heap (index 0) NON Cached
	{ 0x00400000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE) },	// Slow Heap (index 1) NON Cached

	// SDRAM bank 1
	{ 0x00800000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE) },	// Cached Data Memory (YUV Buffers)
	{ 0x00C00000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE) },	// NON Cached Data Memory
	
	// SDRAM bank 2
	{ 0x01000000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE) },	// Video Buffer 1 (ITU-656 Frame 0)
	{ 0x01400000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE) },	// Cached Data Memory

	// SDRAM bank 3
	{ 0x01800000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE) },	// Video Buffer 2 (ITU-656 Frame 1)
	{ 0x01C00000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE) },	// Cached Data Memory

	// ASYNC MEMORY
	{ 0x20000000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE) },	// Async Memory Bank 0 (Prim A)
	{ 0x20100000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE) },	// Async Memory Bank 1 (Prim B)
	{ 0x20200000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE) },	// Async Memory Bank 2 (Secnd)
	{ 0x20300000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE) },	// Async Memory Bank 3

	// other SDRAM .... not populated on EZ-kit ... dummy entries
	{ 0x02000000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE) },	// 
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE) }	//
};

// CPLB Instruction Table
int codec_icplbs_table[16][2] =	{
	// L1 CODE
	{ 0xFFA00000,	(PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT)	 },	// L1 Code
	
	// SDRAM bank 0
	{ 0x00000000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// dummy non cached instruction memory (keep free for data heap)
	{ 0x00400000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// dummy non cached instruction memory (keep free for data heap)

	// SDRAM bank 1
	{ 0x00800000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x00C00000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// NON Cached Instruction Memory
	
	// SDRAM bank 2
	{ 0x01000000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x01400000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory

	// SDRAM bank 3
	{ 0x01800000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x01C00000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory

	// ASYNC MEMORY
	{ 0x20000000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 0 (Prim A)
	{ 0x20100000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 1 (Prim B)
	{ 0x20200000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 2 (Second)
	{ 0x20300000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 3

	// other SDRAM .... not populated on EZ-kit ... dummy entries
	{ 0x02000000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// 
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// 
	{ 0x02800000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) }	//
};

/***************************
CPLB data Tables for BF561
****************************/
#elif defined(__ADSPBF561__)

// CPLB Data Table
#define BIT9 (0x0200)			// workaround for anomaly 05000159/161
int codec_dcplbs_table[16][2] =	{
	// L1 DATA
	{ 0xFF800000,	(PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT | BIT9) },	// L1 Data A
	{ 0xFF900000,	(PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT | BIT9) },	// L1 Data B

	// L2 memory
	{ 0xFEB00000,	(PAGE_SIZE_1MB | CPLB_DDOCACHE | BIT9) },	// 
			
	// SDRAM bank 0
	{ 0x00000000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE | BIT9) },	// Standard Heap (index 0) NON Cached
	{ 0x00400000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE | BIT9) },	// Slow Heap (index 1) NON Cached

	// SDRAM bank 1
	{ 0x01000000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE | BIT9) },	// Cached Data Memory (YUV buffers)
	{ 0x01400000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE | BIT9) },	// NON cached data memory
	
	// SDRAM bank 2
	{ 0x02000000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE | BIT9) },	// Video Buffer 1 (ITU-656 Frame 0)
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE | BIT9) },	// Cached Data Memory

	// SDRAM bank 3
	{ 0x03000000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE | BIT9) },	// Video Buffer 2 (ITU-656 Frame 1)
	{ 0x03400000,	(PAGE_SIZE_4MB | CPLB_DDOCACHE | BIT9) },	// Cached Data Memory

	// ASYNC MEMORY
	{ 0x20000000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE | BIT9) },	// Async Memory Bank 0 (Prim A)
	{ 0x24000000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE | BIT9) },	// Async Memory Bank 1 (Prim B)
	{ 0x28000000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE | BIT9) },	// Async Memory Bank 2 (Secnd)
	{ 0x2C000000,	(PAGE_SIZE_1MB | CPLB_DNOCACHE | BIT9) },	// Async Memory Bank 3

	// other SDRAM .... . dummy entries
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_DNOCACHE | BIT9) }	//
};

// CPLB Instruction Table
int codec_icplbs_table[16][2] =	{
	// L1 CODE
	{ 0xFFA00000,	(PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT)	 },	// L1 Code

	// L2 memory
	{ 0xFEB00000,	(PAGE_SIZE_1MB | CPLB_IDOCACHE) },	// 
			
	// SDRAM bank 0
	{ 0x00000000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// dummy non cached instruction memory (keep free for data heap)
	{ 0x00400000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// dummy non cached instruction memory (keep free for data heap)

	// SDRAM bank 1
	{ 0x01000000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x01400000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// NON Cached Instruction Memory
	
	// SDRAM bank 2
	{ 0x02000000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory

	// SDRAM bank 3
	{ 0x03000000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory
	{ 0x03400000,	(PAGE_SIZE_4MB | CPLB_IDOCACHE) },	// Cached Instruction Memory

	// ASYNC MEMORY
	{ 0x20000000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 0 (Prim A)
	{ 0x24000000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 1 (Prim B)
	{ 0x28000000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 2 (Second)
	{ 0x2C000000,	(PAGE_SIZE_1MB | CPLB_INOCACHE) },	// Async Memory Bank 3
	
	// other SDRAM .... . dummy entries
	{ 0x02400000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) },	// 
	{ 0x02800000,	(PAGE_SIZE_4MB | CPLB_INOCACHE) }	//
};

#endif

/*****/


⌨️ 快捷键说明

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