summaryrefslogtreecommitdiff
path: root/init.zig
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-12-18 00:30:51 -0700
committerJosh Rahm <joshuarahm@gmail.com>2024-12-18 00:30:51 -0700
commit40575cafe477df2ed3779789174a13eae5da187e (patch)
tree44564b9e8abe7c7ed254d97ad9edaaced3e716f5 /init.zig
downloadarduino-zig-lights-main.tar.gz
arduino-zig-lights-main.tar.bz2
arduino-zig-lights-main.zip
Initial commit for programming an arduino in Zig.HEADmain
This is a simple collatz blinker program.
Diffstat (limited to 'init.zig')
-rw-r--r--init.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/init.zig b/init.zig
new file mode 100644
index 0000000..be0bd10
--- /dev/null
+++ b/init.zig
@@ -0,0 +1,27 @@
+pub export fn _start() linksection(".vectors") callconv(.Naked) void {
+ asm volatile (
+ \\ rjmp reset ; jump to reset
+ \\ rjmp ext_int0
+ );
+}
+
+pub export const end_of_ram: u16 = 0x8FF;
+pub export fn reset() linksection(".vectors") callconv(.Naked) void {
+ asm volatile (
+ \\ sei
+ \\ rjmp main
+ );
+ // asm volatile (
+ // \\ ldi r16, hi8(%[ramend])
+ // \\ sts 0x3E, r16
+ // \\ ldi r16, lo8(%[ramend])
+ // \\ sts 0X3D, r16
+ // \\ sei
+ // \\ jmp main
+ // :
+ // : [ramend] "i" (end_of_ram)
+ // : "r16"
+ // );
+}
+
+pub export fn ext_int0() void {}