| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import tempfile
- import time
- import pickle
- import pandas as pd
- import threading
- import datetime
- from imc_utils.pps_e36311a import PPS_E36311A
- from imc_utils.smu_b2902a import SMU_B2902A
- from imc_utils.build_config.cortex_m33 import BuildConfigM33
- from imc_utils.build_config.test_env import TestEnv
- from imc_utils.serial_watch import SerialWatcher
- from imc_utils.oscilloscope_dsox1204a import DSOX1204A
- import imc_utils.serial_device
- WORKSPACE_ROOT = "/home/ybkim/workspace/imc/imc_freertos_app_m33"
- NVM_RESET_BIN = f"{WORKSPACE_ROOT}/imc/utils/nvm_reset.elf"
- OPENOCD_SCRIPT = f"{WORKSPACE_ROOT}/imc_freertos_app_m33.cfg"
- def main():
- volt = 3.3
- smu = SMU_B2902A(voltage=volt)
- benchmark = "vrefint_expr"
- config = BuildConfigM33()
- config.insert_compiler_checkpoints = False
- config.enable_extension = True
- config.use_checkpoint_pass_counter = False
- config.use_checkpoint_voltage_check = False
- config.bench_infinite_loop = True
- config.print_recovery_message = False
- config.split_loop = False
- config.enable_static_loop_pass_count = False
- config.enable_adaptive_loop_pass_count = False
- config.print_stats = False
- config.custom_unroll = False
- config.loop_opt_debug = False
- config.bench_name = benchmark
- smu.set_current_limit(0.1)
- smu.power_on()
- env = TestEnv(WORKSPACE_ROOT, NVM_RESET_BIN, OPENOCD_SCRIPT)
- with tempfile.TemporaryDirectory() as build_dir:
- binary = env.build_binary(config, build_dir)
- env.clear_nvm_and_load_binary(binary, resume=True)
- smu.power_off()
- if __name__ == "__main__":
- main()
|