SPRUIG3C January 2018 – August 2019 TDA4VM , TDA4VM-Q1
VCOP kernels consist of one or more vloop “commands”, each of which is expressed as a loop nest having up to 4 levels. The loops are controlled by a hardware looping mechanism. Logically, each loop is specified as a simple counter (loop control variable, or LCV) that starts at 0 and counts up by one. Trip counts are guaranteed to be loop invariant, although there is an early exit mechanism, discussed in Section 3.6. Each loop level is guaranteed to execute at least once. Trip counts are specified in the parameter block as 16-bit unsigned values, so the maximum number of iterations is 216 or 65536.
For C7x, the migration tool simply generates loops using
for
expressions, just as they appear in the Kernel-C source, right down to using the same names for the LCVs. The migration tool adds
must_iterate
pragmas to indicate the built-in constraints on the trip counts.