KOKA016A november 2022 – march 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1
MSPM0와 STM32G0는 장치의 사용 가능한 주변 장치에 따라 인터럽트와 예외 벡터를 모두 레지스터하고 매핑합니다. 표 3-10에 보시면 각 장치 제품군별로 인터럽트 벡터에 대한 요약과 비교 정보가 나와 있습니다. 인터럽트 또는 예외에 대한 우선 순위 값이 낮을수록 우선 순위 값이 높은 인터럽트에 비해 높은 우선 순위가 부여됩니다. 이러한 벡터의 경우 우선 순위는 사용자가 선택할 수 있고, 다른 벡터의 경우 고정되어 있습니다.
MSPM0와 STM32G0에서는 NMI, 리셋, 하드 폴트 처리기 등의 예외 사항에 음의 우선 순위 값이 부여되어 항상 주변 인터럽트보다 우선 순위가 가장 높음을 나타냅니다. 인터럽트 우선 순위를 선택할 수 있는 주변 장치의 경우 양쪽 장치 제품군에서최대 4개의 프로그래머블 우선 순위 수준을 사용할 수 있습니다.
NVIC 번호 | STM32G0 | MSPM0x | ||
---|---|---|---|---|
인터럽트/예외 | 우선 순위 | 인터럽트/예외 | 우선 순위 | |
- | 리셋 | 고정: -3 | 리셋 | 고정: -3 |
- | NMI 처리기 | 고정: -2 | NMI 처리기 | 고정: -2 |
- | 하드 폴트 처리기 | 고정: -1 | 하드 폴트 처리기 | 고정: -1 |
- | SVCall 처리기 | 선택 가능 | SVCall 처리기 | 선택 가능 |
- | PendSV | 선택 가능 | PendSV | 선택 가능 |
- | SysTick | 선택 가능 | SysTick | 선택 가능 |
0 | 윈도우 워치독 인터럽트 | 선택 가능 | INT_GROUP0: WWDT0, DEBUGSS, FLASHCTL, WUC FSUBx 및 SYSCTL | 선택 가능 |
1 | 전원 전압 감지기 인터럽트 | 선택 가능 | INT_GROUP1: GPIO0 및 COMP0 | 선택 가능 |
2 | RTC 및 타임스탬프 | 선택 가능 | 타이머 G1(TIMG1) | 선택 가능 |
3 | 플래시 전역 인터럽트 | 선택 가능 | UART3(1) | 선택 가능 |
4 | RCC 전역 인터럽트 | 선택 가능 | ADC0 | 선택 가능 |
5 | EXTI0 및 EXTI1 인터럽트 | 선택 가능 | ADC1(1) | 선택 가능 |
6 | EXTI2 및 EXTI3 인터럽트 | 선택 가능 | CANFD0(1) | 선택 가능 |
7 | EXTI4-EXTI15 인터럽트 | 선택 가능 | DAC0(1) | 선택 가능 |
8 | UCPD1/UCPD2/USB | 선택 가능 | 예약됨 | 선택 가능 |
9 | DMA1 채널 1 | 선택 가능 | SPI0 | 선택 가능 |
10 | DMA1 채널 2 및 3 | 선택 가능 | SPI1(1) | 선택 가능 |
11 | DMA1 채널 4-6 및 DMA2 채널 1-5 | 선택 가능 | 예약됨 | 선택 가능 |
12 | ADC 및 콤퍼레이터 | 선택 가능 | 예약됨 | 선택 가능 |
13 | 타이머 1(TIM1), 브레이크, 업데이트, 트리거 및 정류 | 선택 가능 | UART1 | 선택 가능 |
14 | TIM1 캡처 비교 | 선택 가능 | UART2(1) | 선택 가능 |
15 | TIM2 전역 인터럽트 | 선택 가능 | UART0 | 선택 가능 |
16 | TIM3 및 TIM4 전역 인터럽트 | 선택 가능 | TIMG0 | 선택 가능 |
17 | TIM6, LPTIM1 및 DAC 인터럽트 | 선택 가능 | TIMG10(1) | 선택 가능 |
18 | TIM6 및 LPTIM2 전역 인터럽트 | 선택 가능 | TIMA0(1) | 선택 가능 |
19 | TIM14 전역 인터럽트 | 선택 가능 | TIMA1 | 선택 가능 |
20 | TIM15 전역 인터럽트 | 선택 가능 | TIMA2(2) | 선택 가능 |
21 | TIM16 및 FDCAN0 전역 인터럽트 | 선택 가능 | TIMH0(1) | 선택 가능 |
22 | TIM17 및 FDCAN1 전역 인터럽트 | 선택 가능 | 예약됨 | 선택 가능 |
23 | 12C1 전역 인터럽트 | 선택 가능 | 예약됨 | 선택 가능 |
24 | I2C2 및 I2C3 전역 인터럽트 | 선택 가능 | I2C0 | 선택 가능 |
25 | SPI1 전역 인터럽트 | 선택 가능 | I2C1 | 선택 가능 |
26 | SPI2 및 SPI3 전역 인터럽트 | 선택 가능 | 예약됨 | 선택 가능 |
27 | USART1 전역 인터럽트 | 선택 가능 | 예약됨 | 선택 가능 |
28 | USART2 및 LPUART2 전역 인터럽트 | 선택 가능 | AES(1) | 선택 가능 |
29 | USART 3-6 및 LPUART1 전역 인터럽트 | 선택 가능 | 예약됨 | 선택 가능 |
30 | CEC 전역 인터럽트 | 선택 가능 | RTC(1) | 선택 가능 |
31 | AES 및 RNG 전역 인터럽트 | 선택 가능 | DMA | 선택 가능 |
MSPM0 장치에는 NVIC 개념을 확장하여 주변 장치의 디지털 이벤트를 인터럽트로 CPU, DMA, 또는 다른 주변 장치로 전송하여 하드웨어 동작을 트리거할 수 있게 해 주는 전용 이벤트 관리자 주변 장치가 포함되어 있습니다. 또한 이벤트 관리자는 전원 관리 및 클록 장치(PMCU)와 핸드셰이크를 수행하여 트리거된 이벤트 작업이 진행되는 데 필요한 클록 및 전원 도메인이 있는지 확인할 수 있습니다.
MSPM0 이벤트 관리자에서 이벤트를 생성하는 주변 장치를 게시자라고 하며, 게시자를 기반으로 작동하는 주변 장치, DMA 또는 CPU를 가입자라고 합니다. 사용 가능한 게시자와 가입자의 잠재적인 조합은 매우 유연하기 때문에, 소프트웨어를 마이그레이션할 때 이전에 인터럽트 벡터와 CPU에 의해 처리되었던 기능을 대체해 CPU를 완전히 우회할 수 있습니다. 예를 들어, I2C-UART 브리지는 이전에 I2C STOP 수신 시 ISR을 사용하여 플래그를 설정하거나 UART TX 버퍼를 직접 로드할 때 UART 전송을 트리거했을 수 있습니다. MSPM0 이벤트 처리기를 사용하면 I2C 트랜잭션 완료 이벤트가 DMA를 트리거하여 UART TX 버퍼를 직접 로드하므로 CPU의 작업이 필요 없습니다.
MSPM0G에서 이벤트 처리기 사용에 대한 자세한 내용은 MSPM0G 기술 참조 설명서 또는 MSPM0L 기술 참조 설명서의 이벤트 섹션을 참조하십시오.
MSPM0 이벤트 처리기와 혼동하지 않도록 STM32G0 제품군은 EXTI(Extended Interrupt and Event Controller)를 구현하며, 이를 이용해 iOS 또는 주변 장치의 구성 가능한 이벤트를 통해 중단 모드에서 시스템을 다시 켤 수 있습니다. STM32G0 EXTI의 활성화 기능은 IO 활성화 기능(MSPM0 기술 참조 매뉴얼의 IOMUX 섹션 참조) 및 GPIO FastWake(MSPM0 기술 참조 매뉴얼의 GPIO 섹션 참조)를 사용하면 MSPM0에서 가장 그대로 잘 재현할 수 있습니다. 활성화가 단일 동작을 위한 것인 경우, 이벤트 처리기 주변 장치는 주변 장치 작동 발생에 필요한 PMCU 리소스를 요청할 수 있으며, 이후 해당 저전력 모드로 돌아갑니다.