Add SysTick counter reset in Cortex-M ports (#561)

* Add SysTick counter reset in Cortex-M ports

The SysTick counter value (SYST_CVR @0xE000E018) is indeterminate after
reset. Without clearing it prior to enabling the counter, the first tick
interval becomes unpredictable.

* Fixed missing comment and added generated-by header in Cortex-M0/AC6 port

Added the missing inline comment on the LDR r1, =0 instruction
(Build value for SysTick reset) and the required AI-generated
attribution comment under the copyright header.

---------

Co-authored-by: Frédéric Desbiens <frederic.desbiens@eclipse-foundation.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
hefanbo
2026-06-24 12:16:51 -04:00
committed by GitHub
co-authored by Frédéric Desbiens Copilot
parent 2dfe5acfb0
commit d9e7dfea89
66 changed files with 199 additions and 0 deletions
@@ -7,6 +7,7 @@
@ *
@ * SPDX-License-Identifier: MIT
@ **************************************************************************/
@ // Some portions generated by GitHub Copilot (Claude Sonnet 4.6).
@
@
@/**************************************************************************/
@@ -111,6 +112,9 @@ _tx_initialize_low_level:
@ /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
@
LDR r0, =0xE000E000 @ Build address of NVIC registers
LDR r1, =0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
LDR r1, =0x7 @ Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOVW r1, #0x7 // Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOVW r1, #0x7 // Build SysTick Control Enable Value
@@ -104,6 +104,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -162,6 +162,9 @@ _tx_initialize_low_level
; /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
@ /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
@
MOV r0, #0xE000E000 @ Build address of NVIC registers
MOV r1, #0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
MOV r1, #0x7 @ Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r1, 0 ; Build value for SysTick reset
STR r1, [r0, 0x10] ; Reset SysTick Control
STR r1, [r0, 0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, 0x14] ; Setup SysTick Reload Value
MOV r1, 0x7 ; Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -113,6 +113,9 @@ _tx_initialize_low_level:
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -161,6 +161,9 @@ _tx_initialize_low_level
; /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -103,6 +103,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -166,6 +166,9 @@ _tx_initialize_low_level
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
@ /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
@
MOV r0, #0xE000E000 @ Build address of NVIC registers
MOV r1, #0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
MOV r1, #0x7 @ Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r1, 0 ; Build value for SysTick reset
STR r1, [r0, 0x10] ; Reset SysTick Control
STR r1, [r0, 0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, 0x14] ; Setup SysTick Reload Value
MOV r1, 0x7 ; Build SysTick Control Enable Value
@@ -118,6 +118,9 @@ _tx_initialize_low_level:
@ /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
@
MOV r0, #0xE000E000 @ Build address of NVIC registers
MOV r1, #0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
MOV r1, #0x7 @ Build SysTick Control Enable Value
@@ -113,6 +113,9 @@ _tx_initialize_low_level:
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -181,6 +181,9 @@ _tx_initialize_low_level
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -103,6 +103,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -171,6 +171,9 @@ _tx_initialize_low_level
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
@ /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
@
MOV r0, #0xE000E000 @ Build address of NVIC registers
MOV r1, #0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
MOV r1, #0x7 @ Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r1, 0 ; Build value for SysTick reset
STR r1, [r0, 0x10] ; Reset SysTick Control
STR r1, [r0, 0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, 0x14] ; Setup SysTick Reload Value
MOV r1, 0x7 ; Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -113,6 +113,9 @@ _tx_initialize_low_level:
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -165,6 +165,9 @@ _tx_initialize_low_level
#ifndef TX_NO_TIMER
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
#ifndef TX_NO_TIMER
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -107,6 +107,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r1, 0 ; Build value for SysTick reset
STR r1, [r0, 0x10] ; Reset SysTick Control
STR r1, [r0, 0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, 0x14] ; Setup SysTick Reload Value
MOV r1, 0x7 ; Build SysTick Control Enable Value
@@ -104,6 +104,9 @@ _tx_initialize_low_level:
#ifndef TX_NO_TIMER
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -98,6 +98,9 @@ _tx_initialize_low_level:
#ifndef TX_NO_TIMER
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -106,6 +106,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -108,6 +108,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -117,6 +117,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
LDR r0, =0xE000E000 // Build address of NVIC registers
LDR r1, =0
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
MOVS r2, #0x14
STR r1, [r0, r2] // Setup SysTick Reload Value
@@ -118,6 +118,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
LDR r0, =0xE000E000 // Build address of NVIC registers
LDR r1, =0
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
MOVS r2, #0x14
STR r1, [r0, r2] // Setup SysTick Reload Value
@@ -119,6 +119,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
LDR r0, =0xE000E000 // Build address of NVIC registers
LDR r1, =0
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
MOVS r2, #0x14
STR r1, [r0, r2] // Setup SysTick Reload Value
@@ -119,6 +119,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
LDR r0, =0xE000E000 // Build address of NVIC registers
LDR r1, =0
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
MOVS r2, #0x14
STR r1, [r0, r2] // Setup SysTick Reload Value
@@ -123,6 +123,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
LDR r0, =0xE000E000 // Build address of NVIC registers
LDR r1, =0
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
MOVS r2, #0x14
STR r1, [r0, r2] // Setup SysTick Reload Value
@@ -103,6 +103,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOVW r1, #0x7 // Build SysTick Control Enable Value
@@ -105,6 +105,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOVW r1, #0x7 // Build SysTick Control Enable Value
@@ -104,6 +104,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
LDR r0, =0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -185,6 +185,9 @@ _tx_initialize_low_level
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -109,6 +109,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r0, #0xE000E000 @ Build address of NVIC registers
MOV r1, #0 @ Build value for SysTick reset
STR r1, [r0, #0x10] @ Reset SysTick Control
STR r1, [r0, #0x18] @ Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] @ Setup SysTick Reload Value
MOV r1, #0x7 @ Build SysTick Control Enable Value
@@ -123,6 +123,9 @@ _tx_initialize_low_level:
; /* Configure SysTick. */
;
MOV r0, #0xE000E000 ; Build address of NVIC registers
MOV r1, #0 ; Build value for SysTick reset
STR r1, [r0, #0x10] ; Reset SysTick Control
STR r1, [r0, #0x18] ; Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] ; Setup SysTick Reload Value
MOV r1, #0x7 ; Build SysTick Control Enable Value
@@ -103,6 +103,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -103,6 +103,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -104,6 +104,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -171,6 +171,9 @@ _tx_initialize_low_level
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -115,6 +115,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -110,6 +110,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -171,6 +171,9 @@ _tx_initialize_low_level
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick for 100Hz clock, or 16384 cycles if no reference. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -116,6 +116,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -115,6 +115,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value
@@ -110,6 +110,9 @@ _tx_initialize_low_level:
/* Configure SysTick. */
MOV r0, #0xE000E000 // Build address of NVIC registers
MOV r1, #0 // Build value for SysTick reset
STR r1, [r0, #0x10] // Reset SysTick Control
STR r1, [r0, #0x18] // Reset SysTick Counter Value
LDR r1, =SYSTICK_CYCLES
STR r1, [r0, #0x14] // Setup SysTick Reload Value
MOV r1, #0x7 // Build SysTick Control Enable Value