Hi Everyone (especially fellow uTVM fans)
I’ve been looking at micro.device.arm.*, micro.Session and related code like openocd_low_level_device.cc in src/runtime/micro.
At first blush I feel like we should be looking at other means to drive a session besides perhaps OpenOCD especially when I see code like: python/tvm/micro/device/arm/stm32f746xx.py
BASE_ADDR = 0x20000000
AVAILABLE_MEM = 320000
DEFAULT_SECTION_CONSTRAINTS = {
"text": (18000, MemConstraint.ABSOLUTE_BYTES),
"rodata": (100, MemConstraint.ABSOLUTE_BYTES),
"data": (100, MemConstraint.ABSOLUTE_BYTES),
"bss": (600, MemConstraint.ABSOLUTE_BYTES),
"args": (4096, MemConstraint.ABSOLUTE_BYTES),
"heap": (100.0, MemConstraint.WEIGHT),
"workspace": (64000, MemConstraint.ABSOLUTE_BYTES),
"stack": (32, MemConstraint.ABSOLUTE_BYTES),
}
Shouldn’t OpenOCD, or pyOCD be the ultimate holder of board specific data instead of having to result in hard coded python that is specific to a Microcontroller board? I’d like to think those projects generally have this board info. A future filled with many different files for some population of boards being kept and maintained in TVM doesn’t seem like a good idea.
Any one else thinking about this?