embeded/Cortex-M7 STM2024. 7. 22. 17:13

소스를 뒤져보면서 메뉴얼 찾아보는 중

 

stm32h7xx_hal_pwr_ex.c 파일에 보면 D3Domain 이라고 PWR_CPUCR_RUN_D3 라고

d3 도메인의 cpu (cortex-m4)를 살리는 녀석으로 보인다.

void HAL_PWREx_ConfigD3Domain (uint32_t D3State)
{
  /* Check the parameter */
  assert_param (IS_D3_STATE (D3State));

  /* Keep D3/SRD in run mode */
  MODIFY_REG (PWR->CPUCR, PWR_CPUCR_RUN_D3, D3State);
}

 

/********************  Bit definition for PWR_CPUCR register  *****************/
#define PWR_CPUCR_RUN_D3_Pos           (11U)
#define PWR_CPUCR_RUN_D3_Msk           (0x1UL << PWR_CPUCR_RUN_D3_Pos)         /*!< 0x00000800 */
#define PWR_CPUCR_RUN_D3               PWR_CPUCR_RUN_D3_Msk                    /*!< Keep system D3 domain in RUN mode regardless of the CPU sub-systems modes */


/********************  Bit definition for PWR_CPU2CR register  ****************/
#define PWR_CPU2CR_RUN_D3_Pos          (11U)
#define PWR_CPU2CR_RUN_D3_Msk          (0x1UL << PWR_CPU2CR_RUN_D3_Pos)        /*!< 0x00000800 */
#define PWR_CPU2CR_RUN_D3              PWR_CPU2CR_RUN_D3_Msk                   /*!< Keep system D3 domain in RUN mode regardless of the CPU sub-systems modes */

 

stm32h757xi.pdf 데이터 시트 31page

어.. D2 domain에 Cortex-M4 였네..

 

rm0399-stm32h745755-and-stm32h747757-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

7.6.1 Operating modes
Several system operating modes are available to tune the system according to the
performance required, i.e. when the CPU(s) do not need to execute code and are waiting for
an external event. It is up to the user to select the operating mode that gives the best
compromise between low power consumption, short startup time and available wakeup
sources.
The operating modes allow controlling the clock distribution to the different system blocks
and powering them. The system operating mode is driven by CPU1 subsystem, CPU2
subsystem and system D3 autonomous wakeup. A CPU subsystem can include multiple
domains depending on its peripheral allocation (see Section 9.5.11: Peripheral clock gating
control).
The following operating modes are available for the different system blocks (see Table 34):

CPU subsystem modes:

CRun
CPU and CPU subsystem peripheral allocated via RCC PERxEN bits are clocked.

CSleep:
The CPU clocks is stalled and the CPU subsystem allocated peripheral(s) clock
operate according to RCC PERxLPEN.

CStop:
CPU and CPU subsystem peripheral clocks are stalled.

D1 domain and D2 domain modes:

DRun
The domain bus matrix is clocked:
- The domain CPU subsystem(a) is in CRun or CSleep mode,
or
- the other domain CPU subsystem(a) having an allocated peripheral in the domain
is in CRun or CSleep mode.

DStop
The domain bus matrix clock is stalled:
- The domain CPU subsystem is in CStop mode
and
- The other domain CPU subsystem has no peripheral allocated in the domain.
or the other domain CPU subsystem having an allocated peripheral in the domain
is also in CStop mode
and
- At least one PDDS_Dn(b) bit for the domain select DStop.

DStandby
The domain is powered down:
- The domain CPU subsystem is in CStop mode
and
- The other domain CPU subsystem has no peripheral allocated in the domain
or the other domain CPU subsystem having an allocated peripheral in the domain
is also in CStop mode
and
- All PDDS_Dn(b) bits for the domain select DStandby mode.

System /D3 domain modes

Run/Run*
The system clock and D3 domain bus matrix clock are running:
- A CPU subsystem is in CRun or CSleep mode
or
- A wakeup signal is active. (i.e. System D3 autonomous mode)
The Run* mode is entered after a POR reset and a wakeup from Standby. In Run*
mode, the performance is limited and the system supply configuration shall be
programmed in PWR control register 3 (PWR_CR3). The system enters Run
mode only when the ACTVOSRDY bit in PWR control status register 1
(PWR_CSR1) is set to 1.

Stop
The system clock and D3 domain bus matrix clock is stalled:
- both CPU subsystems are in CStop mode.
and
- all wakeup signals are inactive.
and
- At least one PDDS_Dn(b) bit for any domain select Stop mode.

Standby
The system is powered down:
- both CPU subsystems are in CStop mode
and
- all wakeup signals are inactive.
and
- All PDDS_Dn(b) bits for all domains select Standby mode.
In Run mode, power consumption can be reduced by one of the following means:
•Lowering the system performance by slowing down the system clocks and reducing the
VCORE supply level through VOS voltage scaling bits.
•Gating the clocks to the APBx and AHBx peripherals when they are not used, through
PERxEN bits.

a. The domain CPU subsystem, for example CPU1 subsystem for D1 domain.
a. The other domain CPU subsystem, for example CPU1 subsystem for D2 domain.

 

9 Reset and Clock Control (RCC)
The RCC block manages the clock and reset generation for the whole microcontroller, which embeds two CPUs: an Arm® Cortex®-M7 and an Arm® Cortex®-M4, called CPU1 and CPU2, respectively.
The RCC block is located in the D3 domain (refer to Section 7: Power control (PWR) for a detailed description).
The operating modes this section refers to are defined in Section 7.6.1: Operating modes of the PWR block.

 

cpu1 power 용

 

cpu2 power 용. 서로 접근하면 되나?

'embeded > Cortex-M7 STM' 카테고리의 다른 글

우분투에서 stm32cubeide 삭제  (0) 2024.07.24
STM32H7 디버깅 설정(cubeIDE)  (0) 2024.07.22
STM32 MPU(Memory Protection Unit)  (0) 2024.07.22
STM32 HSEM (Hardware SEMaphore)  (0) 2024.07.22
STM32H757 User configuration  (0) 2024.07.22
Posted by 구차니