19 lines
641 B
Markdown
19 lines
641 B
Markdown
# C10 — pułapki i sterowanie przerwaniami RV32I
|
|
|
|
Trzy obrazy pokazują kolejno:
|
|
|
|
1. synchroniczny `ecall`, `mepc + 4` i wznowienie przez `mret`;
|
|
2. machine software interrupt z kontrolowanym pending;
|
|
3. macierz: źródło pending, `mie.MSIE` i `mstatus.MIE`.
|
|
|
|
`set_softirq` jest kontrolowanym źródłem testbench, dzięki czemu karta nie
|
|
miesza jeszcze sterownika peryferium z mechanizmem pułapki. C12 i C13 dodają
|
|
UART i GPIO jako rzeczywiste źródła external IRQ modelu.
|
|
|
|
```bash
|
|
make tasks
|
|
./tests/test_hazard3.sh
|
|
./scripts/render_card_layouts.sh
|
|
GITEA_SHA=0000000000000000000000000000000000000000 ./scripts/render_new_pdf.sh
|
|
```
|