Перейти к содержанию

Регистры 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).

ЭкземплярБазовый адресЕсть у
SYSCFG0x4001 0000всех

Регистры блока

РегистрСмещениеНазначениеПосле сброса
SYSCFG_MEMRMP0x00Отображение памяти и перестановка банков флеш-памяти0x0000 000X (X — память, выбранная выводом BOOT0 и битом опций nBOOT1)
SYSCFG_CFGR10x04Fast-mode Plus, аналоговые ключи, прерывания FPU, файрвол0x7C00 0001
SYSCFG_EXTICR10x08Источники линий EXTI0–EXTI30x0000 0000
SYSCFG_EXTICR20x0CИсточники линий EXTI4–EXTI70x0000 0000
SYSCFG_EXTICR30x10Источники линий EXTI8–EXTI110x0000 0000
SYSCFG_EXTICR40x14Источники линий EXTI12–EXTI150x0000 0000
SYSCFG_SCSR0x18Стирание SRAM20x0000 0000 (при системном сбросе)
SYSCFG_CFGR20x1CСигналы аварийного останова таймеров и чётность SRAM0x0000 0000 (при системном сбросе)
SYSCFG_SWPR0x20Защита страниц SRAM2 от записи, страницы 0–310x0000 0000 (при системном сбросе)
SYSCFG_SKR0x24Ключ стирания SRAM0x0000 0000 (при системном сбросе)
SYSCFG_SWPR20x28Защита страниц SRAM2 от записи, страницы 32–630x0000 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.

31302928272625242322212019181716
—
1514131211109876543210
—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.

31302928272625242322212019181716
FPU_IE_5FPU_IE_4FPU_IE_3FPU_IE_2FPU_IE_1FPU_IE_0—I2C4_FMPI2C3_FMPI2C2_FMPI2C1_FMPI2C_PB9_FMPI2C_PB8_FMPI2C_PB7_FMPI2C_PB6_FMP
1514131211109876543210
—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].

31302928272625242322212019181716
—
1514131211109876543210
EXTI3EXTI2EXTI1EXTI0
  • 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].

31302928272625242322212019181716
—
1514131211109876543210
EXTI7EXTI6EXTI5EXTI4
  • 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].

31302928272625242322212019181716
—
1514131211109876543210
EXTI11EXTI10EXTI9EXTI8
  • 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].

31302928272625242322212019181716
—
1514131211109876543210
—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.

31302928272625242322212019181716
—
1514131211109876543210
—SRAM2BSYSRAM2ER
  • SRAM2BSY (бит 1) — Идёт стирание SRAM2 (только чтение).
  • SRAM2ER (бит 0) — Запуск аппаратного стирания SRAM2 (после ключа SYSCFG_SKR).

SYSCFG_CFGR2 — сигналы аварийного останова таймеров и чётность SRAM

Смещение 0x1C, адрес 0x4001 001C, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: SYSCFG->CFGR2.

31302928272625242322212019181716
—
1514131211109876543210
—SPF—ECCLPVDLSPLCLL
  • 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.

31302928272625242322212019181716
PAGE31PAGE30PAGE29PAGE28PAGE27PAGE26PAGE25PAGE24PAGE23PAGE22PAGE21PAGE20PAGE19PAGE18PAGE17PAGE16
1514131211109876543210
PAGE15PAGE14PAGE13PAGE12PAGE11PAGE10PAGE9PAGE8PAGE7PAGE6PAGE5PAGE4PAGE3PAGE2PAGE1PAGE0
  • 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.

31302928272625242322212019181716
—
1514131211109876543210
—KEY
  • KEY (биты 7:0) — Ключ: запись 0xCA, затем 0x53 разрешает стирание SRAM битом SYSCFG_SCSR.

SYSCFG_SWPR2 — защита страниц SRAM2 от записи, страницы 32–63

Смещение 0x28, адрес 0x4001 0028, 32 бит, после сброса 0x0000 0000 (при системном сбросе); регистр есть только у STM32L496, STM32L4A6. В коде: SYSCFG->SWPR2.

31302928272625242322212019181716
PAGE63PAGE62PAGE61PAGE60PAGE59PAGE58PAGE57PAGE56PAGE55PAGE54PAGE53PAGE52PAGE51PAGE50PAGE49PAGE48
1514131211109876543210
PAGE47PAGE46PAGE45PAGE44PAGE43PAGE42PAGE41PAGE40PAGE39PAGE38PAGE37PAGE36PAGE35PAGE34PAGE33PAGE32
  • 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.

Источники

  1. STMicroelectronics. RM0351: Reference manual (Rev 11) — раздел 9.2: описание регистров, назначение полей и значения после сброса
  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

Калькуляторы и статьи