SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
On this device, the CPU1 subsystem acts as a controller, and by default (upon reset), the CPU1 subsystem owns all the configuration and control. Through software running on CPU1, peripherals and I/Os can be configured to be accessible by the CPU2 subsystem and the chosen configurations can be locked.
The PLL clock configuration is also owned by the CPU1 subsystem by default, but a clock control semaphore is provided by which CPU2 can grab access to the clock configuration registers.
Each CPU can be independently configured to accept interrupts from different peripherals. The interrupt path is divided into three stages – the peripheral, the PIE, and the CPU. All stages must be configured and enabled for an interrupt to propagate to the CPU.
Each CPU has their own NMI module to handle different exceptions during run time. If the NMI was on CPU1, any NMI exception that is not handled before the NMI Watchdog (NMIWD) timer expiration resets the entire device. If the NMI was on the CPU2 subsystem, then the CPU2 subsystem alone is reset, in which case the CPU1 subsystem is informed by another NMI that the CPU2 subsystem was reset because of NMIWD timer expiration.
Each CPU subsystem has their own watchdog timer module for software to use. Watchdog timer expiration on CPU2 resets the CPU2 subsystem alone when configured to generate a reset, but watchdog timer expiration on CPU1 resets the entire device.
Except for a CPU2 standalone internal reset, such as CPU2.NMIWD or CPU2.WD, each time the device is reset, the CPU2 subsystem is held under reset until the CPU1 subsystem brings the CPU2 subsystem out of reset. This is done by the boot ROM software running on the CPU1 core.
The register space of the device system control module can be found in Section 3.18.
This chapter explains the system control module on both the CPU subsystems.