| NUC472_NUC442_BSP V3.04.000 The Board Support Package for NUC472/NUC442

Macros | Functions
SYS Exported Functions
NUC472/NUC442 Device Driver » SYS Driver » SYS Exported Constants
Collaboration diagram for SYS Exported Functions:

## Macros
#define | SYS_CLEAR_BOD_INT_FLAG() (SYS->BODCTL |= SYS_BODCTL_BODINTF_Msk)
| Clear Brown-out detector interrupt flag. More...
#define | SYS_CLEAR_BOD_LPM() (SYS->BODCTL &= ~SYS_BODCTL_BODLPM_Msk)
| Set Brown-out detector function to normal mode. More...
#define | SYS_DISABLE_BOD() (SYS->BODCTL &= ~SYS_BODCTL_BODEN_Msk)
| Disable Brown-out detector function. More...
#define | SYS_ENABLE_BOD() (SYS->BODCTL |= SYS_BODCTL_BODEN_Msk)
| Enable Brown-out detector function. More...
#define | SYS_GET_BOD_INT_FLAG() (SYS->BODCTL & SYS_BODCTL_BODINTF_Msk)
| Get Brown-out detector interrupt flag. More...
#define | SYS_GET_BOD_OUTPUT() (SYS->BODCTL & SYS_BODCTL_BODOUT_Msk)
| Get Brown-out detector status. More...
#define | SYS_DISABLE_BOD_RST() (SYS->BODCTL &= ~SYS_BODCTL_BODRSTEN_Msk)
| Disable Brown-out detector interrupt function. More...
#define | SYS_ENABLE_BOD_RST() (SYS->BODCTL |= SYS_BODCTL_BODRSTEN_Msk)
| Enable Brown-out detector reset function. More...
#define | SYS_SET_BOD_LPM() (SYS->BODCTL |= SYS_BODCTL_BODLPM_Msk)
| Set Brown-out detector function low power mode. More...
#define | SYS_SET_BOD_LEVEL(u32Level) (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCTL_BODVL_Msk) | u32Level)
| Set Brown-out detector voltage level. More...
#define | SYS_IS_BOD_RST() (SYS->RSTSTS & SYS_RSTSTS_BODRF_Msk)
| Get reset source is from Brown-out detector reset. More...
#define | SYS_IS_CPU_RST() (SYS->RSTSTS & SYS_RSTSTS_CPURF_Msk)
| Get reset source is from CPU reset. More...
#define | SYS_IS_LVR_RST() (SYS->RSTSTS & SYS_RSTSTS_LVRF_Msk)
| Get reset source is from LVR Reset. More...
#define | SYS_IS_POR_RST() (SYS->RSTSTS & SYS_RSTSTS_PORF_Msk)
| Get reset source is from Power-on Reset. More...
#define | SYS_IS_RSTPIN_RST() (SYS->RSTSTS & SYS_RSTSTS_PINRF_Msk)
| Get reset source is from reset pin reset. More...
#define | SYS_IS_SYSTEM_RST() (SYS->RSTSTS & SYS_RSTSTS_SYSRF_Msk)
| Get reset source is from system reset. More...
#define | SYS_IS_WDT_RST() (SYS->RSTSTS & SYS_RSTSTS_WDTRF_Msk)
| Get reset source is from window watch dog reset. More...
#define | SYS_DISABLE_LVR() (SYS->BODCTL &= ~SYS_BODCTL_LVREN_Msk)
| Disable Low-Voltage-Reset function. More...
#define | SYS_ENABLE_LVR() (SYS->BODCTL |= SYS_BODCTL_LVREN_Msk)
| Enable Low-Voltage-Reset function. More...
#define | SYS_DISABLE_POR() (SYS->PORCTL = 0x5AA5)
| Disable Power-on Reset function. More...
#define | SYS_ENABLE_POR() (SYS->PORCTL = 0)
| Enable Power-on Reset function. More...
#define | SYS_CLEAR_RST_SOURCE(u32RstSrc) (SYS->RSTSTS = u32RstSrc )
| Clear reset source flag. More...

