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

Регистры ACCESSCTRL RP2350

Регистры управления доступом RP2350: кто — отладчик, DMA, ядро 0 или ядро 1 — и из какого режима, защищённого или незащищённого, привилегированного или нет, может обращаться к каждому блоку на шине, какие выводы GPIO открыты незащищённому коду и как закрыть сами настройки от записи.

ACCESSCTRL задаёт для каждого блока на шине, кто может к нему обращаться — отладчик, DMA, ядро 0, ядро 1 — и из каких режимов: защищённого или незащищённого (Arm TrustZone), привилегированного или нет. Фильтры шины отклоняют обращения, не прошедшие проверку. Права распространяются и на связанные вещи: сброс блока в RESETS, выбор его функции на GPIO, запросы DMA (даташит RP2350, раздел 10.6).

После сброса загрузочное ПЗУ, окно XIP, SRAM и SYSINFO открыты всем, XIP_AUX и SHA256 доступны только защищённому привилегированному коду, а POWMAN, TRNG, тактирование, генераторы, PLL, сторожевой таймер, QMI и ещё несколько блоков — вдобавок без доступа DMA. Остальные блоки доступны только защищённому коду. GPIO_NSMASK0 и GPIO_NSMASK1 открывают незащищённому коду отдельные выводы.

Запись в ACCESSCTRL, кроме GPIO_NSMASK0 и GPIO_NSMASK1, требует значения 0xACCE в старших 16 битах — иначе ошибка шины; запись из непривилегированного режима и от DMA тоже даёт ошибку. LOCK запрещает запись от отдельных ведущих до полного сброса блока, а FORCE_CORE_NS делает все обращения ядра 1 незащищёнными — для схем, где защищённые службы работают только на ядре 0.

ЭкземплярБазовый адрес
ACCESSCTRL0x4006 0000

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

