winIDEA SDK
Loading...
Searching...
No Matches
test_storage_emmc_read_write.py
# This script is licensed under BSD License, see file LICENSE.txt, or search for `License` in the SDK online help.
#
# (c) TASKING Germany GmbH, 2023
import os
import isystem.connect as ic
winidea_id = ''
def test_readWrite():
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
devName = "eMMCtest"
partitionName = "Boot1"
storageCtrl = ic.CStorageDeviceFactory.makeDevice(connMgr, ic.EStorageDevice_EMMCDevice, devName, partitionName)
print(f"Writing 8 bytes to partition {partitionName}...")
wData = ic.VectorBYTE(32)
# dummy data, values from 0 to 31
for index in range(32):
wData[index] = index
storageCtrl.write(ic.IConnectUMI.wProgDevice, 0x0, 8, wData)
ic.CStorageDeviceFactory.terminateDevice(connMgr, ic.EStorageDevice_EMMCDevice, devName)
# OR
filePath = os.path.join(os.getcwd(), "data.bin")
print(f"Alternatively, write data from file: {filePath}")
try:
with open(filePath, "w+b") as fHandler:
fHandler.write(bytes("0123456789876543210", "utf-8"))
storageCtrl.write(ic.IConnectUMI.wProgDevice, ic.IConnectUMI.wFileFormatAuto, 0x0, filePath)
finally:
os.remove(filePath) # file cleanup
ic.CStorageDeviceFactory.terminateDevice(connMgr, ic.EStorageDevice_EMMCDevice, devName)
if __name__ == "__main__":
test_readWrite()