Basic functionality for TM1637
[cortex-from-scratch] / systick.c
index b9c8756..1d632ec 100644 (file)
--- a/systick.c
+++ b/systick.c
@@ -1,15 +1,33 @@
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <stm32.h>
-#include <mmap.h>
 
+#include <sys/robsys.h>
+#include <sys/mmap.h>
 
-void * systick_handler() {
+#include <lib/regfunc.h> // TODO
 
-       *RANDOM_ADDR = (volatile uint32_t) 0x10101010 ;
+struct interrupt_frame {
+
+        uint32_t r0; // N-32
+        uint32_t r1;
+        uint32_t r2;
+        uint32_t r3;
+        uint32_t r12;
+        uint32_t lr;
+        uint32_t pc;
+        uint32_t psr; // N-4
+};
+
+//__attribute__ ((interrupt))
+void * systick_handler(/* struct interrupt_frame * frame */) {
+
+//     uint32_t volatile status;
+       //uart_puts("TICKING\n");
+//     for(;;);
 }
 
+
 void systick_init() {
 
        /* Enable the counter and enable the interrupt
@@ -19,7 +37,7 @@ void systick_init() {
        /* The counter reload register here holds 
         * 0x1000 -- that's 4096 clock cycles -- if 
         * it is down to zero it is restores the value */
-       *STK_RELOAD = (volatile uint32_t) 0x00000400; 
+       *STK_RELOAD = (volatile uint32_t) 0x00400000; 
 
        /* Every time the counter counts down to zero
         * a systick exception is asserted. Systick has