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

📄 mass_storage_dev_ram.c

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 C
字号:
/********************** BEGIN LICENSE BLOCK ************************************ * * JZ4740  mobile_tv  Project  V1.0.0 * INGENIC CONFIDENTIAL--NOT FOR DISTRIBUTION IN SOURCE CODE FORM * Copyright (c) Ingenic Semiconductor Co. Ltd 2005. All rights reserved. *  * This file, and the files included with this file, is distributed and made  * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER  * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS  * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.  *  * http://www.ingenic.cn  * ********************** END LICENSE BLOCK ************************************** * *  Author:  <dsqiu@ingenic.cn>  <jgao@ingenic.cn>  * *  Create:   2008-06-26, by dsqiu *             *  Maintain: 2008-06-26, by jgao *             * ******************************************************************************* */ #if RAM_UDC_DISK#include <mass_storage.h>#include "function.h"#define BLOCKNUM	16384*7#define SECTSIZE	512static UDC_LUN udcLun;static unsigned int disk_emu[BLOCKNUM * SECTSIZE / 4];static unsigned char *disk = 0;static unsigned int init_dev(unsigned int handle){	printf("Ram Disk Mount\r\n");	disk = (unsigned char *)((unsigned int)disk_emu | 0xa0000000);}static unsigned int read_dev_sector(unsigned int handle,unsigned char *buf,unsigned int startsect,unsigned int sectcount){//	printf("read dev = ia:%x,oa:%x s:%d c:%d\r\n",buf,disk,startsect,sectcount);		memcpy(buf,(void *)(disk + startsect * SECTSIZE),sectcount*SECTSIZE);	return 1;	}static unsigned int write_dev_sector(unsigned int handle,unsigned char *buf,unsigned int startsect,unsigned int sectcount){	memcpy((void *)(disk + startsect * SECTSIZE),buf,sectcount*SECTSIZE);	return 1;	}static unsigned int check_dev_state(unsigned int handle){	return 1;}static unsigned int get_dev_info(unsigned int handle,PDEVINFO pinfo){	pinfo->hiddennum = 0;	pinfo->headnum = 2;	pinfo->sectnum = 4;	pinfo->partsize = BLOCKNUM;	pinfo->sectorsize = 512;}static unsigned int deinit_dev(unsigned handle){	disk = 0;}void init_udc_ram(){//	printf("init_udc_ram\r\n");		Init_Mass_Storage();	udcLun.InitDev = init_dev;	udcLun.ReadDevSector = read_dev_sector;	udcLun.WriteDevSector = write_dev_sector;	udcLun.CheckDevState = check_dev_state;	udcLun.GetDevInfo = get_dev_info;	udcLun.DeinitDev = deinit_dev;	udcLun.DevName = (unsigned int)'RAM1';	if(RegisterDev(&udcLun))		printf("UDC Register Fail!!!\r\n");	//printf("init_udc_ram finish = %08x\r\n",&udcLun);	}#endif

⌨️ 快捷键说明

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