Alex March
8 years ago
committed by
Damien George
2 changed files with 65 additions and 0 deletions
@ -0,0 +1,61 @@ |
|||||
|
import sys |
||||
|
import uos |
||||
|
import uerrno |
||||
|
try: |
||||
|
uos.VfsFat |
||||
|
except AttributeError: |
||||
|
print("SKIP") |
||||
|
sys.exit() |
||||
|
|
||||
|
class RAMFS_OLD: |
||||
|
|
||||
|
SEC_SIZE = 512 |
||||
|
|
||||
|
def __init__(self, blocks): |
||||
|
self.data = bytearray(blocks * self.SEC_SIZE) |
||||
|
|
||||
|
def readblocks(self, n, buf): |
||||
|
#print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf))) |
||||
|
for i in range(len(buf)): |
||||
|
buf[i] = self.data[n * self.SEC_SIZE + i] |
||||
|
|
||||
|
def writeblocks(self, n, buf): |
||||
|
#print("writeblocks(%s, %x)" % (n, id(buf))) |
||||
|
for i in range(len(buf)): |
||||
|
self.data[n * self.SEC_SIZE + i] = buf[i] |
||||
|
|
||||
|
def sync(self): |
||||
|
pass |
||||
|
|
||||
|
def count(self): |
||||
|
return len(self.data) // self.SEC_SIZE |
||||
|
|
||||
|
|
||||
|
try: |
||||
|
bdev = RAMFS_OLD(48) |
||||
|
except MemoryError: |
||||
|
print("SKIP") |
||||
|
sys.exit() |
||||
|
|
||||
|
uos.vfs_mkfs(bdev, "/ramdisk") |
||||
|
uos.vfs_mount(bdev, "/ramdisk") |
||||
|
|
||||
|
# file io |
||||
|
vfs = uos.VfsFat(bdev, "/ramdisk") |
||||
|
with vfs.open("file.txt", "w") as f: |
||||
|
f.write("hello!") |
||||
|
|
||||
|
print(vfs.listdir()) |
||||
|
|
||||
|
with vfs.open("file.txt", "r") as f: |
||||
|
print(f.read()) |
||||
|
|
||||
|
vfs.remove("file.txt") |
||||
|
print(vfs.listdir()) |
||||
|
|
||||
|
# umount by device |
||||
|
uos.vfs_umount(bdev) |
||||
|
try: |
||||
|
vfs.listdir() |
||||
|
except OSError as e: |
||||
|
print(e.args[0] == uerrno.ENODEV) |
@ -0,0 +1,4 @@ |
|||||
|
['file.txt'] |
||||
|
hello! |
||||
|
[] |
||||
|
True |
Loading…
Reference in new issue