TDA4VH-Q1: Fast iteration workflow for custom C7x TIOVX kernel

Part Number: TDA4VH-Q1

We are developing and optimizing a custom kernel. The kernel is VXLIB-based (built against VXLIB) and wrapped as a vx_node — registered as a TIOVX target kernel that runs on the C7x/MMA DSP and is invoked from a TIOVX graph on the A72. We are iterating on this loop:
edit kernel code → unit test → deploy to device → benchmark on target → repeat.

Today each iteration rebuilds the entire SDK, reflashes firmware, and reboots before we can benchmark. This turnaround dominates our optimization cycle. The only thing changing between iterations is the C7x target-kernel object code; the rest of the firmware and the Linux host are unchanged.

We want to achieve The fastest possible fully-automated (command-line only) inner loop, ideally: rebuild only the object/library containing the custom C7x kernel, copy a single artifact to the running target over the network, and reload just the C7x firmware (or just the kernel code) — without a full SDK build, full flash, or in the best case without a full reboot.

Questions:

  1. Kernel only reload. Is there any supported mechanism to reload just the custom kernel object (dynamic load into the C7x) rather than the whole C7x firmware image? If not, is per-core firmware reload the recommended granularity?

  2. Incremental deploy. On a running Linux system, can we stop the C7x, replace only its firmware image, and restart that core? What is the supported command sequence, and what state must be torn down/re-initialized on the A72 side (TIOVX graph, IPC, memory) for this to be safe?
  3. Host emulation. Can we use the C7x emulation/host-emulation (PC/x86) build to estimate custom kernel performance on a developer workstation without deploying to the device? Specifically: does host emulation model C7x cycle counts / MMA throughput accurately enough to guide optimization (e.g. relative comparisons between kernel variants), or is it functional-only? If there is a cycle-accurate simulator or profiling model for the C7x/MMA, which tool do you recommend, how do we run our vx_node kernel under it from the command line, and how well do its numbers correlate with on-target measurements?

  4. Reference workflow. Is there a documented "developer inner-loop" for custom C7x kernels (build-one-core + remoteproc reload + measure, and/or host emulation) that you'd recommend, or a known-good example we should model our automation on?