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

📄 dspsys.c

📁 以TI 公司的OMAP5910为例
💻 C
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    dspsys.c
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      DSP System
// DESCRIPTION: DSP system operations.
// TARGET CPU:  DSP-C55xx of OMAP5910
// VERSION:     1.0
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-10-14   1.0     Eyoka   First release.
//////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include "dspsys.h"
#include "armdsp.h"


/////////////////////////////////////////////////////////////////////
// FUNCTIONS
/////////////////////////////////////////////////////////////////////

extern void ISR_Mailbox1(void);

//___________________________________________________________________
// Function: SYS_Init
// Usage: DSP System Initialization.
// Parameters:
//    N/A
// Return Values:
//    N/A
//___________________________________________________________________
//
void SYS_Init(void)
{
	WDG_Disable();

	// initialize interrupt
	INT_GlobalDisable();
	INT_DisableAll();
	INT_IVT_Move(0x010000, 0x010000);
	INT_IVT_Insert(INT_EVT_MAILBOX1, (DWORD) &ISR_Mailbox1);
	INT_Enable(INT_EVT_MAILBOX1);
	INT_GlobalEnable();

	// modify DMA global register
	DMA_GCR = 0x0008;
	DMA_GSCR = 0x0001;
	DMA_GTCR = 0x0000;
}

//___________________________________________________________________
// Function: EMU_WriteFile
// Usage: Write memory to PC via Emulator's cable.
// Parameters:
//    szFileName	- filename
//    data			- source data
//    size			- size in WORD address
// Return Values:
//    N/A
//___________________________________________________________________
//
void EMU_WriteFile(PCSTR szFileName, WORD *data, DWORD size)
{
	FILE *fpOut;
	DWORD i;
	WORD byteBuf[4];
	DWORD temp;

	fpOut = fopen(szFileName, "wb");
	for (i=0; i<size; i+=2)
	{
		temp = *((DWORD*)&data[i]);
		byteBuf[3] = temp & 0xFF;
		byteBuf[2] = (temp>>8) & 0xFF;
		byteBuf[1] = (temp>>16) & 0xFF;
		byteBuf[0] = (temp>>24) & 0xFF;
		fwrite(byteBuf, 1, 4, fpOut);
	}

	fclose(fpOut);
}



// the end
//////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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