otgsetup.c
来自「philips公司ISP1362 USB OTG控制芯片的驱动」· C语言 代码 · 共 122 行
C
122 行
/************************************************************************
* Philips ISP1362 otg demo setup
*
* (c) 2002 Koninklijke Philips Electronics N.V., All rights reserved
*
* This source code and any compilation or derivative thereof is the
* proprietary information of Koninklijke Philips Electronics N.V.
* and is confidential in nature.
* Under no circumstances is this software to be exposed to or placed
* under an Open Source License of any type without the expressed
* written permission of Koninklijke Philips Electronics N.V.
*
* File Name: otgsetup.c
*
* History:
*
* Version Date Author Comments
* -------------------------------------------------
* 1.0 09/23/02 SYARRA Initial Creation
*
* Note: use tab space 4
************************************************************************/
#include<fcntl.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<sys/ioctl.h>
#include<errno.h>
#include "otgtool.h"
int main() {
char command[128];
int fd;
FILE *fp;
fd = open(OTG_DEV_DIR, O_RDONLY);
if(fd>0) {
close(fd);
printf("otgsetup: deleting '%s' directory\n",OTG_DEV_DIR);
sprintf(command,"rm -r -f %s\n",OTG_DEV_DIR);
system(command);
}
fd = open(LOCAL_OTG_DISK, O_RDONLY);
if(fd>0) {
close(fd);
printf("otgsetup: deleting '%s' directory\n",LOCAL_OTG_DISK);
sprintf(command,"rm -r -f %s\n",LOCAL_OTG_DISK);
system(command);
}
printf("otgsetup: creating '%s' directory\n",LOCAL_OTG_DISK);
sprintf(command,"mkdir %s\n",LOCAL_OTG_DISK);
system(command);
fd = open(RMT_OTG_DISK, O_RDONLY);
if(fd>0) {
close(fd);
printf("otgsetup: deleting '%s' directory\n",RMT_OTG_DISK);
sprintf(command,"rm -r -f %s\n",RMT_OTG_DISK);
system(command);
}
printf("otgsetup: creating '%s' directory\n",RMT_OTG_DISK);
sprintf(command,"mkdir %s\n",RMT_OTG_DISK);
system(command);
printf("otgsetup: creating '%s' directory\n",OTG_DEV_DIR);
sprintf(command,"mkdir %s\n",OTG_DEV_DIR);
system(command);
printf("otgsetup: creating otg local disk file '%s'\n",LOCAL_OTG_DEV_FILE);
sprintf(command,"dd if=/dev/zero of=%s bs=%d count=%d\n",LOCAL_OTG_DEV_FILE,BLOCK_SIZE,(LOGICAL_BLOCKS+4));
system(command);
printf("otgsetup: creating temporary data file 'tempOtgData'\n");
fp = fopen("tempOtgData","w");
fprintf(fp,"x\nh\n1\nc\n1024\ns\n%d\nr\nn\np\n1\n\n\np\nw\n",LINUX_UNIT_SIZE);
fclose(fp);
printf("otgsetup: partitioning the local otg disk\n");
sprintf(command,"/sbin/fdisk %s < tempOtgData \n",LOCAL_OTG_DEV_FILE);
system(command);
printf("otgsetup: removing temporary data file 'tempOtgData'\n");
strcpy(command,"rm -f tempOtgData\n");
system(command);
sprintf(command,"dd if=%s of=%s1 bs=%d skip=%d\n",LOCAL_OTG_DEV_FILE,LOCAL_OTG_DEV_FILE,BLOCK_SIZE,LINUX_UNIT_SIZE);
system(command);
printf("otgsetup: formatting local otg disk in 'dos' file system\n");
sprintf(command,"/sbin/mkdosfs -I %s1\n",LOCAL_OTG_DEV_FILE);
system(command);
sprintf(command,"dd if=%s1 of=%s bs=%d seek=%d\n",LOCAL_OTG_DEV_FILE,LOCAL_OTG_DEV_FILE,BLOCK_SIZE,LINUX_UNIT_SIZE);
system(command);
printf("otgsetup: Creating OTG fsm device file '%s'\n",OTG_FSM_FILE);
sprintf(command, "mknod %s c %d 0\n",OTG_FSM_FILE,USB_OTG_MAJOR);
system(command);
printf("otgsetup: Creating OTG usb device file '%s'\n","/dev/usb/otg/otgdev0");
sprintf(command, "mknod %s c %d 0\n",USBSLAVE_DEV_FILE,DEVMSCD_MAJOR);
system(command);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?