РегистрСмещениеНазначениеПосле сброса
ACCESSCTRL_LOCK0x00Запрет записи в ACCESSCTRL от отдельных ведущих0x0000 0004
ACCESSCTRL_FORCE_CORE_NS0x04Незащищённые обращения ядра 10x0000 0000
ACCESSCTRL_CFGRESET0x08Запись 1 сбрасывает все настройки ACCESSCTRL, кроме LOCK и FORCE_CORE_NS0x0000 0000
ACCESSCTRL_GPIO_NSMASK00x0CДоступ незащищённого кода к GPIO0–31: бит на вывод0x0000 0000
ACCESSCTRL_GPIO_NSMASK10x10Доступ незащищённого кода к GPIO32–47, выводам QSPI и линиям USB0x0000 0000
ACCESSCTRL_ROM0x14Права доступа к загрузочному ПЗУ0x0000 00FF
ACCESSCTRL_XIP_MAIN0x18Права доступа к окну XIP0x0000 00FF
ACCESSCTRL_SRAM00x1CПрава доступа к банку SRAM00x0000 00FF
ACCESSCTRL_SRAM10x20Права доступа к банку SRAM10x0000 00FF
ACCESSCTRL_SRAM20x24Права доступа к банку SRAM20x0000 00FF
ACCESSCTRL_SRAM30x28Права доступа к банку SRAM30x0000 00FF
ACCESSCTRL_SRAM40x2CПрава доступа к банку SRAM40x0000 00FF
ACCESSCTRL_SRAM50x30Права доступа к банку SRAM50x0000 00FF
ACCESSCTRL_SRAM60x34Права доступа к банку SRAM60x0000 00FF
ACCESSCTRL_SRAM70x38Права доступа к банку SRAM70x0000 00FF
ACCESSCTRL_SRAM80x3CПрава доступа к банку SRAM80x0000 00FF
ACCESSCTRL_SRAM90x40Права доступа к банку SRAM90x0000 00FF
ACCESSCTRL_DMA0x44Права доступа к блоку DMA0x0000 00FC
ACCESSCTRL_USBCTRL0x48Права доступа к блоку USBCTRL0x0000 00FC
ACCESSCTRL_PIO00x4CПрава доступа к блоку PIO00x0000 00FC
ACCESSCTRL_PIO10x50Права доступа к блоку PIO10x0000 00FC
ACCESSCTRL_PIO20x54Права доступа к блоку PIO20x0000 00FC
ACCESSCTRL_CORESIGHT_TRACE0x58Права доступа к блоку CORESIGHT_TRACE0x0000 00B8
ACCESSCTRL_CORESIGHT_PERIPH0x5CПрава доступа к блоку CORESIGHT_PERIPH0x0000 00B8
ACCESSCTRL_SYSINFO0x60Права доступа к блоку SYSINFO0x0000 00FF
ACCESSCTRL_RESETS0x64Права доступа к блоку RESETS0x0000 00FC
ACCESSCTRL_IO_BANK00x68Права доступа к блоку IO_BANK00x0000 00FC
ACCESSCTRL_IO_BANK10x6CПрава доступа к блоку IO_BANK10x0000 00FC
ACCESSCTRL_PADS_BANK00x70Права доступа к блоку PADS_BANK00x0000 00FC
ACCESSCTRL_PADS_QSPI0x74Права доступа к блоку PADS_QSPI0x0000 00FC
ACCESSCTRL_BUSCTRL0x78Права доступа к блоку BUSCTRL0x0000 00FC
ACCESSCTRL_ADC00x7CПрава доступа к блоку ADC00x0000 00FC
ACCESSCTRL_HSTX0x80Права доступа к блоку HSTX0x0000 00FC
ACCESSCTRL_I2C00x84Права доступа к блоку I2C00x0000 00FC
ACCESSCTRL_I2C10x88Права доступа к блоку I2C10x0000 00FC
ACCESSCTRL_PWM0x8CПрава доступа к блоку PWM0x0000 00FC
ACCESSCTRL_SPI00x90Права доступа к блоку SPI00x0000 00FC
ACCESSCTRL_SPI10x94Права доступа к блоку SPI10x0000 00FC
ACCESSCTRL_TIMER00x98Права доступа к блоку TIMER00x0000 00FC
ACCESSCTRL_TIMER10x9CПрава доступа к блоку TIMER10x0000 00FC
ACCESSCTRL_UART00xA0Права доступа к блоку UART00x0000 00FC
ACCESSCTRL_UART10xA4Права доступа к блоку UART10x0000 00FC
ACCESSCTRL_OTP0xA8Права доступа к блоку OTP0x0000 00FC
ACCESSCTRL_TBMAN0xACПрава доступа к блоку TBMAN0x0000 00FC
ACCESSCTRL_POWMAN0xB0Права доступа к блоку POWMAN0x0000 00B8
ACCESSCTRL_TRNG0xB4Права доступа к блоку TRNG0x0000 00B8
ACCESSCTRL_SHA2560xB8Права доступа к блоку SHA2560x0000 00F8
ACCESSCTRL_SYSCFG0xBCПрава доступа к блоку SYSCFG0x0000 00B8
ACCESSCTRL_CLOCKS0xC0Права доступа к блоку CLOCKS0x0000 00B8
ACCESSCTRL_XOSC0xC4Права доступа к блоку XOSC0x0000 00B8
ACCESSCTRL_ROSC0xC8Права доступа к блоку ROSC0x0000 00B8
ACCESSCTRL_PLL_SYS0xCCПрава доступа к блоку PLL_SYS0x0000 00B8
ACCESSCTRL_PLL_USB0xD0Права доступа к блоку PLL_USB0x0000 00B8
ACCESSCTRL_TICKS0xD4Права доступа к блоку TICKS0x0000 00B8
ACCESSCTRL_WATCHDOG0xD8Права доступа к блоку WATCHDOG0x0000 00B8
ACCESSCTRL_RSM0xDCПрава доступа к блоку RSM0x0000 00B8
ACCESSCTRL_XIP_CTRL0xE0Права доступа к блоку XIP_CTRL0x0000 00B8
ACCESSCTRL_XIP_QMI0xE4Права доступа к блоку XIP_QMI0x0000 00B8
ACCESSCTRL_XIP_AUX0xE8Права доступа к блоку XIP_AUX0x0000 00F8

ACCESSCTRL_LOCK — запрет записи в ACCESSCTRL от отдельных ведущих

Смещение 0x00, адрес 0x4006 0000, после сброса 0x0000 0004. Макросы pico-sdk: ACCESSCTRL_LOCK_…

