SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Table 41-175 lists the memory-mapped registers for the SYSTICK registers. All register offset addresses not listed in Table 41-175 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Write Protection | Section |
|---|---|---|---|---|
| 10h | SYST_CSR | Privileged a SysTick Control and Status Register | Go | |
| 14h | SYST_RVR | Privileged Unknown SysTick Reload Value Register | Go | |
| 18h | SYST_CVR | Privileged Unknown SysTick Current Value Register | Go | |
| 1Ch | SYST_CALIB | Privileged -a SysTick Calibration Value Register | Go |
Complex bit access types are encoded to fit into small table cells. Table 41-176 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
SYST_CSR is shown in Figure 41-160 and described in Table 41-177.
Return to the Summary Table.
Privileged a SysTick Control and Status Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | COUNTFLAG | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CLKSOURCE | TICKINT | ENABLE | ||||
| R-0h | R/W-1h | R/W-0h | R/W-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | Reserved |
| 16 | COUNTFLAG | R/W | 0h | Returns 1 if timer counted to 0 since last time this was read. Reset type: CM.SYSRESETn |
| 15-3 | RESERVED | R | 0h | Reserved |
| 2 | CLKSOURCE | R/W | 1h | Indicates the clock source:
0 = external clock 1 = processor clock. Reset type: CM.SYSRESETn |
| 1 | TICKINT | R/W | 0h | Enables SysTick exception request:
0 = counting down to zero does not assert the SysTick exception request 1 = counting down to zero asserts the SysTick exception request. Software can use COUNTFLAG to determine if SysTick has ever counted to zero. Reset type: CM.SYSRESETn |
| 0 | ENABLE | R/W | 0h | Enables the counter:
0 = counter disabled 1 = counter enabled. Reset type: CM.SYSRESETn |
SYST_RVR is shown in Figure 41-161 and described in Table 41-178.
Return to the Summary Table.
Privileged Unknown SysTick Reload Value Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RELOAD | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | RESERVED | R | 0h | Reserved |
| 23-0 | RELOAD | R/W | 0h | Value to load into the SYST_CVR register when the counter is enabled and when it reaches 0. The RELOAD value can be any value in the range 0x00000001-0x00FFFFFF. A start value of 0 is possible, but has no effect because the SysTick exception request and COUNTFLAG are activated when counting from 1 to 0. The RELOAD value is calculated according to its use. For example, to generate a multi-shot timer with a period of N processor clock cycles, use a RELOAD value of N-1. If the SysTick interrupt is required every 100 clock pulses, set RELOAD to 99. Reset type: CM.SYSRESETn |
SYST_CVR is shown in Figure 41-162 and described in Table 41-179.
Return to the Summary Table.
Privileged Unknown SysTick Current Value Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CURRENT | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | RESERVED | R | 0h | Reserved |
| 23-0 | CURRENT | R/W | 0h | Reads return the current value of the SysTick counter. A write of any value clears the field to 0, and also clears the SYST_CSR COUNTFLAG bit to 0. Reset type: CM.SYSRESETn |
SYST_CALIB is shown in Figure 41-163 and described in Table 41-180.
Return to the Summary Table.
Privileged -a SysTick Calibration Value Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| NOREF | SKEW | RESERVED | |||||
| R/W-0h | R/W-0h | R-0h | |||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| TENMS | |||||||
| R/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| TENMS | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TENMS | |||||||
| R/W-0h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | NOREF | R/W | 0h | Indicates whether the device provides a reference clock to the processor:
0 = reference clock provided 1 = no reference clock provided. If your device does not provide a reference clock, the SYST_CSR.CLKSOURCE bit reads-as-one and ignores writes. Reset type: CM.SYSRESETn |
| 30 | SKEW | R/W | 0h | Indicates whether the TENMS value is exact:
0 = TENMS value is exact 1 = TENMS value is inexact, or not given. An inexact TENMS value can affect the suitability of SysTick as a software real time clock. Reset type: CM.SYSRESETn |
| 29-24 | RESERVED | R | 0h | Reserved |
| 23-0 | TENMS | R/W | 0h | Reload value for 10ms (100Hz) timing, subject to system clock skew errors. If the value reads as
zero, the calibration value is not known. Reset type: CM.SYSRESETn |