|
@@ -6,6 +6,26 @@ static void startSystick (BOOT_MODE) {
|
|
|
SYST_RVR = CPU_MHZ * 1000 - 1 ;
|
|
|
SYST_CVR = 0 ;
|
|
|
SYST_CSR = SYST_CSR_CLKSOURCE | SYST_CSR_ENABLE ;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ SIM_SCGC6 |= SIM_SCGC6_PIT ;
|
|
|
+
|
|
|
+
|
|
|
+ PIT_MCR = 0 ;
|
|
|
+
|
|
|
+
|
|
|
+ PIT_TCTRL (0) = 0 ;
|
|
|
+ PIT_TCTRL (1) = 0 ;
|
|
|
+
|
|
|
+
|
|
|
+ PIT_LDVAL (0) = UINT32_MAX ;
|
|
|
+ PIT_LDVAL (1) = UINT32_MAX ;
|
|
|
+
|
|
|
+
|
|
|
+ PIT_TCTRL (1) = PIT_TCTRL_CHN | PIT_TCTRL_TEN ;
|
|
|
+ PIT_TCTRL (0) = PIT_TCTRL_TEN ;
|
|
|
}
|
|
|
|
|
|
MACRO_BOOT_ROUTINE (startSystick);
|
|
@@ -49,6 +69,22 @@ uint32_t millis(ANY_MODE) {
|
|
|
return gUptime;
|
|
|
}
|
|
|
|
|
|
+uint64_t section_micros(SECTION_MODE) {
|
|
|
+
|
|
|
+
|
|
|
+ uint64_t result = PIT_LTMR64H ;
|
|
|
+ result <<= 32 ;
|
|
|
+ result |= PIT_LTMR64L ;
|
|
|
+
|
|
|
+
|
|
|
+ result = ~ result ;
|
|
|
+
|
|
|
+
|
|
|
+ result /= busMHZ () ;
|
|
|
+
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
uint32_t systick(ANY_MODE) {
|
|
|
return SYST_CVR;
|
|
|
}
|