CC ee_system_timer.c
"D:\\Erika\\eclipse\\plugins\\CO1C02~1.201\\ee_files\\pkg\\cpu\\e200zx\\src\\ee_system_timer.c", line 78: error (dcc:1525): identifier EE_DECREMENTER_LEVEL not declared
"D:\\Erika\\eclipse\\plugins\\CO1C02~1.201\\ee_files\\pkg\\cpu\\e200zx\\src\\ee_system_timer.c", line 79: error (dcc:1525): identifier EE_DECREMENTER_PRIORITY not declared
make: *** [obj/pkg/cpu/e200zx/src/ee_system_timer.o] Error 1
ERROR > Unable to load "D:\Erika\workspace\Test\conf.oil" caused by :The value '0xFFFFFFFF' is invalid. java.lang.NumberFormatException: For input string: "FFFFFFFF"
those errors are due to a missing definitions (sorry, it is our fault!). This depends on the fact that the ISR table Dynamic approach is not OSEK-oriented and most of our customers do not use this feature anymore. Hence we wrongly removed the generation of such definitions from RT-Druid missing our backward compatibility.
The preferable solution is the static ISR table (OSEK-like) approach that represents the default scenario. I noticed that you added the ee_vtable.c module in your porting, hence i suppose you already supported this feature. According with this assumption removing the "EE_ISR_DYNAMIC_TABLE" from your .oil file should solve your problem.
However, if you want to use the dynamic approach, please wait for our next commit on Erika repository, i will remove the cause of your fault on dynamic isr table management.
Now IVOR10 calls directly EE_e200zx_system_timer_handle with counts the system timer. Is there a switch from ISR1 (IVOR10) and ISR2 (EE_e200zx_system_timer_handler)? Or is EE_e200zx_system_timer_handle handled as a ISR1?
The system timer should be a ISR2, because it will implement the alarm notifications linked to its counter... thus activating tasks, setting events, ...
you can also remove the EE_OPT = "ENABLE_SYSTEM_TIMER"; if you have an updated kernel. It is not necessary anymore.
But according with the PJ's previous post, it must to be a ISR2. You can set it to ISR1 following your requirements but be aware to handle your ISR1 in a proper way.
Please notice that we use ISR2_INT because decrementer is a cpu-isr, you can try with ISR1_INT, references:
i talked with my collegue in charge of generated part of Erika. If you want to develop your system timer this can be a solution without modifying the kernel:
1) remove each reference to system-timer from the oil file;
2) declare a new ISR1 in the oil file e provide the associated code in your project:
3) BE AWARE that you cannot call kernel primitives from a ISR1, hence you have to provide your mechanism in order to have your app working fine if you decide to have your system timer based on ISR1.