Регистры SYSCFG STM32L4
Регистры SYSCFG STM32L4: отображение памяти и перестановка банков флеш-памяти, порт для каждой линии EXTI, Fast-mode Plus, выключение файрвола, повышающий преобразователь аналоговых ключей, стирание и защита SRAM2, аварийные сигналы таймеров.
SYSCFG_MEMRMP выбирает память на адресе 0x0000 0000 (флеш, системная, FMC, SRAM1 или Quad-SPI) и переставляет банки флеш-памяти (FB_MODE). SYSCFG_CFGR1 включает Fast-mode Plus выводов I2C, повышающий преобразователь аналоговых ключей и прерывания FPU — биты FPU_IE_0…FPU_IE_5, которые после сброса установлены (RM0351, раздел 9.2).
Бит FWDIS после сброса равен 1 — файрвол выключен; запись 0 включает защиту, и выключить её снова может только системный сброс. SRAM2 стирается аппаратно битом SRAM2ER после ключа 0xCA, 0x53 в SKR и защищается от записи страницами по 1 КБ в SWPR (у STM32L49x/L4Ax ещё SWPR2 для страниц 32–63). Поля портов в EXTICR4 трёхбитные, в EXTICR1–3 у STM32L49x/L4Ax — четырёхбитные (порты до I).
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| SYSCFG | 0x4001 0000 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| SYSCFG_MEMRMP | 0x00 | Отображение памяти и перестановка банков флеш-памяти | 0x0000 000X (X — память, выбранная выводом BOOT0 и битом опций nBOOT1) |
| SYSCFG_CFGR1 | 0x04 | Fast-mode Plus, аналоговые ключи, прерывания FPU, файрвол | 0x7C00 0001 |
| SYSCFG_EXTICR1 | 0x08 | Источники линий EXTI0–EXTI3 | 0x0000 0000 |
| SYSCFG_EXTICR2 | 0x0C | Источники линий EXTI4–EXTI7 | 0x0000 0000 |
| SYSCFG_EXTICR3 | 0x10 | Источники линий EXTI8–EXTI11 | 0x0000 0000 |
| SYSCFG_EXTICR4 | 0x14 | Источники линий EXTI12–EXTI15 | 0x0000 0000 |
| SYSCFG_SCSR | 0x18 | Стирание SRAM2 | 0x0000 0000 (при системном сбросе) |
| SYSCFG_CFGR2 | 0x1C | Сигналы аварийного останова таймеров и чётность SRAM | 0x0000 0000 (при системном сбросе) |
| SYSCFG_SWPR | 0x20 | Защита страниц SRAM2 от записи, страницы 0–31 | 0x0000 0000 (при системном сбросе) |
| SYSCFG_SKR | 0x24 | Ключ стирания SRAM | 0x0000 0000 (при системном сбросе) |
| SYSCFG_SWPR2 | 0x28 | Защита страниц SRAM2 от записи, страницы 32–63 | 0x0000 0000 (при системном сбросе) |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000000
0000 0000 0000 0000 0000 0000 0000 0000
SYSCFG->MEMRMP = 0x00000000;SYSCFG_MEMRMP — отображение памяти и перестановка банков флеш-памяти
Смещение 0x00, адрес 0x4001 0000, 32 бит, после сброса 0x0000 000X (X — память, выбранная выводом BOOT0 и битом опций nBOOT1). В коде: SYSCFG->MEMRMP.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | FB_MODE | — | MEM_MODE | ||||||||||||
- FB_MODE (бит 8) — Перестановка банков флеш-памяти: банк 2 с адреса 0x0800 0000.
- MEM_MODE (биты 2:0) — Память по адресу 0x0000 0000: флеш, системная память, FMC или SRAM.
SYSCFG_CFGR1 — fast-mode Plus, аналоговые ключи, прерывания FPU, файрвол
Смещение 0x04, адрес 0x4001 0004, 32 бит, после сброса 0x7C00 0001. В коде: SYSCFG->CFGR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| FPU_IE_5 | FPU_IE_4 | FPU_IE_3 | FPU_IE_2 | FPU_IE_1 | FPU_IE_0 | — | I2C4_FMP | I2C3_FMP | I2C2_FMP | I2C1_FMP | I2C_PB9_FMP | I2C_PB8_FMP | I2C_PB7_FMP | I2C_PB6_FMP | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | BOOSTEN | — | FWDIS | ||||||||||||
- FPU_IE_5 (бит 31) — Прерывание FPU по исключению IXC (неточный результат).
- FPU_IE_4 (бит 30) — Прерывание FPU по исключению IDC (денормализованный операнд).
- FPU_IE_3 (бит 29) — Прерывание FPU по исключению OFC (переполнение).
- FPU_IE_2 (бит 28) — Прерывание FPU по исключению UFC (антипереполнение).
- FPU_IE_1 (бит 27) — Прерывание FPU по исключению DZC (деление на ноль).
- FPU_IE_0 (бит 26) — Прерывание FPU по исключению IOC (недопустимая операция).
- I2C4_FMP (бит 23) — Режим Fast-mode Plus на выводах I2C4 (только у STM32L496, STM32L4A6).
- I2C3_FMP (бит 22) — Режим Fast-mode Plus на выводах I2C3.
- I2C2_FMP (бит 21) — Режим Fast-mode Plus на выводах I2C2.
- I2C1_FMP (бит 20) — Режим Fast-mode Plus на выводах I2C1.
- I2C_PB9_FMP (бит 19) — Режим Fast-mode Plus (ток 20 мА) на выводе PB9.
- I2C_PB8_FMP (бит 18) — Режим Fast-mode Plus (ток 20 мА) на выводе PB8.
- I2C_PB7_FMP (бит 17) — Режим Fast-mode Plus (ток 20 мА) на выводе PB7.
- I2C_PB6_FMP (бит 16) — Режим Fast-mode Plus (ток 20 мА) на выводе PB6.
- BOOSTEN (бит 8) — Повышающий преобразователь аналоговых ключей при низком VDDA.
- FWDIS (бит 0) — Файрвол выключен (1 после сброса); запись 0 включает его, вернуть 1 может только системный сброс.
SYSCFG_EXTICR1 — источники линий EXTI0–EXTI3
Смещение 0x08, адрес 0x4001 0008, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[0].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI3 | EXTI2 | EXTI1 | EXTI0 | ||||||||||||
- EXTI3 (биты 15:12) — Порт, вывод 3 которого подключён к линии EXTI3 (только у STM32L496, STM32L4A6).
EXTI3 Значение Макрос CMSIS 0000 Порт A (PA3) SYSCFG_EXTICR1_EXTI3_PA 0001 Порт B (PB3) SYSCFG_EXTICR1_EXTI3_PB 0010 Порт C (PC3) SYSCFG_EXTICR1_EXTI3_PC 0011 Порт D (PD3) SYSCFG_EXTICR1_EXTI3_PD 0100 Порт E (PE3) SYSCFG_EXTICR1_EXTI3_PE 0101 Порт F (PF3) SYSCFG_EXTICR1_EXTI3_PF 0110 Порт G (PG3) SYSCFG_EXTICR1_EXTI3_PG 0111 Порт H (PH3) SYSCFG_EXTICR1_EXTI3_PH 1000 Порт I (PI3) SYSCFG_EXTICR1_EXTI3_PI - EXTI3 (биты 14:12) — Порт, вывод 3 которого подключён к линии EXTI3 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI3 Значение Макрос CMSIS 000 Порт A (PA3) SYSCFG_EXTICR1_EXTI3_PA 001 Порт B (PB3) SYSCFG_EXTICR1_EXTI3_PB 010 Порт C (PC3) SYSCFG_EXTICR1_EXTI3_PC 011 Порт D (PD3) SYSCFG_EXTICR1_EXTI3_PD 100 Порт E (PE3) SYSCFG_EXTICR1_EXTI3_PE 101 Порт F (PF3) SYSCFG_EXTICR1_EXTI3_PF 110 Порт G (PG3) SYSCFG_EXTICR1_EXTI3_PG - EXTI2 (биты 11:8) — Порт, вывод 2 которого подключён к линии EXTI2 (только у STM32L496, STM32L4A6).
EXTI2 Значение Макрос CMSIS 0000 Порт A (PA2) SYSCFG_EXTICR1_EXTI2_PA 0001 Порт B (PB2) SYSCFG_EXTICR1_EXTI2_PB 0010 Порт C (PC2) SYSCFG_EXTICR1_EXTI2_PC 0011 Порт D (PD2) SYSCFG_EXTICR1_EXTI2_PD 0100 Порт E (PE2) SYSCFG_EXTICR1_EXTI2_PE 0101 Порт F (PF2) SYSCFG_EXTICR1_EXTI2_PF 0110 Порт G (PG2) SYSCFG_EXTICR1_EXTI2_PG 0111 Порт H (PH2) SYSCFG_EXTICR1_EXTI2_PH 1000 Порт I (PI2) SYSCFG_EXTICR1_EXTI2_PI - EXTI2 (биты 10:8) — Порт, вывод 2 которого подключён к линии EXTI2 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI2 Значение Макрос CMSIS 000 Порт A (PA2) SYSCFG_EXTICR1_EXTI2_PA 001 Порт B (PB2) SYSCFG_EXTICR1_EXTI2_PB 010 Порт C (PC2) SYSCFG_EXTICR1_EXTI2_PC 011 Порт D (PD2) SYSCFG_EXTICR1_EXTI2_PD 100 Порт E (PE2) SYSCFG_EXTICR1_EXTI2_PE 101 Порт F (PF2) SYSCFG_EXTICR1_EXTI2_PF 110 Порт G (PG2) SYSCFG_EXTICR1_EXTI2_PG - EXTI1 (биты 7:4) — Порт, вывод 1 которого подключён к линии EXTI1 (только у STM32L496, STM32L4A6).
EXTI1 Значение Макрос CMSIS 0000 Порт A (PA1) SYSCFG_EXTICR1_EXTI1_PA 0001 Порт B (PB1) SYSCFG_EXTICR1_EXTI1_PB 0010 Порт C (PC1) SYSCFG_EXTICR1_EXTI1_PC 0011 Порт D (PD1) SYSCFG_EXTICR1_EXTI1_PD 0100 Порт E (PE1) SYSCFG_EXTICR1_EXTI1_PE 0101 Порт F (PF1) SYSCFG_EXTICR1_EXTI1_PF 0110 Порт G (PG1) SYSCFG_EXTICR1_EXTI1_PG 0111 Порт H (PH1) SYSCFG_EXTICR1_EXTI1_PH 1000 Порт I (PI1) SYSCFG_EXTICR1_EXTI1_PI - EXTI1 (биты 6:4) — Порт, вывод 1 которого подключён к линии EXTI1 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI1 Значение Макрос CMSIS 000 Порт A (PA1) SYSCFG_EXTICR1_EXTI1_PA 001 Порт B (PB1) SYSCFG_EXTICR1_EXTI1_PB 010 Порт C (PC1) SYSCFG_EXTICR1_EXTI1_PC 011 Порт D (PD1) SYSCFG_EXTICR1_EXTI1_PD 100 Порт E (PE1) SYSCFG_EXTICR1_EXTI1_PE 101 Порт F (PF1) SYSCFG_EXTICR1_EXTI1_PF 110 Порт G (PG1) SYSCFG_EXTICR1_EXTI1_PG 111 Порт H (PH1) SYSCFG_EXTICR1_EXTI1_PH - EXTI0 (биты 3:0) — Порт, вывод 0 которого подключён к линии EXTI0 (только у STM32L496, STM32L4A6).
EXTI0 Значение Макрос CMSIS 0000 Порт A (PA0) SYSCFG_EXTICR1_EXTI0_PA 0001 Порт B (PB0) SYSCFG_EXTICR1_EXTI0_PB 0010 Порт C (PC0) SYSCFG_EXTICR1_EXTI0_PC 0011 Порт D (PD0) SYSCFG_EXTICR1_EXTI0_PD 0100 Порт E (PE0) SYSCFG_EXTICR1_EXTI0_PE 0101 Порт F (PF0) SYSCFG_EXTICR1_EXTI0_PF 0110 Порт G (PG0) SYSCFG_EXTICR1_EXTI0_PG 0111 Порт H (PH0) SYSCFG_EXTICR1_EXTI0_PH 1000 Порт I (PI0) SYSCFG_EXTICR1_EXTI0_PI - EXTI0 (биты 2:0) — Порт, вывод 0 которого подключён к линии EXTI0 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI0 Значение Макрос CMSIS 000 Порт A (PA0) SYSCFG_EXTICR1_EXTI0_PA 001 Порт B (PB0) SYSCFG_EXTICR1_EXTI0_PB 010 Порт C (PC0) SYSCFG_EXTICR1_EXTI0_PC 011 Порт D (PD0) SYSCFG_EXTICR1_EXTI0_PD 100 Порт E (PE0) SYSCFG_EXTICR1_EXTI0_PE 101 Порт F (PF0) SYSCFG_EXTICR1_EXTI0_PF 110 Порт G (PG0) SYSCFG_EXTICR1_EXTI0_PG 111 Порт H (PH0) SYSCFG_EXTICR1_EXTI0_PH
SYSCFG_EXTICR2 — источники линий EXTI4–EXTI7
Смещение 0x0C, адрес 0x4001 000C, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[1].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI7 | EXTI6 | EXTI5 | EXTI4 | ||||||||||||
- EXTI7 (биты 15:12) — Порт, вывод 7 которого подключён к линии EXTI7 (только у STM32L496, STM32L4A6).
EXTI7 Значение Макрос CMSIS 0000 Порт A (PA7) SYSCFG_EXTICR2_EXTI7_PA 0001 Порт B (PB7) SYSCFG_EXTICR2_EXTI7_PB 0010 Порт C (PC7) SYSCFG_EXTICR2_EXTI7_PC 0011 Порт D (PD7) SYSCFG_EXTICR2_EXTI7_PD 0100 Порт E (PE7) SYSCFG_EXTICR2_EXTI7_PE 0101 Порт F (PF7) SYSCFG_EXTICR2_EXTI7_PF 0110 Порт G (PG7) SYSCFG_EXTICR2_EXTI7_PG 0111 Порт H (PH7) SYSCFG_EXTICR2_EXTI7_PH 1000 Порт I (PI7) SYSCFG_EXTICR2_EXTI7_PI - EXTI7 (биты 14:12) — Порт, вывод 7 которого подключён к линии EXTI7 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI7 Значение Макрос CMSIS 000 Порт A (PA7) SYSCFG_EXTICR2_EXTI7_PA 001 Порт B (PB7) SYSCFG_EXTICR2_EXTI7_PB 010 Порт C (PC7) SYSCFG_EXTICR2_EXTI7_PC 011 Порт D (PD7) SYSCFG_EXTICR2_EXTI7_PD 100 Порт E (PE7) SYSCFG_EXTICR2_EXTI7_PE 101 Порт F (PF7) SYSCFG_EXTICR2_EXTI7_PF 110 Порт G (PG7) SYSCFG_EXTICR2_EXTI7_PG - EXTI6 (биты 11:8) — Порт, вывод 6 которого подключён к линии EXTI6 (только у STM32L496, STM32L4A6).
EXTI6 Значение Макрос CMSIS 0000 Порт A (PA6) SYSCFG_EXTICR2_EXTI6_PA 0001 Порт B (PB6) SYSCFG_EXTICR2_EXTI6_PB 0010 Порт C (PC6) SYSCFG_EXTICR2_EXTI6_PC 0011 Порт D (PD6) SYSCFG_EXTICR2_EXTI6_PD 0100 Порт E (PE6) SYSCFG_EXTICR2_EXTI6_PE 0101 Порт F (PF6) SYSCFG_EXTICR2_EXTI6_PF 0110 Порт G (PG6) SYSCFG_EXTICR2_EXTI6_PG 0111 Порт H (PH6) SYSCFG_EXTICR2_EXTI6_PH 1000 Порт I (PI6) SYSCFG_EXTICR2_EXTI6_PI - EXTI6 (биты 10:8) — Порт, вывод 6 которого подключён к линии EXTI6 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI6 Значение Макрос CMSIS 000 Порт A (PA6) SYSCFG_EXTICR2_EXTI6_PA 001 Порт B (PB6) SYSCFG_EXTICR2_EXTI6_PB 010 Порт C (PC6) SYSCFG_EXTICR2_EXTI6_PC 011 Порт D (PD6) SYSCFG_EXTICR2_EXTI6_PD 100 Порт E (PE6) SYSCFG_EXTICR2_EXTI6_PE 101 Порт F (PF6) SYSCFG_EXTICR2_EXTI6_PF 110 Порт G (PG6) SYSCFG_EXTICR2_EXTI6_PG - EXTI5 (биты 7:4) — Порт, вывод 5 которого подключён к линии EXTI5 (только у STM32L496, STM32L4A6).
EXTI5 Значение Макрос CMSIS 0000 Порт A (PA5) SYSCFG_EXTICR2_EXTI5_PA 0001 Порт B (PB5) SYSCFG_EXTICR2_EXTI5_PB 0010 Порт C (PC5) SYSCFG_EXTICR2_EXTI5_PC 0011 Порт D (PD5) SYSCFG_EXTICR2_EXTI5_PD 0100 Порт E (PE5) SYSCFG_EXTICR2_EXTI5_PE 0101 Порт F (PF5) SYSCFG_EXTICR2_EXTI5_PF 0110 Порт G (PG5) SYSCFG_EXTICR2_EXTI5_PG 0111 Порт H (PH5) SYSCFG_EXTICR2_EXTI5_PH 1000 Порт I (PI5) SYSCFG_EXTICR2_EXTI5_PI - EXTI5 (биты 6:4) — Порт, вывод 5 которого подключён к линии EXTI5 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI5 Значение Макрос CMSIS 000 Порт A (PA5) SYSCFG_EXTICR2_EXTI5_PA 001 Порт B (PB5) SYSCFG_EXTICR2_EXTI5_PB 010 Порт C (PC5) SYSCFG_EXTICR2_EXTI5_PC 011 Порт D (PD5) SYSCFG_EXTICR2_EXTI5_PD 100 Порт E (PE5) SYSCFG_EXTICR2_EXTI5_PE 101 Порт F (PF5) SYSCFG_EXTICR2_EXTI5_PF 110 Порт G (PG5) SYSCFG_EXTICR2_EXTI5_PG - EXTI4 (биты 3:0) — Порт, вывод 4 которого подключён к линии EXTI4 (только у STM32L496, STM32L4A6).
EXTI4 Значение Макрос CMSIS 0000 Порт A (PA4) SYSCFG_EXTICR2_EXTI4_PA 0001 Порт B (PB4) SYSCFG_EXTICR2_EXTI4_PB 0010 Порт C (PC4) SYSCFG_EXTICR2_EXTI4_PC 0011 Порт D (PD4) SYSCFG_EXTICR2_EXTI4_PD 0100 Порт E (PE4) SYSCFG_EXTICR2_EXTI4_PE 0101 Порт F (PF4) SYSCFG_EXTICR2_EXTI4_PF 0110 Порт G (PG4) SYSCFG_EXTICR2_EXTI4_PG 0111 Порт H (PH4) SYSCFG_EXTICR2_EXTI4_PH 1000 Порт I (PI4) SYSCFG_EXTICR2_EXTI4_PI - EXTI4 (биты 2:0) — Порт, вывод 4 которого подключён к линии EXTI4 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI4 Значение Макрос CMSIS 000 Порт A (PA4) SYSCFG_EXTICR2_EXTI4_PA 001 Порт B (PB4) SYSCFG_EXTICR2_EXTI4_PB 010 Порт C (PC4) SYSCFG_EXTICR2_EXTI4_PC 011 Порт D (PD4) SYSCFG_EXTICR2_EXTI4_PD 100 Порт E (PE4) SYSCFG_EXTICR2_EXTI4_PE 101 Порт F (PF4) SYSCFG_EXTICR2_EXTI4_PF 110 Порт G (PG4) SYSCFG_EXTICR2_EXTI4_PG
SYSCFG_EXTICR3 — источники линий EXTI8–EXTI11
Смещение 0x10, адрес 0x4001 0010, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[2].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI11 | EXTI10 | EXTI9 | EXTI8 | ||||||||||||
- EXTI11 (биты 15:12) — Порт, вывод 11 которого подключён к линии EXTI11 (только у STM32L496, STM32L4A6).
EXTI11 Значение Макрос CMSIS 0000 Порт A (PA11) SYSCFG_EXTICR3_EXTI11_PA 0001 Порт B (PB11) SYSCFG_EXTICR3_EXTI11_PB 0010 Порт C (PC11) SYSCFG_EXTICR3_EXTI11_PC 0011 Порт D (PD11) SYSCFG_EXTICR3_EXTI11_PD 0100 Порт E (PE11) SYSCFG_EXTICR3_EXTI11_PE 0101 Порт F (PF11) SYSCFG_EXTICR3_EXTI11_PF 0110 Порт G (PG11) SYSCFG_EXTICR3_EXTI11_PG 0111 Порт H (PH11) SYSCFG_EXTICR3_EXTI11_PH 1000 Порт I (PI11) SYSCFG_EXTICR3_EXTI11_PI - EXTI11 (биты 14:12) — Порт, вывод 11 которого подключён к линии EXTI11 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI11 Значение Макрос CMSIS 000 Порт A (PA11) SYSCFG_EXTICR3_EXTI11_PA 001 Порт B (PB11) SYSCFG_EXTICR3_EXTI11_PB 010 Порт C (PC11) SYSCFG_EXTICR3_EXTI11_PC 011 Порт D (PD11) SYSCFG_EXTICR3_EXTI11_PD 100 Порт E (PE11) SYSCFG_EXTICR3_EXTI11_PE 101 Порт F (PF11) SYSCFG_EXTICR3_EXTI11_PF 110 Порт G (PG11) SYSCFG_EXTICR3_EXTI11_PG - EXTI10 (биты 11:8) — Порт, вывод 10 которого подключён к линии EXTI10 (только у STM32L496, STM32L4A6).
EXTI10 Значение Макрос CMSIS 0000 Порт A (PA10) SYSCFG_EXTICR3_EXTI10_PA 0001 Порт B (PB10) SYSCFG_EXTICR3_EXTI10_PB 0010 Порт C (PC10) SYSCFG_EXTICR3_EXTI10_PC 0011 Порт D (PD10) SYSCFG_EXTICR3_EXTI10_PD 0100 Порт E (PE10) SYSCFG_EXTICR3_EXTI10_PE 0101 Порт F (PF10) SYSCFG_EXTICR3_EXTI10_PF 0110 Порт G (PG10) SYSCFG_EXTICR3_EXTI10_PG 0111 Порт H (PH10) SYSCFG_EXTICR3_EXTI10_PH 1000 Порт I (PI10) SYSCFG_EXTICR3_EXTI10_PI - EXTI10 (биты 10:8) — Порт, вывод 10 которого подключён к линии EXTI10 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI10 Значение Макрос CMSIS 000 Порт A (PA10) SYSCFG_EXTICR3_EXTI10_PA 001 Порт B (PB10) SYSCFG_EXTICR3_EXTI10_PB 010 Порт C (PC10) SYSCFG_EXTICR3_EXTI10_PC 011 Порт D (PD10) SYSCFG_EXTICR3_EXTI10_PD 100 Порт E (PE10) SYSCFG_EXTICR3_EXTI10_PE 101 Порт F (PF10) SYSCFG_EXTICR3_EXTI10_PF 110 Порт G (PG10) SYSCFG_EXTICR3_EXTI10_PG - EXTI9 (биты 7:4) — Порт, вывод 9 которого подключён к линии EXTI9 (только у STM32L496, STM32L4A6).
EXTI9 Значение Макрос CMSIS 0000 Порт A (PA9) SYSCFG_EXTICR3_EXTI9_PA 0001 Порт B (PB9) SYSCFG_EXTICR3_EXTI9_PB 0010 Порт C (PC9) SYSCFG_EXTICR3_EXTI9_PC 0011 Порт D (PD9) SYSCFG_EXTICR3_EXTI9_PD 0100 Порт E (PE9) SYSCFG_EXTICR3_EXTI9_PE 0101 Порт F (PF9) SYSCFG_EXTICR3_EXTI9_PF 0110 Порт G (PG9) SYSCFG_EXTICR3_EXTI9_PG 0111 Порт H (PH9) SYSCFG_EXTICR3_EXTI9_PH 1000 Порт I (PI9) SYSCFG_EXTICR3_EXTI9_PI - EXTI9 (биты 6:4) — Порт, вывод 9 которого подключён к линии EXTI9 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI9 Значение Макрос CMSIS 000 Порт A (PA9) SYSCFG_EXTICR3_EXTI9_PA 001 Порт B (PB9) SYSCFG_EXTICR3_EXTI9_PB 010 Порт C (PC9) SYSCFG_EXTICR3_EXTI9_PC 011 Порт D (PD9) SYSCFG_EXTICR3_EXTI9_PD 100 Порт E (PE9) SYSCFG_EXTICR3_EXTI9_PE 101 Порт F (PF9) SYSCFG_EXTICR3_EXTI9_PF 110 Порт G (PG9) SYSCFG_EXTICR3_EXTI9_PG - EXTI8 (биты 3:0) — Порт, вывод 8 которого подключён к линии EXTI8 (только у STM32L496, STM32L4A6).
EXTI8 Значение Макрос CMSIS 0000 Порт A (PA8) SYSCFG_EXTICR3_EXTI8_PA 0001 Порт B (PB8) SYSCFG_EXTICR3_EXTI8_PB 0010 Порт C (PC8) SYSCFG_EXTICR3_EXTI8_PC 0011 Порт D (PD8) SYSCFG_EXTICR3_EXTI8_PD 0100 Порт E (PE8) SYSCFG_EXTICR3_EXTI8_PE 0101 Порт F (PF8) SYSCFG_EXTICR3_EXTI8_PF 0110 Порт G (PG8) SYSCFG_EXTICR3_EXTI8_PG 0111 Порт H (PH8) SYSCFG_EXTICR3_EXTI8_PH 1000 Порт I (PI8) SYSCFG_EXTICR3_EXTI8_PI - EXTI8 (биты 2:0) — Порт, вывод 8 которого подключён к линии EXTI8 (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
EXTI8 Значение Макрос CMSIS 000 Порт A (PA8) SYSCFG_EXTICR3_EXTI8_PA 001 Порт B (PB8) SYSCFG_EXTICR3_EXTI8_PB 010 Порт C (PC8) SYSCFG_EXTICR3_EXTI8_PC 011 Порт D (PD8) SYSCFG_EXTICR3_EXTI8_PD 100 Порт E (PE8) SYSCFG_EXTICR3_EXTI8_PE 101 Порт F (PF8) SYSCFG_EXTICR3_EXTI8_PF 110 Порт G (PG8) SYSCFG_EXTICR3_EXTI8_PG
SYSCFG_EXTICR4 — источники линий EXTI12–EXTI15
Смещение 0x14, адрес 0x4001 0014, 32 бит, после сброса 0x0000 0000. В коде: SYSCFG->EXTICR[3].
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | EXTI15 | — | EXTI14 | — | EXTI13 | — | EXTI12 | ||||||||
- EXTI15 (биты 14:12) — Порт, вывод 15 которого подключён к линии EXTI15.
EXTI15 Значение Макрос CMSIS 000 Порт A (PA15) SYSCFG_EXTICR4_EXTI15_PA 001 Порт B (PB15) SYSCFG_EXTICR4_EXTI15_PB 010 Порт C (PC15) SYSCFG_EXTICR4_EXTI15_PC 011 Порт D (PD15) SYSCFG_EXTICR4_EXTI15_PD 100 Порт E (PE15) SYSCFG_EXTICR4_EXTI15_PE 101 Порт F (PF15) SYSCFG_EXTICR4_EXTI15_PF 110 Порт G (PG15) SYSCFG_EXTICR4_EXTI15_PG 111 Порт H (PH15) (только у STM32L496, STM32L4A6) SYSCFG_EXTICR4_EXTI15_PH - EXTI14 (биты 10:8) — Порт, вывод 14 которого подключён к линии EXTI14.
EXTI14 Значение Макрос CMSIS 000 Порт A (PA14) SYSCFG_EXTICR4_EXTI14_PA 001 Порт B (PB14) SYSCFG_EXTICR4_EXTI14_PB 010 Порт C (PC14) SYSCFG_EXTICR4_EXTI14_PC 011 Порт D (PD14) SYSCFG_EXTICR4_EXTI14_PD 100 Порт E (PE14) SYSCFG_EXTICR4_EXTI14_PE 101 Порт F (PF14) SYSCFG_EXTICR4_EXTI14_PF 110 Порт G (PG14) SYSCFG_EXTICR4_EXTI14_PG 111 Порт H (PH14) (только у STM32L496, STM32L4A6) SYSCFG_EXTICR4_EXTI14_PH - EXTI13 (биты 6:4) — Порт, вывод 13 которого подключён к линии EXTI13.
EXTI13 Значение Макрос CMSIS 000 Порт A (PA13) SYSCFG_EXTICR4_EXTI13_PA 001 Порт B (PB13) SYSCFG_EXTICR4_EXTI13_PB 010 Порт C (PC13) SYSCFG_EXTICR4_EXTI13_PC 011 Порт D (PD13) SYSCFG_EXTICR4_EXTI13_PD 100 Порт E (PE13) SYSCFG_EXTICR4_EXTI13_PE 101 Порт F (PF13) SYSCFG_EXTICR4_EXTI13_PF 110 Порт G (PG13) SYSCFG_EXTICR4_EXTI13_PG 111 Порт H (PH13) (только у STM32L496, STM32L4A6) SYSCFG_EXTICR4_EXTI13_PH - EXTI12 (биты 2:0) — Порт, вывод 12 которого подключён к линии EXTI12.
EXTI12 Значение Макрос CMSIS 000 Порт A (PA12) SYSCFG_EXTICR4_EXTI12_PA 001 Порт B (PB12) SYSCFG_EXTICR4_EXTI12_PB 010 Порт C (PC12) SYSCFG_EXTICR4_EXTI12_PC 011 Порт D (PD12) SYSCFG_EXTICR4_EXTI12_PD 100 Порт E (PE12) SYSCFG_EXTICR4_EXTI12_PE 101 Порт F (PF12) SYSCFG_EXTICR4_EXTI12_PF 110 Порт G (PG12) SYSCFG_EXTICR4_EXTI12_PG 111 Порт H (PH12) (только у STM32L496, STM32L4A6) SYSCFG_EXTICR4_EXTI12_PH
SYSCFG_SCSR — стирание SRAM2
Смещение 0x18, адрес 0x4001 0018, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: SYSCFG->SCSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SRAM2BSY | SRAM2ER | |||||||||||||
- SRAM2BSY (бит 1) — Идёт стирание SRAM2 (только чтение).
- SRAM2ER (бит 0) — Запуск аппаратного стирания SRAM2 (после ключа SYSCFG_SKR).
SYSCFG_CFGR2 — сигналы аварийного останова таймеров и чётность SRAM
Смещение 0x1C, адрес 0x4001 001C, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: SYSCFG->CFGR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SPF | — | ECCL | PVDL | SPL | CLL | |||||||||
- SPF (бит 8) — Флаг ошибки чётности SRAM; сбрасывается записью 1.
- ECCL (бит 3) — Подключение двойной ошибки ECC флеш-памяти к аварийному останову таймеров.
- PVDL (бит 2) — Подключение выхода PVD к входу аварийного останова таймеров; снимается только сбросом.
- SPL (бит 1) — Подключение ошибки чётности SRAM к входу аварийного останова таймеров.
- CLL (бит 0) — Подключение сигнала LOCKUP ядра (отказ в обработчике HardFault) к аварийному останову таймеров.
SYSCFG_SWPR — защита страниц SRAM2 от записи, страницы 0–31
Смещение 0x20, адрес 0x4001 0020, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: SYSCFG->SWPR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PAGE31 | PAGE30 | PAGE29 | PAGE28 | PAGE27 | PAGE26 | PAGE25 | PAGE24 | PAGE23 | PAGE22 | PAGE21 | PAGE20 | PAGE19 | PAGE18 | PAGE17 | PAGE16 |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PAGE15 | PAGE14 | PAGE13 | PAGE12 | PAGE11 | PAGE10 | PAGE9 | PAGE8 | PAGE7 | PAGE6 | PAGE5 | PAGE4 | PAGE3 | PAGE2 | PAGE1 | PAGE0 |
- PAGE0–PAGE31 (по биту на каждый y, положение — на карте битов) — Защита страницы y SRAM2 от записи (1 КБ, снимается только сбросом).
- PAGE2 (бит 2) — Защита страницы 2 SRAM2 от записи (1 КБ, снимается только сбросом).
- PAGE1 (бит 1) — Защита страницы 1 SRAM2 от записи (1 КБ, снимается только сбросом).
SYSCFG_SKR — ключ стирания SRAM
Смещение 0x24, адрес 0x4001 0024, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: SYSCFG->SKR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | KEY | ||||||||||||||
- KEY (биты 7:0) — Ключ: запись 0xCA, затем 0x53 разрешает стирание SRAM битом SYSCFG_SCSR.
SYSCFG_SWPR2 — защита страниц SRAM2 от записи, страницы 32–63
Смещение 0x28, адрес 0x4001 0028, 32 бит, после сброса 0x0000 0000 (при системном сбросе); регистр есть только у STM32L496, STM32L4A6. В коде: SYSCFG->SWPR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PAGE63 | PAGE62 | PAGE61 | PAGE60 | PAGE59 | PAGE58 | PAGE57 | PAGE56 | PAGE55 | PAGE54 | PAGE53 | PAGE52 | PAGE51 | PAGE50 | PAGE49 | PAGE48 |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PAGE47 | PAGE46 | PAGE45 | PAGE44 | PAGE43 | PAGE42 | PAGE41 | PAGE40 | PAGE39 | PAGE38 | PAGE37 | PAGE36 | PAGE35 | PAGE34 | PAGE33 | PAGE32 |
- PAGE32–PAGE63 (по биту на каждый y, положение — на карте битов) — Защита страницы y SRAM2 от записи (1 КБ, снимается только сбросом).
Частые вопросы
Как защитить SRAM2 STM32L4 от записи?
Установите биты PAGEx в SYSCFG_SWPR (и SWPR2): страница — 1 КБ, снять защиту можно только сбросом. SRAM2 сохраняется и в Standby при бите RRS в PWR_CR3 — удобное место для данных, которые переживают глубокий сон.
Как подключить PA0 к линии EXTI0?
Порт A выбран после сброса (EXTICR1 = 0). Включите SYSCFGEN в RCC_APB2ENR, если меняете порт, и настройте фронт и маску в регистрах EXTI.
Источники
- STMicroelectronics. RM0351: Reference manual (Rev 11) — раздел 9.2: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-l4 v1.7.5: заголовки CMSIS stm32l471xx.h, stm32l475xx.h, stm32l476xx.h, stm32l485xx.h, stm32l486xx.h, stm32l496xx.h, stm32l4a6xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32L4
- Все регистры STM32L4Блоки периферии и заголовки CMSIS
- RCC — тактирование и сбросRCC_CR, RCC_ICSCR, RCC_CFGR, RCC_PLLCFGR, RCC_PLLSAI1CFGR, RCC_PLLSAI2CFGR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- EXTI — внешние прерыванияEXTI_IMR1, EXTI_EMR1, EXTI_RTSR1, EXTI_FTSR1, EXTI_SWIER1, EXTI_PR1
- USART — последовательные порты USART и LPUARTUSART_CR1, USART_CR2, USART_CR3, USART_BRR, USART_GTPR, USART_RTOR
- SPI — интерфейсы SPISPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_TIMINGR, I2C_TIMEOUTR
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- LPTIM — маломощные таймерыLPTIM_ISR, LPTIM_ICR, LPTIM_IER, LPTIM_CFGR, LPTIM_CR, LPTIM_CMP
- DMA — прямой доступ к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- АЦП — аналого-цифровые преобразователиADC_ISR, ADC_IER, ADC_CR, ADC_CFGR, ADC_CFGR2, ADC_SMPR1
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR, IWDG_WINR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — вычислитель CRCCRC_DR, CRC_IDR, CRC_CR, CRC_INIT, CRC_POL
- DBGMCU — отладкаDBGMCU_IDCODE, DBGMCU_CR, DBGMCU_APB1FZR1, DBGMCU_APB1FZR2, DBGMCU_APB2FZR
- PWR — управление питаниемPWR_CR1, PWR_CR2, PWR_CR3, PWR_CR4, PWR_SR1, PWR_SR2
- FLASH — флеш-памятьFLASH_ACR, FLASH_PDKEYR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR
- RTC — часы реального времениRTC_TR, RTC_DR, RTC_CR, RTC_ISR, RTC_PRER, RTC_WUTR
- ЦАП — цифро-аналоговый преобразовательDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2
- CAN — контроллер CANCAN_MCR, CAN_MSR, CAN_TSR, CAN_RF0R, CAN_RF1R, CAN_IER
Калькуляторы и статьи
- Прерывания STM32Векторы и IRQn, приоритеты и HAL, EXTI и общие векторы, флаги, события, примеры
- Flash и загрузчик STM32Страницы и секторы, BOOT0, системный загрузчик, AN3155, IAP, option bytes, RDP
- STM32L4Cortex-M4 до 80 МГц с режимами низкого потребления: L4x1–L4x6 — линейки, MSI, загрузка и распиновки