Skip to content

[Benchmark] [ARM] Create Benchmark for Export_Arm_Cortexm.

The goal is to integrate complete benchmark support for the ARM Cortex-M (STM32) target, starting from the global benchmark script in aidge_core, using the aidge_export_arm_cortexm module.

This benchmark should:

  • Use a model generated dynamically (from aidge_core/benchmark.py)
  • Compile the embedded project for STM32
  • Automatically flash the generated binary (aidge_stm32.elf) onto the board
  • Retrieve the output via UART into a .txt file

Completed tasks:

  • Created a flash/ directory containing :
    • Python script (flash_export.py) to flash the board and capture UART logs
    • board_config.json file to configure the board parameters (serial port, baudrate, timeout)
  • Created the benchmark.py script in aidge_export_arm_cortexm, which generates, Handled by @wboussela, the merge request .
    • the print_output.hpp file included in main.c
    • the main function for STM32 via generate_call_function_arm_cortex_m()

TO DO

  • Integrated a compute_output(...) function in the ARM module’s benchmark.py
  • Run a full end-to-end test from aidge_core/benchmark.py using
  • Add function time measurement in compute_output()
Edited by Racim Boumbar