1514131211109876543210
—DEBUGDMACORE1CORE0
  • DEBUG (бит 3, чтение и запись, после сброса 0x0) — Запретить запись от отладчика; снимается только полным сбросом ACCESSCTRL.
  • DMA (бит 2, только чтение, после сброса 0x1) — Запись от DMA запрещена — бит установлен после сброса.
  • CORE1 (бит 1, чтение и запись, после сброса 0x0) — Запретить запись от ядра 1; снимается только полным сбросом ACCESSCTRL.
  • CORE0 (бит 0, чтение и запись, после сброса 0x0) — Запретить запись от ядра 0; снимается только полным сбросом ACCESSCTRL.

ACCESSCTRL_FORCE_CORE_NS — незащищённые обращения ядра 1

Смещение 0x04, адрес 0x4006 0004, после сброса 0x0000 0000. Макросы pico-sdk: ACCESSCTRL_FORCE_CORE_NS_…

  • CORE1 (бит 1, чтение и запись, после сброса 0x0) — Все обращения ядра 1 к шине — незащищённые, независимо от его режима.

ACCESSCTRL_CFGRESET — запись 1 сбрасывает все настройки ACCESSCTRL, кроме LOCK и FORCE_CORE_NS

Смещение 0x08, адрес 0x4006 0008, после сброса 0x0000 0000, сбрасывается сам. Макросы pico-sdk: ACCESSCTRL_CFGRESET_…

Отдельных полей нет: значение занимает бит 0, остальные биты не используются.

ACCESSCTRL_GPIO_NSMASK0 — доступ незащищённого кода к GPIO0–31: бит на вывод

Смещение 0x0C, адрес 0x4006 000C, после сброса 0x0000 0000, чтение и запись. Макросы pico-sdk: ACCESSCTRL_GPIO_NSMASK0_…

Значение занимает регистр целиком, отдельных полей нет.

ACCESSCTRL_GPIO_NSMASK1 — доступ незащищённого кода к GPIO32–47, выводам QSPI и линиям USB

Смещение 0x10, адрес 0x4006 0010, после сброса 0x0000 0000. Макросы pico-sdk: ACCESSCTRL_GPIO_NSMASK1_…

31302928272625242322212019181716
QSPI_SDQSPI_CSNQSPI_SCKUSB_DMUSB_DP—
1514131211109876543210
GPIO
  • QSPI_SD (биты 31:28, чтение и запись, после сброса 0x0) — Доступ к линиям QSPI SD0–SD3 через незащищённый SIO.
  • QSPI_CSN (бит 27, чтение и запись, после сброса 0x0) — Доступ к выводу QSPI CSn через незащищённый SIO.
  • QSPI_SCK (бит 26, чтение и запись, после сброса 0x0) — Доступ к выводу QSPI SCK через незащищённый SIO.
  • USB_DM (бит 25, чтение и запись, после сброса 0x0) — Доступ к линии USB DM через незащищённый SIO.
  • USB_DP (бит 24, чтение и запись, после сброса 0x0) — Доступ к линии USB DP через незащищённый SIO.
  • GPIO (биты 15:0, чтение и запись, после сброса 0x0000) — GPIO32–47: бит на вывод.

ACCESSCTRL_ROM — права доступа к загрузочному ПЗУ

Смещение 0x14, адрес 0x4006 0014, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_ROM_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_XIP_MAIN — права доступа к окну XIP

Смещение 0x18, адрес 0x4006 0018, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_XIP_MAIN_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM0 — права доступа к банку SRAM0

Смещение 0x1C, адрес 0x4006 001C, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM1 — права доступа к банку SRAM1

Смещение 0x20, адрес 0x4006 0020, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM2 — права доступа к банку SRAM2

Смещение 0x24, адрес 0x4006 0024, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM2_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM3 — права доступа к банку SRAM3

Смещение 0x28, адрес 0x4006 0028, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM3_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM4 — права доступа к банку SRAM4

Смещение 0x2C, адрес 0x4006 002C, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM4_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM5 — права доступа к банку SRAM5

Смещение 0x30, адрес 0x4006 0030, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM5_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM6 — права доступа к банку SRAM6

Смещение 0x34, адрес 0x4006 0034, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM6_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM7 — права доступа к банку SRAM7

Смещение 0x38, адрес 0x4006 0038, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM7_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM8 — права доступа к банку SRAM8

Смещение 0x3C, адрес 0x4006 003C, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM8_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SRAM9 — права доступа к банку SRAM9

