def handle_xds110(args): """Helper function for handling 'xds110' command""" session_args = get_session_args(args) if args.cmd == 'xds110-reset': try: result = tiflash.xds110_reset(**session_args) print(result) except Exception as e: __exit_with_error(e) elif args.cmd == 'xds110-list': try: result = tiflash.xds110_list(**session_args) header = "XDS110 Devices:" print(header) print('-' * len(header)) for dev in result: print("%s (%s)" % (dev[0], dev[1])) except Exception as e: __exit_with_error(e) elif args.cmd == 'xds110-upgrade': try: result = tiflash.xds110_upgrade(**session_args) print(result) except Exception as e: __exit_with_error(e)
def handle_flash(args): """Helper function for handling 'flash' command""" session_args = get_session_args(args) images = list() options = dict() for img in args.images: images.append(img) if args.options: for opt in args.options: option_id = opt[0] option_value = opt[1] options.update({option_id: option_value}) if len(options) == 0: options = None # TODO: Add multi image flashing try: result = tiflash.flash(images[0], binary=args.bin, options=options, address=args.address, **session_args) print(result) except Exception as e: __exit_with_error(e)
def handle_options(args): """Helper function for handling 'option' command""" session_args = get_session_args(args) # Get Option if args.cmd == 'options-get': try: value = tiflash.get_option(args.optionID, pre_operation=args.operation, **session_args) print(value) except Exception as e: __exit_with_error(e) # Set Option elif args.cmd == 'options-set': try: tiflash.set_option(args.optionID, args.optionVal, post_operation=args.operation, **session_args) except Exception as e: __exit_with_error(e) # Display Option Information elif args.cmd == 'options-list': options = tiflash.list_options(option_id=args.optionID, **session_args) header = "Options (%s):" % args.optionID if args.optionID else "Options:" print(header) print("-" * len(header)) __print_options(options)
def handle_attach(args): """Helper function for handling 'attach' command""" session_args = get_session_args(args) try: result = tiflash.attach(**session_args) except Exception as e: __exit_with_error(e)
def handle_info(args): """Helper function for handling 'info' command""" session_args = get_session_args(args) info_dict = tiflash.get_info(**session_args) ordered_keys = ['tiflash version', 'release date', 'python version', 'ccs version', 'ccs prefix', 'ccs location', 'device drivers'] for k in ordered_keys: print("{key:<20}{val}".format(key=(k+':'), val=info_dict[k]))
def handle_expression(args): """Helper function for handling 'expression' command""" session_args = get_session_args(args) try: result = tiflash.evaluate(args.expression, symbol_file=args.symbols, **session_args) print(result) except Exception as e: __exit_with_error(e)
def handle_detect(args): """Helper function for handling 'detect' command""" session_args = get_session_args(args) try: result = tiflash.detect_devices(**session_args) header = "Detected Devices:" print(header) print('-' * len(header)) for i, dev in enumerate(result): print("Connection:\t%s" % dev['connection']) print("Devicetype:\t%s" % (dev['devicetype'] or "N/A")) print("Serno:\t\t%s\n" % (dev['serno'] or "N/A")) except Exception as e: __exit_with_error(e)
def handle_list(args): """Helper function for handling 'list' command""" results = [] session_args = get_session_args(args) if args.devicetypes: results = tiflash.get_devicetypes(args.ccs, search=args.search) elif args.connections: results = tiflash.get_connections(args.ccs, search=args.search) elif args.cpus: results = tiflash.get_cpus(args.ccs, search=args.search) elif args.options: # tiflash.print_options(**session_args) results = tiflash.list_options(**session_args) for e in results: print(e)
def handle_register(args): """Helper function for handling 'register' command""" session_args = get_session_args(args) if args.cmd == 'register-read': try: result = tiflash.register_read(args.regname, **session_args) if args.hex: result = hex(result) print(result) except Exception as e: __exit_with_error(e) elif args.cmd == 'register-write': try: result = tiflash.register_write(args.regname, args.value, **session_args) except Exception as e: __exit_with_error(e)
def handle_memory(args): """Helper function for handling 'memory' command""" session_args = get_session_args(args) if args.cmd == 'memory-read': try: result = tiflash.memory_read(args.address, args.num_bytes, args.page, **session_args) if args.hex: result = [ hex(h) for h in result ] print(result) except Exception as e: __exit_with_error(e) elif args.cmd == 'memory-write': try: result = tiflash.memory_write(args.address, args.data, args.page, **session_args) except Exception as e: __exit_with_error(e)
def handle_erase(args): """Helper function for handling 'erase' command""" session_args = get_session_args(args) options = dict() if args.options: for opt in args.options: option_id = opt[0] option_value = opt[1] options.update({option_id: option_value}) if len(options) == 0: options = None try: result = tiflash.erase(options=options, **session_args) print(result) except Exception as e: __exit_with_error(e)
def handle_verify(args): """Helper function for handling 'verify' command""" session_args = get_session_args(args) options = dict() if args.options: for opt in args.options: option_id = opt[0] option_value = opt[1] options.update({option_id: option_value}) if len(options) == 0: options = None # TODO: Add multi image verifying try: result = tiflash.verify(args.image[0], options=options, binary=args.bin, **session_args) print(result) except Exception as e: __exit_with_error(e)