## Functions
void | SYS_ClearResetSrc (uint32_t u32RstSrc)
| This function clear the selected system reset source. More...
uint32_t | SYS_GetBODStatus ()
| This function get Brown-out detector output status. More...
uint32_t | SYS_GetResetSrc (void)
| This function get the system reset source register value. More...
uint32_t | SYS_IsRegLocked (void)
| This function check register write-protection bit setting. More...
void | SYS_LockReg (void)
| This function enable register write-protection function. More...
void | SYS_UnlockReg (void)
| This function disable register write-protection function. More...
uint32_t | SYS_ReadPDID (void)
| This function get product ID. More...
void | SYS_ResetChip (void)
| This function reset chip. More...
void | SYS_ResetCPU (void)
| This function reset CPU. More...
void | SYS_ResetModule (uint32_t u32ModuleIndex)
| This function reset selected modules. More...
void | SYS_EnableBOD (int32_t i32Mode, uint32_t u32BODLevel)
| This function configure BOD function. Configure BOD reset or interrupt mode and set Brown-out voltage level. Enable Brown-out function. More...
void | SYS_DisableBOD (void)
| This function disable BOD function. More...

## Detailed Description

## Macro Definition Documentation

## ◆ SYS_CLEAR_BOD_INT_FLAG

#define SYS_CLEAR_BOD_INT_FLAG | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODINTF_Msk)

Clear Brown-out detector interrupt flag.

Parameters

  None |

Returns
  None

This macro clear Brown-out detector interrupt flag.

Definition at line 1092 of file sys.h.

## ◆ SYS_CLEAR_BOD_LPM

#define SYS_CLEAR_BOD_LPM | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_BODLPM_Msk)

Set Brown-out detector function to normal mode.

Parameters

  None |

Returns
  None

This macro set Brown-out detector to normal mode.

Definition at line 1100 of file sys.h.

## ◆ SYS_CLEAR_RST_SOURCE

#define SYS_CLEAR_RST_SOURCE | ( |  | u32RstSrc | ) | (SYS->RSTSTS = u32RstSrc )

Clear reset source flag.

Parameters

  [in] | u32RstSrc | is reset source. Including: SYS_RSTSTS_PORF_Msk SYS_RSTSTS_PINRF_Msk SYS_RSTSTS_WDTRF_Msk SYS_RSTSTS_LVRF_Msk SYS_RSTSTS_BODRF_Msk SYS_RSTSTS_SYSRF_Msk SYS_RSTSTS_CPURF_Msk

Returns
  None

This macro clear reset source flag.

Definition at line 1282 of file sys.h.

## ◆ SYS_DISABLE_BOD

#define SYS_DISABLE_BOD | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_BODEN_Msk)

Disable Brown-out detector function.

Parameters

  None |

Returns
  None

This macro disable Brown-out detector function.

Definition at line 1108 of file sys.h.

## ◆ SYS_DISABLE_BOD_RST

#define SYS_DISABLE_BOD_RST | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_BODRSTEN_Msk)

Disable Brown-out detector interrupt function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detector interrupt function.

Definition at line 1142 of file sys.h.

## ◆ SYS_DISABLE_LVR

#define SYS_DISABLE_LVR | ( |  | ) | (SYS->BODCTL &= ~SYS_BODCTL_LVREN_Msk)

Disable Low-Voltage-Reset function.

Parameters

  None |

Returns
  None

This macro disable Low-Voltage-Reset function.

Definition at line 1242 of file sys.h.

## ◆ SYS_DISABLE_POR

#define SYS_DISABLE_POR | ( |  | ) | (SYS->PORCTL = 0x5AA5)

Disable Power-on Reset function.

Parameters

  None |

Returns
  None

This macro disable Power-on Reset function.

Definition at line 1258 of file sys.h.

## ◆ SYS_ENABLE_BOD

#define SYS_ENABLE_BOD | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODEN_Msk)

Enable Brown-out detector function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detector function.

Definition at line 1116 of file sys.h.

## ◆ SYS_ENABLE_BOD_RST

#define SYS_ENABLE_BOD_RST | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODRSTEN_Msk)

Enable Brown-out detector reset function.

Parameters

  None |

Returns
  None

This macro enable Brown-out detect reset function.

Definition at line 1150 of file sys.h.

## ◆ SYS_ENABLE_LVR

#define SYS_ENABLE_LVR | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_LVREN_Msk)

Enable Low-Voltage-Reset function.

Parameters

  None |

Returns
  None

This macro enable Low-Voltage-Reset function.

Definition at line 1250 of file sys.h.

## ◆ SYS_ENABLE_POR

#define SYS_ENABLE_POR | ( |  | ) | (SYS->PORCTL = 0)

Enable Power-on Reset function.

Parameters

  None |

Returns
  None

This macro enable Power-on Reset function.

Definition at line 1266 of file sys.h.