Смещение 0x40, адрес 0x4006 0040, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SRAM9_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_DMA — права доступа к блоку DMA

Смещение 0x44, адрес 0x4006 0044, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_DMA_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_USBCTRL — права доступа к блоку USBCTRL

Смещение 0x48, адрес 0x4006 0048, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_USBCTRL_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PIO0 — права доступа к блоку PIO0

Смещение 0x4C, адрес 0x4006 004C, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PIO0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PIO1 — права доступа к блоку PIO1

Смещение 0x50, адрес 0x4006 0050, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PIO1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PIO2 — права доступа к блоку PIO2

Смещение 0x54, адрес 0x4006 0054, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PIO2_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_CORESIGHT_TRACE — права доступа к блоку CORESIGHT_TRACE

Смещение 0x58, адрес 0x4006 0058, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_CORESIGHT_TRACE_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_CORESIGHT_PERIPH — права доступа к блоку CORESIGHT_PERIPH

Смещение 0x5C, адрес 0x4006 005C, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_CORESIGHT_PERIPH_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SYSINFO — права доступа к блоку SYSINFO

Смещение 0x60, адрес 0x4006 0060, после сброса 0x0000 00FF. Макросы pico-sdk: ACCESSCTRL_SYSINFO_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x1) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x1) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_RESETS — права доступа к блоку RESETS

Смещение 0x64, адрес 0x4006 0064, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_RESETS_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_IO_BANK0 — права доступа к блоку IO_BANK0

Смещение 0x68, адрес 0x4006 0068, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_IO_BANK0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_IO_BANK1 — права доступа к блоку IO_BANK1

Смещение 0x6C, адрес 0x4006 006C, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_IO_BANK1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PADS_BANK0 — права доступа к блоку PADS_BANK0

Смещение 0x70, адрес 0x4006 0070, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PADS_BANK0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PADS_QSPI — права доступа к блоку PADS_QSPI

Смещение 0x74, адрес 0x4006 0074, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PADS_QSPI_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_BUSCTRL — права доступа к блоку BUSCTRL

Смещение 0x78, адрес 0x4006 0078, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_BUSCTRL_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_ADC0 — права доступа к блоку ADC0

Смещение 0x7C, адрес 0x4006 007C, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_ADC0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_HSTX — права доступа к блоку HSTX

Смещение 0x80, адрес 0x4006 0080, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_HSTX_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_I2C0 — права доступа к блоку I2C0

Смещение 0x84, адрес 0x4006 0084, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_I2C0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_I2C1 — права доступа к блоку I2C1

Смещение 0x88, адрес 0x4006 0088, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_I2C1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PWM — права доступа к блоку PWM

Смещение 0x8C, адрес 0x4006 008C, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_PWM_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SPI0 — права доступа к блоку SPI0

Смещение 0x90, адрес 0x4006 0090, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_SPI0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SPI1 — права доступа к блоку SPI1

Смещение 0x94, адрес 0x4006 0094, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_SPI1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_TIMER0 — права доступа к блоку TIMER0

Смещение 0x98, адрес 0x4006 0098, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_TIMER0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_TIMER1 — права доступа к блоку TIMER1

Смещение 0x9C, адрес 0x4006 009C, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_TIMER1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_UART0 — права доступа к блоку UART0

Смещение 0xA0, адрес 0x4006 00A0, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_UART0_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_UART1 — права доступа к блоку UART1

Смещение 0xA4, адрес 0x4006 00A4, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_UART1_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_OTP — права доступа к блоку OTP

Смещение 0xA8, адрес 0x4006 00A8, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_OTP_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_TBMAN — права доступа к блоку TBMAN

Смещение 0xAC, адрес 0x4006 00AC, после сброса 0x0000 00FC. Макросы pico-sdk: ACCESSCTRL_TBMAN_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x1) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_POWMAN — права доступа к блоку POWMAN

Смещение 0xB0, адрес 0x4006 00B0, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_POWMAN_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_TRNG — права доступа к блоку TRNG

Смещение 0xB4, адрес 0x4006 00B4, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_TRNG_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SHA256 — права доступа к блоку SHA256

Смещение 0xB8, адрес 0x4006 00B8, после сброса 0x0000 00F8. Макросы pico-sdk: ACCESSCTRL_SHA256_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_SYSCFG — права доступа к блоку SYSCFG

