code: def create_test_runner(
      accel="ethos-u55-256",
      enable_usmp=True,
      enable_cascader=False,
      enable_striping=False,
      workspace_pools=None,
  ):
      file_dir = os.path.dirname(os.path.abspath(__file__))
      test_root = os.path.join(file_dir, "reference_system")
      _, ethosu_variant, ethosu_macs = accel.split("-")
      ethosu_variant = ethosu_variant.upper()
  
      prologue = """
      UartStdOutInit();
      EthosuInit();
  
      struct ethosu_driver* ethos_u = ethosu_reserve_driver();
      """
  
      if workspace_pools:
          for pool in workspace_pools.pools:
              prologue = (
                  prologue
                  + f"""
      #ifdef {_get_workspace_size_define_macro(pool.pool_name)}
      __attribute__((section(".bss.noinit.tvm"), aligned(16)))
      static uint8_t {pool.pool_name}[{_get_workspace_size_define_macro(pool.pool_name)}];
      #endif
  
              """
              )
  
      return AOTTestRunner(
          makefile="corstone300",
          prologue=prologue,
          epilogue="""
          ethosu_release_driver(ethos_u);
          """,
          includes=[
              "uart_stdout.h",
              "ethosu_55.h",
              "ethosu_mod.h",
              "hard_fault.h",
          ],
          parameters={
              "ETHOSU_TEST_ROOT": test_root,
              "NPU_MACS": ethosu_macs,
              "NPU_VARIANT": ethosu_variant,
          },
          pass_config={
              "relay.ext.ethos-u.options": {
                  "accelerator_config": accel,
                  "enable_cascader": enable_cascader,
                  "enable_striping": enable_striping,
              },
              "tir.usmp.enable": enable_usmp,
              "tir.usmp.algorithm": "hill_climb",
              "tir.disable_storage_rewrite": enable_usmp,
          },
      )
  
imports: from typing import List
  import os
  import struct
  import numpy
  import math
  from enum import IntEnum
  import tensorflow
  from ethosu.vela.register_command_stream_generator import CmdMode
  from ethosu.vela.register_command_stream_generator import cmd0
  from ethosu.vela.register_command_stream_generator import cmd1
  import tvm
  from tvm import relay
  import tvm.relay.backend.contrib.ethosu.op
  from tvm.topi.nn.utils import get_pad_tuple
  from tvm.relay.expr_functor import ExprMutator
  from tvm.relay.op.annotation import compiler_begin, compiler_end
  from tvm.relay.backend.contrib.ethosu import preprocess
  import tvm.relay.testing.tf
  from tvm import WorkspaceMemoryPools, WorkspacePoolInfo, PoolInfoProperties
  from tvm.relay.op.contrib.ethosu import partition_for_ethosu
  from tvm.testing.aot import AOTCompiledTestModel, AOTDataLinkage, AOTTestModel, AOTTestRunner, compile_models, run_and_check
label_desc: Use image node_id 5 for calling a global function with example usage: create_test_runner(accel, enable_usmp, enable_cascader, enable_striping, workspace_pools) and returns: AOTTestRunner