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

📄 mc68230.c

📁 motorola自己开发的针对coldfire 5272的Dbug bootloader程序
💻 C
字号:
/*
 * File:		mc68230.c
 * Purpose:		Device driver for the Parallel Interface/Timer.
 *
 * Notes:
 *
 * Author:		Eric DeVolder
 * Date:		
 *
 * Modifications:
 *
 */


#include "mc68230p.h"

void
mc68230_init (MC68230 *mc68230)
{
	MC68230_WR_PGCR(mc68230,0);
	/* mc68230->PGCR = 0; */
}


void
mc68230_timer_init (MC68230 *mc68230, int preload, int clock, int vector)
{
	uint8 b;

	b = (preload & 0x00FF0000) >> 16;
	MC68230_WR_CPRH(mc68230,b);
	/* mc68230->CPRH = b; */
	b = (preload & 0x0000FF00) >> 8;
	MC68230_WR_CPRM(mc68230,b);
	/* mc68230->CPRM = b; */
	b = (preload & 0x000000FF);
	MC68230_WR_CPRL(mc68230,b);
	/* mc68230->CPRL = b; */

	MC68230_WR_TCR(mc68230,clock);
	/* mc68230->TCR = clock; */
	MC68230_WR_TIVR(mc68230,vector);
	/* mc68230->TIVR = vector; */
}

void
mc68230_timer_start (MC68230 *mc68230)
{
	uint8 tcr;

	tcr = MC68230_RD_TCR(mc68230);
	/* tcr = mc68230->TCR; */
	tcr = tcr | 0x01;
	MC68230_WR_TCR(mc68230,tcr);
	/* mc68230->TCR = tcr; */
}

void
mc68230_timer_stop (MC68230 *mc68230)
{
	register uint8 tcr;

	tcr = MC68230_RD_TCR(mc68230);
	/* tcr = mc68230->TCR; */
	tcr = tcr & 0xFE;
	MC68230_WR_TCR(mc68230,tcr);
	/* mc68230->TCR = tcr; */
}

int
mc68230_timer_read (MC68230 *mc68230)
{
	uint8 tcr;
	int crh, crm, crl;
	int rvalue;

	/* Stop the timer */
	tcr = MC68230_RD_TCR(mc68230);
	/* tcr = mc68230->TCR; */
	tcr = tcr & 0xFE;
	MC68230_WR_TCR(mc68230,tcr);
	/* mc68230->TCR = tcr; */

	crh = MC68230_RD_CRH(mc68230) << 16;
	crm = MC68230_RD_CRM(mc68230) <<  8;
	crl = MC68230_RD_CRL(mc68230);
	/* crh = mc68230->CRH << 16; */
	/* crm = mc68230->CRM <<  8; */
	/* crl = mc68230->CRL; */

	rvalue = crh | crm | crl;

	/* start the timer again */
	tcr = tcr | 0x01;
	MC68230_WR_TCR(mc68230,tcr);
	/* mc68230->TCR = tcr; */

	return rvalue;
}

void
mc68230_timer_wait (MC68230 *mc68230)
{
	while (!MC68230_RD_TSR(mc68230))
	/* while (!mc68230->TSR) */
		;
	MC68230_WR_TSR(mc68230,0x01);
	/* mc68230->TSR = 0x01; */
}

⌨️ 快捷键说明

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