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

📄 mmccore.c

📁 基于EPSON 的一种操作系统内核改造的实时嵌入式操作系统ASIXOS,国内一家研发中心开发。精炼可靠
💻 C
字号:
/*
 * Header for MultiMediaCard (MMC)
 *
 * Copyright (c) 2004 ASIC of SOUTHEAST UNIVERSITY
 *
 * Many thanks to PESIA!
 *
 * Based strongly on code by:
 *
 * Author: Yong-iL Joh <tolkien@mizi.com>
 *
 * Date  : $Date: 2004/12/22 10:02:10 $ 
 *
 * Versation : 1.0 $
 *          
 */
#include "mmccore.h"

struct request g_Request;
struct mmc_dev          g_mmc_dev;
int mmc_nr_sects;
extern g_busy;

int  mmc_init(void) 
{
	int i;
    for(i=0;i<520;i++){
    	
    	*(U32*)(0x1fff0000 + 4*i) = 0xABCDEF;
    } 
	g_mmc_dev.suspended = 0;
	mmc_nr_sects = 64 *1024*1024/512;
	#if 0
	g_Request.cmd = 1 ;
	g_Request.sector =0;
	g_Request.block_len= 512;
	g_Request.nr_sectors=2;
	g_Request.buffer = (U32*)0x1fff0000;
	#endif
	return 0;
}

int  mmc_exit(void)
{
	mmc_nr_sects = 0;
	return 0;
}

void mmc_send_cmd( struct mmc_dev *dev, U32 cmd, U32 arg, U32 nob, U32 block_len)// jzp   
{
      
	unsigned long flags;
	unsigned long psr;
	dev->request.cmd       = cmd;
	dev->request.arg       = arg;
	dev->request.nob       = nob;
	dev->request.block_len = block_len;
	dev->request.buffer    = (U8*) 0;
	if ( nob && dev->io_request )
		dev->request.buffer = dev->io_request->buffer;
	//local_irq_save(flags);  
	psr = ent_cri();
	mmc_cmd_to_reg( &dev->request);
	ret_cri(psr);
	//local_irq_restore(flags);
	
}

int mmc_finish_io_request(  int result )
{
	g_busy = 0;
	return 0;
}

⌨️ 快捷键说明

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