File tree Expand file tree Collapse file tree 2 files changed +6
-3
lines changed
Expand file tree Collapse file tree 2 files changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,9 @@ pub fn main() !u8 {
109109 .elf = > {
110110 var header = try std .elf .Header .read (& reader .interface );
111111
112+ // Set PC to entry point (convert byte address to word address for AVR)
113+ cpu .pc = @intCast (header .entry / 2 );
114+
112115 var pheaders = header .iterateProgramHeaders (& reader );
113116 while (try pheaders .next ()) | phdr | {
114117 if (phdr .p_type != std .elf .PT_LOAD )
Original file line number Diff line number Diff line change @@ -127,6 +127,9 @@ fn run_test(
127127
128128 var header = try std .elf .Header .read (& reader .interface );
129129
130+ // Set PC to entry point (convert byte address to word address for AVR)
131+ cpu .pc = @intCast (header .entry / 2 );
132+
130133 var pheaders = header .iterateProgramHeaders (& reader );
131134 while (try pheaders .next ()) | phdr | {
132135 if (phdr .p_type != std .elf .PT_LOAD )
@@ -147,9 +150,6 @@ fn run_test(
147150 try reader .interface .readSliceAll (dest_mem [target_addr .. ][0.. phdr .p_filesz ]);
148151 @memset (dest_mem [target_addr + phdr .p_filesz .. ][0 .. phdr .p_memsz - phdr .p_filesz ], 0 );
149152 }
150-
151- // Set PC to entry point
152- cpu .pc = @intCast (header .entry );
153153 }
154154
155155 // Run the test
You can’t perform that action at this time.
0 commit comments