Module tm4c123x_hal::sysctl

source ·
Expand description

System Control

The SYSCTL peripheral controls clocks and power.

The TM4C123x can be clocked from the Main Oscillator or the PLL, through a divider. The Main Oscillator can be either the internal 16 MHz precision oscillator, a 4 MHz derivation of the same, or an external crystal.

SYSCTL includes the following registers:

  • Device ID (class, major, minor, family, package, temperature range, )
  • Brown-out reset control
  • Brown-out/PLL interrupt control
  • Reset cause
  • Run-time clock configuration
  • GPIO high-performance bus control
  • System Properties
  • Registers to indicate whether peripherals are present
  • Registers to reset peripherals
  • Registers to enable/disable clocking of peripherals

See the LM4F120 datasheet, page 228 for a full list.

Modules

  • This module is all about identifying the physical chip we’re running on.

Structs

  • Used to configure the clock generators.
  • Frozen clock frequencies
  • Used to gate access to the run-time power control features of the chip.
  • Constrained SYSCTL peripheral.

Enums

  • Selects which crystal is fitted to the XOSC pins.
  • Selects how much to divide the system oscillator down.
  • List of peripherals that can be enabled or disabled
  • Selects the system oscillator source
  • Selects what to divide the PLL’s 400MHz down to.
  • Select whether the peripheral should be on or off
  • Select in which mode the peripheral should be affected
  • Selects the source for the system clock

Traits

  • Extension trait that constrains the SYSCTL peripheral

Functions

  • Activate or De-Activate clocks and power to the given peripheral in the given run mode.
  • Reset a peripheral