SYSCTL Introduction
272
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
System Controller (SYSCTL)
4.1
SYSCTL Introduction
The System Controller (SYSCTL) on MSP432P4xx devices is responsible for the following functions:
•
Device memory configuration and status
•
NMI sources configuration and status
•
Watchdog configuration to generate hard reset or soft reset
•
Clock run or stop configuration to various modules in debug mode
•
Override controls for resets for device debug
•
Device security configuration
•
Device configuration and peripherals calibration information through Device Descriptors
4.2
Device Memory Configuration and Status
The following sections provide information on device memory configuration and status provided by
SYSCTL.
4.2.1 Flash
The size of flash main memory can vary from device to device in the MSP432P4xx family. The flash main
memory can be viewed as two independent identical banks, each of which is half of the total size of the
flash main memory. This allows simultaneous read or execute from one bank while the other bank is
undergoing a program or erase operation. The size of flash main memory available on the device is
represented through the SYS_FLASH_SIZE register.
4.2.2 SRAM
The size of SRAM can vary from device to device in the MSP432P4xx family. The SRAM is aliased in both
Code and SRAM memory zones of the CPU memory map. The size of SRAM available on the device is
reported in the SYS_SRAM_SIZE register.
4.2.2.1
SRAM Bank Enable Configuration
The application can optimize the power consumption of the SRAM. To enable this optimization, the SRAM
memory is divided into different banks that can be powered down individually. Banks that are powered
down remain powered down in both active and low-power modes of operation, thereby limiting any
unnecessary inrush current when the device transitions between active and retention-based low-power
modes. The application can also disable one (or more) banks for a certain stage in the processing and re-
enable it for another stage.
When a particular bank is disabled, reads to its address space return 0h, and writes are discarded. To
prevent 'holes' in the memory map, if a particular bank is enabled, all of the lower banks are also forced to
enabled state. This ensures a contiguous memory map through the set of enabled banks instead of a
allowing a disabled bank to appear between enabled banks. For example:
•
If there are eight banks in the device, values of 00111111 and 00000111 are acceptable.
•
Values like 00010111 are not valid, and the resultant bank configuration is automatically set to
00011111.
•
For example, for a 8-bank SRAM, the only allowed values are 00000001, 00000011, 00000111,
00001111, 00011111, 00111111, 01111111 and 11111111.
Bank0 of SRAM is always enabled and cannot be disabled. For all other banks, any enable or disable
change results in the SRAM_RDY bit of the SYS_SRAM_BANKEN register being set to 0 until the
configuration change is effective. Any accesses to the SRAM is stalled during this time, and access
resumes only after the SRAM banks are ready for read or write operations. This is handled transparently
and does not require any code intervention.