📄 dspsys.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 + -