## ◆ SYS_GET_BOD_INT_FLAG

#define SYS_GET_BOD_INT_FLAG | ( |  | ) | (SYS->BODCTL & SYS_BODCTL_BODINTF_Msk)

Get Brown-out detector interrupt flag.

Parameters

  None |

Return values

  0 | Brown-out detect interrupt flag is not set.
  >=1 | Brown-out detect interrupt flag is set.

This macro get Brown-out detector interrupt flag.

Definition at line 1124 of file sys.h.

## ◆ SYS_GET_BOD_OUTPUT

#define SYS_GET_BOD_OUTPUT | ( |  | ) | (SYS->BODCTL & SYS_BODCTL_BODOUT_Msk)

Get Brown-out detector status.

Parameters

  None |

Return values

  0 | System voltage is higher than BOD_VL setting or BOD_EN is 0.
  >=1 | System voltage is lower than BOD_VL setting.

This macro get Brown-out detector output status. If the BOD_EN is 0, this function always return 0.

Definition at line 1134 of file sys.h.

## ◆ SYS_IS_BOD_RST

#define SYS_IS_BOD_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_BODRF_Msk)

Get reset source is from Brown-out detector reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from Brown-out detector reset
  >=1 | Previous reset source is from Brown-out detector reset

This macro get previous reset source is from Brown-out detect reset or not.

Definition at line 1180 of file sys.h.

## ◆ SYS_IS_CPU_RST

#define SYS_IS_CPU_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_CPURF_Msk)

Get reset source is from CPU reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from CPU reset
  >=1 | Previous reset source is from CPU reset

This macro get previous reset source is from CPU reset.

Definition at line 1189 of file sys.h.

## ◆ SYS_IS_LVR_RST

#define SYS_IS_LVR_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_LVRF_Msk)

Get reset source is from LVR Reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from LVR Reset
  >=1 | Previous reset source is from LVR Reset

This macro get previous reset source is from Power-on Reset.

Definition at line 1198 of file sys.h.

## ◆ SYS_IS_POR_RST

#define SYS_IS_POR_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_PORF_Msk)

Get reset source is from Power-on Reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from Power-on Reset
  >=1 | Previous reset source is from Power-on Reset

This macro get previous reset source is from Power-on Reset.

Definition at line 1207 of file sys.h.

## ◆ SYS_IS_RSTPIN_RST

#define SYS_IS_RSTPIN_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_PINRF_Msk)

Get reset source is from reset pin reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from reset pin reset
  >=1 | Previous reset source is from reset pin reset

This macro get previous reset source is from reset pin reset.

Definition at line 1216 of file sys.h.

## ◆ SYS_IS_SYSTEM_RST

#define SYS_IS_SYSTEM_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_SYSRF_Msk)

Get reset source is from system reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from system reset
  >=1 | Previous reset source is from system reset

This macro get previous reset source is from system reset.

Definition at line 1225 of file sys.h.

## ◆ SYS_IS_WDT_RST

#define SYS_IS_WDT_RST | ( |  | ) | (SYS->RSTSTS & SYS_RSTSTS_WDTRF_Msk)

Get reset source is from window watch dog reset.

Parameters

  None |

Return values

  0 | Previous reset source is not from window watch dog reset
  >=1 | Previous reset source is from window watch dog reset

This macro get previous reset source is from window watch dog reset.

Definition at line 1234 of file sys.h.

## ◆ SYS_SET_BOD_LEVEL

#define SYS_SET_BOD_LEVEL | ( |  | u32Level | ) | (SYS->BODCTL = (SYS->BODCTL & ~SYS_BODCTL_BODVL_Msk) | u32Level)

Set Brown-out detector voltage level.

Parameters

  [in] | u32Level | is Brown-out voltage level. Including : SYS_BODCTL_BODVL_4_5V SYS_BODCTL_BODVL_3_8V SYS_BODCTL_BODVL_2_7V SYS_BODCTL_BODVL_2_2V

Returns
  None

This macro set Brown-out detector voltage level.

Definition at line 1171 of file sys.h.

## ◆ SYS_SET_BOD_LPM

#define SYS_SET_BOD_LPM | ( |  | ) | (SYS->BODCTL |= SYS_BODCTL_BODLPM_Msk)

Set Brown-out detector function low power mode.

Parameters

  None |

Returns
  None

This macro set Brown-out detector to low power mode.

Definition at line 1159 of file sys.h.

## Function Documentation

## ◆ SYS_ClearResetSrc()

