evidence/erika3

Syntax error in generated ee_applcfg.c

Closed this issue · 4 comments

Greetings to all Erika developers :-) I'm not sure whether Erika is still supported or not, but I at least try.

We're experimenting with TriCore support. When conf.oil contains CPU_DATA for multiple CPUs but some CPUs don't have any TASK or COUNTER assigned to them, then the generated ee_applcfg.c cannot be compiled.

The problematic part in ee_applcfg.c is:

static CONSTP2VAR(OsEE_TDB, OS_CONST, OS_APPL_DATA)
  osEE_tdb_ptr_array[OSEE_TASK_ARRAY_SIZE + OsNumberOfCores] =
{
  &osEE_tdb_array_core0[0U],
  &osEE_tdb_array_core0[1U],
  &osEE_tdb_array_core0[2U],
,
,
  &osEE_tdb_array_core0[3U],
  &osEE_tdb_array_core1[0U],
  &osEE_tdb_array_core2[0U]
};

The syntax error is reported at the location of two commas.

The problem can be reproduced with this conf.oil.

If some tasks are assigned to CPUs 1 and 2, the code can be compiled successfully.

cc @Darth-Bujar

Hi Michal,

this version of Erika will be resumed, ask Paolo for details, I don't know if I can write something here...

About your problem, I want to say that I don't understand the use case, why turn on a core without any "computational element" (TASK) configurated, it is just wasted power...

Saying that for us this is not a valid configuration.

Bye,
Errico :)

Thanks for quick answers. I'm happy that Erika development will be resumed.

As to my use case. I agree that it makes little sense to start a CPU without any task. We're currently getting familiar with Erika, doing various experiments. During this, when we commented a task in conf.oil, we were surprised by the errors. Now, it's clear what and why happens, but it took us some time to understand what's going on. If RT-Druid reports an error instead of generating uncompilable code, things would be easier for newcomers.