winIDEA SDK
test_storage_emmc_modify.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import isystem.connect as ic
6
7
8winidea_id = ''
9
10
11def test_modify():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 devName = "eMMCtest"
16 partitionName = "Boot1"
17 partitionSize = 8
18
19 storageCtrl = ic.CStorageDeviceFactory.makeDevice(connMgr, ic.EStorageDevice_EMMCDevice, devName, partitionName)
20
21 isBootable = storageCtrl.getPartitionConfigurationModule().getPartitionInfo().isBootable()
22 print(f"Currently partition {partitionName} is 'bootable': {isBootable}")
23
24 try:
25 print(f"Modifying partition {partitionName} to 'bootable' mode: {not isBootable}")
26 storageCtrl.getPartitionConfigurationModule().modify(0x0,partitionSize,not isBootable)
27 finally:
28 print(f"Restoring original partition {partitionName} 'bootable' setting: {isBootable}")
29 storageCtrl.getPartitionConfigurationModule().modify(0x0, partitionSize, isBootable)
30
31 ic.CStorageDeviceFactory.terminateDevice(connMgr, ic.EStorageDevice_EMMCDevice, devName)
32
33
34if __name__ == "__main__":
35 test_modify()