Смещение 0xBC, адрес 0x4006 00BC, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_SYSCFG_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_CLOCKS — права доступа к блоку CLOCKS

Смещение 0xC0, адрес 0x4006 00C0, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_CLOCKS_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_XOSC — права доступа к блоку XOSC

Смещение 0xC4, адрес 0x4006 00C4, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_XOSC_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_ROSC — права доступа к блоку ROSC

Смещение 0xC8, адрес 0x4006 00C8, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_ROSC_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PLL_SYS — права доступа к блоку PLL_SYS

Смещение 0xCC, адрес 0x4006 00CC, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_PLL_SYS_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_PLL_USB — права доступа к блоку PLL_USB

Смещение 0xD0, адрес 0x4006 00D0, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_PLL_USB_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_TICKS — права доступа к блоку TICKS

Смещение 0xD4, адрес 0x4006 00D4, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_TICKS_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_WATCHDOG — права доступа к блоку WATCHDOG

Смещение 0xD8, адрес 0x4006 00D8, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_WATCHDOG_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_RSM — права доступа к блоку RSM

Смещение 0xDC, адрес 0x4006 00DC, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_RSM_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_XIP_CTRL — права доступа к блоку XIP_CTRL

Смещение 0xE0, адрес 0x4006 00E0, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_XIP_CTRL_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_XIP_QMI — права доступа к блоку XIP_QMI

Смещение 0xE4, адрес 0x4006 00E4, после сброса 0x0000 00B8. Макросы pico-sdk: ACCESSCTRL_XIP_QMI_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x0) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

ACCESSCTRL_XIP_AUX — права доступа к блоку XIP_AUX

Смещение 0xE8, адрес 0x4006 00E8, после сброса 0x0000 00F8. Макросы pico-sdk: ACCESSCTRL_XIP_AUX_…

1514131211109876543210
—DBGDMACORE1CORE0SPSUNSPNSU
  • DBG (бит 7, чтение и запись, после сброса 0x1) — Доступ отладчика: Mem-AP ядер Arm, отладочный режим и System Bus Access RISC-V.
  • DMA (бит 6, чтение и запись, после сброса 0x1) — Доступ DMA.
  • CORE1 (бит 5, чтение и запись, после сброса 0x1) — Доступ ядра 1.
  • CORE0 (бит 4, чтение и запись, после сброса 0x1) — Доступ ядра 0.
  • SP (бит 3, чтение и запись, после сброса 0x1) — Доступ из защищённого привилегированного режима.
  • SU (бит 2, чтение и запись, после сброса 0x0) — Доступ из защищённого непривилегированного режима; нужен ещё SP.
  • NSP (бит 1, чтение и запись, после сброса 0x0) — Доступ из незащищённого привилегированного режима.
  • NSU (бит 0, чтение и запись, после сброса 0x0) — Доступ из незащищённого непривилегированного режима; нужен ещё NSP, и тогда бит может менять незащищённый код.

Частые вопросы

Как дать незащищённому коду RP2350 доступ к периферии?

В регистре нужного блока в ACCESSCTRL установите бит NSP (и NSU для непривилегированного кода), записывая значение вместе с ключом 0xACCE в старших 16 битах. Выводы GPIO открывают отдельно — битами в GPIO_NSMASK0 или GPIO_NSMASK1.

Почему запись в ACCESSCTRL даёт ошибку шины?

Скорее всего, в старших 16 битах нет ключа 0xACCE: он нужен во всех записях, кроме GPIO_NSMASK0 и GPIO_NSMASK1, включая атомарные SET, CLR и XOR. Ошибку дают и записи из непривилегированного режима или от DMA.

Источники

  1. Raspberry Pi. RP2350 Datasheet (release 8, build 80d627281ed5) — раздел 10.6.3: список регистров, назначение полей, тип доступа и значения после сброса
  2. Raspberry Pi. pico-sdk 2.1.1: заголовки src/rp2350/hardware_regs/include/hardware/regs/*.h (коммит bddd20f) — смещения, биты, тип доступа и значение после сброса каждого поля, базовые адреса из addressmap.h; лицензия BSD-3-Clause

Нашли ошибку в регистрах?

Другие регистры RP2350

Статьи и термины