Я хочу, чтобы один и тот же набор команд выполнялся из другой области памяти.Используя файл атрибута и компоновщика, я могу указать раздел адреса / памяти, в котором должно находиться определение функции:
void TaskFxn_0(UArg a0, UArg a1) __attribute__((section(".task_0")));
Одно решение для перебора - иметь несколько копий одной и той же функции и помещать их в разныерасположение в памяти:
void TaskFxn_0(UArg a0, UArg a1) __attribute__((section(".task_0")));
void TaskFxn_1(UArg a0, UArg a1) __attribute__((section(".task_1")));
void TaskFxn_2(UArg a0, UArg a1) __attribute__((section(".task_2")));
void TaskFxn_3(UArg a0, UArg a1) __attribute__((section(".task_3")));
void TaskFxn_4(UArg a0, UArg a1) __attribute__((section(".task_4")));
void TaskFxn_5(UArg a0, UArg a1) __attribute__((section(".task_5")));
Но в этом случае мне нужно иметь несколько копий одного и того же определения функции, и внесение изменений в одну из них потребует, чтобы я изменил все из них, чтобы код выглядел уродливо.
Есть ли лучший способ сделать это?