void SYS_ClearResetSrc | ( | uint32_t | u32RstSrc | ) |

This function clear the selected system reset source.

Parameters

  [in] | u32RstSrc | is system reset source. Including: SYS_RSTSTS_PORF_Msk SYS_RSTSTS_PINRF_Msk SYS_RSTSTS_WDTRF_Msk SYS_RSTSTS_LVRF_Msk SYS_RSTSTS_BODRF_Msk SYS_RSTSTS_SYSRF_Msk SYS_RSTSTS_CPURF_Msk

Returns
  None

Definition at line 39 of file sys.c.

## ◆ SYS_DisableBOD()

void SYS_DisableBOD | ( | void |  | ) |

This function disable BOD function.

Returns
  None

Definition at line 210 of file sys.c.

## ◆ SYS_EnableBOD()

void SYS_EnableBOD | ( | int32_t | i32Mode,
|  | uint32_t | u32BODLevel
| ) |  |

This function configure BOD function. Configure BOD reset or interrupt mode and set Brown-out voltage level. Enable Brown-out function.

Parameters

  [in] | i32Mode | is reset or interrupt mode. Including : SYS_BODCTL_BODRSTEN SYS_BODCTL_BODINTEN
  [in] | u32BODLevel | is Brown-out voltage level. Including : SYS_BODCTL_BODVL_2_2V SYS_BODCTL_BODVL_2_7V SYS_BODCTL_BODVL_3_8V SYS_BODCTL_BODVL_4_5V

Returns
  None

Definition at line 200 of file sys.c.

## ◆ SYS_GetBODStatus()

uint32_t SYS_GetBODStatus | ( | void |  | ) |

This function get Brown-out detector output status.

Returns
  0: System voltage is higher than BODVL setting or BODEN is 0. 1: System voltage is lower than BODVL setting. Note : If the BOD_EN is 0, this function always return 0.

Definition at line 50 of file sys.c.

## ◆ SYS_GetResetSrc()

uint32_t SYS_GetResetSrc | ( | void |  | ) |

This function get the system reset source register value.

Returns
  Reset source

Definition at line 59 of file sys.c.

## ◆ SYS_IsRegLocked()

uint32_t SYS_IsRegLocked | ( | void |  | ) |

This function check register write-protection bit setting.

Returns
  0: Write-protection function is disabled. 1: Write-protection function is enabled.

Definition at line 69 of file sys.c.

## ◆ SYS_LockReg()

void SYS_LockReg | ( | void |  | ) |

This function enable register write-protection function.

Returns
  None

To lock the protected register to forbid write access

Definition at line 79 of file sys.c.

## ◆ SYS_ReadPDID()

uint32_t SYS_ReadPDID | ( | void |  | ) |

This function get product ID.

Returns
  Product ID

Definition at line 104 of file sys.c.

## ◆ SYS_ResetChip()

void SYS_ResetChip | ( | void |  | ) |

This function reset chip.

Returns
  None

Definition at line 113 of file sys.c.

## ◆ SYS_ResetCPU()

void SYS_ResetCPU | ( | void |  | ) |

This function reset CPU.

Returns
  None

Definition at line 122 of file sys.c.

## ◆ SYS_ResetModule()

void SYS_ResetModule | ( | uint32_t | u32ModuleIndex | ) |

This function reset selected modules.

Parameters

  [in] | u32ModuleIndex | is module index. Including : PDMA_RST EBI_RST USBH_RST EMAC_RST SDH_RST CRC_RST CAP_RST CRYPTO_RST GPIO_RST TMR0_RST TMR1_RST TMR2_RST TMR3_RST ACMP_RST I2C0_RST I2C1_RST I2C2_RST I2C3_RST SPI0_RST SPI1_RST SPI2_RST SPI3_RST UART0_RST UART1_RST UART2_RST UART3_RST UART4_RST UART5_RST CAN0_RST CAN1_RST OTG_RST USBD_RST ADC_RST I2S0_RST I2S1_RST PS2_RST SC0_RST SC1_RST SC2_RST SC3_RST SC4_RST SC5_RST I2C4_RST PWM0_RST PWM1_RST QEI0_RST QEI1_RST

Returns
  None

Definition at line 179 of file sys.c.

## ◆ SYS_UnlockReg()

void SYS_UnlockReg | ( | void |  | ) |

This function disable register write-protection function.

Returns
  None

To unlock the protected register to allow write access

Definition at line 90 of file sys.c.