From f435f7116a5de30a2efad98b107ffb6b0e394c2b Mon Sep 17 00:00:00 2001 From: "goprife@gmail.com" Date: Thu, 5 Apr 2012 03:39:47 +0000 Subject: update uffs from official repo(fixed bugs and support mount/unmount one partition" git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2018 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- .../uffs/src/example/flash-interface-example.c | 28 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'components/dfs/filesystems/uffs/src/example/flash-interface-example.c') diff --git a/components/dfs/filesystems/uffs/src/example/flash-interface-example.c b/components/dfs/filesystems/uffs/src/example/flash-interface-example.c index 36734e701c..248dea1710 100644 --- a/components/dfs/filesystems/uffs/src/example/flash-interface-example.c +++ b/components/dfs/filesystems/uffs/src/example/flash-interface-example.c @@ -387,8 +387,30 @@ static int my_init_filesystem(void) uffs_RegisterMountTable(mtbl); mtbl++; } - - return uffs_InitMountTable() == U_SUCC ? 0 : -1; + + // mount partitions + for (mtbl = &(demo_mount_table[0]); mtbl->mount != NULL; mtbl++) { + uffs_Mount(mtbl->mount); + } + + return uffs_InitFileSystemObjects() == U_SUCC ? 0 : -1; +} + +static int my_release_filesystem(void) +{ + uffs_MountTable *mtb; + int ret = 0; + + // unmount parttions + for (mtb = &(demo_mount_table[0]); ret == 0 && mtb->mount != NULL; mtb++) { + ret = uffs_UnMount(mtb->mount); + } + + // release objects + if (ret == 0) + ret = (uffs_ReleaseFileSystemObjects() == U_SUCC ? 0 : -1); + + return ret; } /* application entry */ @@ -401,7 +423,7 @@ int main() // ... my application codes .... // read/write/create/delete files ... - uffs_ReleaseMountTable(); + my_release_filesystem(); return 0; } -- cgit v1.3.1