]> code.bitgloo.com Git - clyne/zig-stm32l476.git/commitdiff
clean up vtor set
authorClyne Sullivan <clyne@bitgloo.com>
Sun, 6 Oct 2024 14:17:57 +0000 (10:17 -0400)
committerClyne Sullivan <clyne@bitgloo.com>
Sun, 6 Oct 2024 14:17:57 +0000 (10:17 -0400)
src/interrupt.zig

index 60faec67128ca179af862c8afaba98604783c013..2fe16714179f4e96fe1a3d44102313d64b5cda3f 100644 (file)
@@ -1,5 +1,6 @@
-var vector_table: [256] *const fn () void = undefined;
-var vtor: *u32 = @ptrFromInt(0xE000ED08);
+const vector_table_type = [256] *const fn () void;
+var vector_table: vector_table_type = undefined;
+var vtor: **volatile vector_table_type = @ptrFromInt(0xE000ED08);
 
 pub const vector = enum(u8) {
     NMI = 2,
@@ -25,7 +26,7 @@ pub fn initialize() void {
     register(.BusFault, busfault);
     register(.UsageFault, usagefault);
 
-    vtor.* = @as(u32, @intFromPtr(&vector_table));
+    vtor.* = &vector_table;
 }
 
 pub fn register(index: vector, handler: *const fn () void) void {