chore: preserve current FreeRTOS and C card updates
This commit is contained in:
@@ -245,7 +245,7 @@
|
||||
"title": "Cel karty",
|
||||
"content_tex": "Uczeń rozdziela task context od ISR context, używa API FromISR i dowodzi natychmiastowego przełączenia do wyższego taska.",
|
||||
"scope_title": "Zakres karty",
|
||||
"scope_content_tex": "Prawdziwe wejście IRQ5 testbencha wywołuje machine external interrupt. Port zapisuje pełny kontekst i przechodzi na xISRStack. ISR czyści źródło, daje binary semaphore i wywołuje portYIELD_FROM_ISR. Waiter priority 3 działa przed powrotem do stimulus priority 2.",
|
||||
"scope_content_tex": "Prawdziwe wejście IRQ5 testbencha wywołuje machine external interrupt. Port zapisuje pełny kontekst i przechodzi na \\texttt{xISRStack}. ISR czyści źródło, daje binary semaphore i wywołuje \\texttt{portYIELD\\_FROM\\_ISR}. Waiter priority 3 działa przed powrotem do stimulus priority 2.",
|
||||
"scope_table": {
|
||||
"headers": [
|
||||
"Lekcja",
|
||||
@@ -1293,7 +1293,7 @@
|
||||
"uuid": "a6da1075-8d1f-5615-b0e6-0fc33e59e1e3",
|
||||
"prompt_tex": "Przejdź po A1, A3, A5, A6 i A7. Odtwórz E01–E09 i udowodnij source-clear-before-give oraz waiter-before-stimulus.",
|
||||
"criterion": "PASS; mcause=MEI; source=0 przed give; xHPW=1; waiter E07 przed stimulus E08; trzy różne stosy; deterministyczny digest.",
|
||||
"conclusion_tex": "ISR działa na osobnym stacku i używa FromISR API. xHigherPriorityTaskWoken jest informacją dla portu; dopiero portYIELD_FROM_ISR powoduje restore kontekstu wyższego taska przed powrotem do przerwanego kodu.",
|
||||
"conclusion_tex": "ISR działa na osobnym stacku i używa FromISR API. \\texttt{xHigherPriorityTaskWoken} jest informacją dla portu; dopiero \\texttt{portYIELD\\_FROM\\_ISR} powoduje restore kontekstu wyższego taska przed powrotem do przerwanego kodu.",
|
||||
"flow": [
|
||||
{
|
||||
"kind": "block",
|
||||
@@ -1322,7 +1322,7 @@
|
||||
{
|
||||
"id": "trap",
|
||||
"title": "Zbadaj E03–E05.",
|
||||
"content_tex": "Zapisz mcause, mepc, isr_sp i source state."
|
||||
"content_tex": "Zapisz \\texttt{mcause}, \\texttt{mepc}, \\texttt{isr\\_sp} i source state."
|
||||
},
|
||||
{
|
||||
"id": "handoff",
|
||||
@@ -1340,7 +1340,7 @@
|
||||
"kind": "exercise",
|
||||
"id": "no-yield",
|
||||
"title": "Ćwiczenie — brak yield request",
|
||||
"prompt_tex": "W kontrolowanym wariancie pomiń portYIELD_FROM_ISR, zachowując GiveFromISR. Zmierz, kiedy waiter zacznie działać i wskaż następny legalny scheduling point.",
|
||||
"prompt_tex": "W kontrolowanym wariancie pomiń \\texttt{portYIELD\\_FROM\\_ISR}, zachowując GiveFromISR. Zmierz, kiedy waiter zacznie działać i wskaż następny legalny scheduling point.",
|
||||
"evidence_tex": "Dwa timestampowane ślady E07/E08 z yield i bez yield oraz opis różnicy.",
|
||||
"criterion": "Uczeń nie myli odblokowania taska z natychmiastowym wykonaniem i przywraca poprawny yield w wersji finalnej.",
|
||||
"based_on": [
|
||||
|
||||
Reference in New Issue
Block a user