ISRS1 are taken as ISRS2 sometimes in oil
Closed this issue · 0 comments
KamelHacene commented
The APPLICATION::ISR attribute contains both ISRS1 and ISRS2, but sometimes it is taken as containing only ISRS2.
root.goilTemplates:685
let CORES := emptymap
if [APPLICATION length] > 0 then
let task_map := mapof TASKS by NAME
let isr_map := mapof ISRS2 by NAME
foreach app in APPLICATION do
let core := [exists app::CORE default (0) string]
let CORES[core]::ISRS := emptylist
(...)
foreach isr_name in exists app::ISR default (emptylist) do
let CORES[core]::ISRS += isr_map[isr_name::VALUE]
end foreach
end foreach
else
let CORES["0"]::TASKS := TASKS
let CORES["0"]::ISRS := ISRS
end if
isr_name should be checked before being added into CORES::ISRS. By the way in monocore we should just add ISRS2 instead of all ISRS.
root.goilTemplates:1129
let process_of_app := app::TASK . app::ISR
# display app::TASK
# display app::ISR
# display process_of_app
let app::PROCESS := process_of_app
This list will be used to produce a table of process id in application_descriptor.goilTemplates, thus producing an error (ISRS1 have no IDs).