Compare commits

..

5 Commits

Author SHA1 Message Date
ff920da0b6 modify L11.pdf 2025-12-01 19:57:19 +09:00
76c0e0ef02 add L10 L11 pdf 2025-12-01 11:24:37 +09:00
e9e543d813 add P2 P3 P4 P5 pdf 2025-11-19 11:16:54 +09:00
d8b5a6f330 complement in 11.17 2025-11-17 11:45:29 +09:00
9a597748a2 add L9 pdf 2025-11-17 11:10:00 +09:00
8 changed files with 54 additions and 0 deletions

33
notes/9.md Normal file
View File

@@ -0,0 +1,33 @@
# Interrupts (1)
## ARMv7-M Interrupt Handling
* 1 NMI supported
* Up to 511(496 external, 15 internal) prioritizable interrupts/exceptions supported
* NVIC is highly coupled with processor
## ISR Vector Table
## Interrupt Handling Process
1. start `main`
1. if interrupt signal detects
2. processor stops `main`
3. auto stacking `PUSH {r0 ... r3, r12, lr, pc, psr}`
2. `pc = memory address of SysTick_Handler`
3. execute ISR
4. Interrupt Returns. Active bits will be cleared
1. Auto unstacking `POP {r0 ... r3, r12, lr, pc, psr}`
5. continue `main`
### Stacking and Unstacking
When Interrupts, it automatically **stacking** `r0`, `r1`, `r2`, `r3`, `r12`, `lr`, `pc`, `psr`.
When Exiting Interrupts, it automatically **unstacking** `r0`, `r1`, `r2`, `r3`, `r12`, `lr`, `pc`, `psr`.
It is done by hardware, not software.
## Exception Exits

BIN
pdf/L10.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/L11.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/L9.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/P2.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/P3.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/P4.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
pdf/P5.pdf (Stored with Git LFS) Normal file

Binary file not shown.