STATUS usrRamDiskInit () { BLK_DEV *pBlkDev; DOS_VOL_DESC *pVolDesc; /* create a ram disk */ pBlkDev=ramDevCreate(0, 512, 400, 200000, 0); if(pBlkDev==NULL){ printf("ran disk create error!!\n"); printErrno(); return ERROR; } /* Create Ram Disk Device */ /*if(dosFsDevCreate("/ram0", pBlkDev, 4, NULL)==NULL){ printf("create ramdisk error!!!\n"); printErrno(); return ERROR; }*/ /* Format dosFs */ /*if(dosFsVolFormat(pBlkDev, DOS_OPT_BLANK | DOS_OPT_QUIET | DOS_OPT_FAT32, NULL)==NULL){ printf("Format dosFs error!!!\n"); printErrno(); return ERROR; }*/ pVolDesc=dosFsMkfs("/ram0",pBlkDev); return OK; }
STATUS flashFsLibInit(void) { int bootSize; /* * We are considered initialized once flashDosVolDesc is non-NULL. */ if (flashDosVolDesc) { return OK; } if (flashDrvLibInit() == ERROR) { printf("flashFsLibInit(): flashDrvLibInit() failed\n"); return (ERROR); } /* * Determine where our file system starts */ if (flashFsFindBootPartition(&bootSize) == OK) { flashBootSize = bootSize; } printf("Flash boot partition size = %d KB\n", flashBootSize / 1024); /* * Set up BLK DEV structure */ flashBlkDev.bd_blkRd = flashFsBlkRead; flashBlkDev.bd_blkWrt = flashFsBlkWrite; flashBlkDev.bd_ioctl = flashFsIoctl; flashBlkDev.bd_reset = NULL; flashBlkDev.bd_statusChk = NULL; flashBlkDev.bd_removable = FALSE; flashBlkDev.bd_nBlocks = FLASH_FS_SIZE_BLOCKS; flashBlkDev.bd_bytesPerBlk = FLASH_FS_BLOCK_SIZE; flashBlkDev.bd_blksPerTrack = 1; flashBlkDev.bd_nHeads = 1; flashBlkDev.bd_retry = 1; flashBlkDev.bd_mode = O_RDWR; flashBlkDev.bd_readyChanged = FALSE; if (flashFsVerbose) { printf("flashFsLibInit: Initializing..."); } if (!flashDosFormat) { #define DOS_OPT_DYNAMIC (DOS_OPT_CHANGENOWARN | DOS_OPT_AUTOSYNC) if (dosFsDevInitOptionsSet (DOS_OPT_DYNAMIC) != OK) { printf("flashFsLibInit: dosFsDevInitOptionsSet failed\n"); return (ERROR); } flashDosVolDesc = dosFsDevInit(FLASH_FS_NAME, &flashBlkDev, NULL); } if (flashDosVolDesc == NULL) { if (flashFsVerbose) { printf("\nflashFsLibInit: first time initialization...\n"); } if (dosFsMkfsOptionsSet(DOS_OPT_LONGNAMES) == ERROR) { printf("flashFsLibInit: dosFsMkfsOptionsSet failed\n"); } flashDosVolDesc = dosFsMkfs(FLASH_FS_NAME, &flashBlkDev); if (flashDosVolDesc == NULL) { printf("flashFsLibInit (first init): dosFsMkfs failed!"); printf("(0x%x)\n", errno); return ERROR; } else { if (flashFsVerbose) { printf("done\n"); } } } if (flashFsVerbose) { printf("done\n"); } flashFsSync(); return OK; }