Skip to content

Commit 797e17d

Browse files
committed
no generation of linker_script.ld
1 parent a2c56a7 commit 797e17d

File tree

7 files changed

+73
-328
lines changed

7 files changed

+73
-328
lines changed

build.zig

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ pub fn build(b: *std.build.Builder) !void {
55
build_exe.emit_asm = true;
66
build_exe.install();
77
build_exe.setBuildMode(b.standardReleaseOptions());
8-
build_exe.setLinkerScriptPath(Linker.script_file_name);
8+
build_exe.setLinkerScriptPath("linker_script.ld");
99
build_exe.setTarget(model.target);
1010
build_exe.link_function_sections = true;
1111
break :buildExeDetails 0;
1212
};
13-
const format_source = b.addFmt(&[_][]const u8{ "build.zig", "linker.zig", "main.zig", "system_model.zig", "generated/generated_linker_files/generated_prepare_memory.zig" });
14-
const generate_linker_files = Linker.addGenerateLinkerFilesStep(b, model);
13+
const format_source = b.addFmt(&[_][]const u8{ "build.zig", "main.zig" });
1514
const install_raw = b.addInstallRaw(build_exe, "main.img");
1615
const make_hex_file = addCustomStep(b, MakeHexFileStep{ .input_name = "zig-cache/bin/main.img", .output_name = "main.hex" });
1716
const run_qemu = b.addSystemCommand(&[_][]const u8{
@@ -27,9 +26,7 @@ pub fn build(b: *std.build.Builder) !void {
2726
});
2827

2928
_ = declareDependencies: {
30-
format_source.step.dependOn(&generate_linker_files.step);
3129
build_exe.step.dependOn(&format_source.step);
32-
build_exe.step.dependOn(&generate_linker_files.step);
3330
install_raw.step.dependOn(&build_exe.step);
3431
make_hex_file.step.dependOn(&install_raw.step);
3532
run_qemu.step.dependOn(&install_raw.step);
@@ -56,7 +53,7 @@ const MakeHexFileStep = struct {
5653
const hex = try cwd.createFile(self.output_name, fs.File.CreateFlags{});
5754
defer hex.close();
5855
var offset: usize = 0;
59-
var read_buf: [model.flash.size]u8 = undefined;
56+
var read_buf: [model.memory.flash.size]u8 = undefined;
6057
while (true) {
6158
var n = try image.read(&read_buf);
6259
if (n == 0) {
@@ -102,6 +99,5 @@ pub fn addCustomStep(self: *std.build.Builder, customStep: anytype) *@TypeOf(cus
10299
}
103100

104101
const fs = std.fs;
105-
const Linker = @import("linker.zig");
106102
const model = @import("system_model.zig");
107103
const std = @import("std");

generated/generated_linker_files/generated_linker_script.ld

Lines changed: 0 additions & 48 deletions
This file was deleted.

generated/generated_linker_files/generated_prepare_memory.zig

Lines changed: 0 additions & 31 deletions
This file was deleted.

linker.zig

Lines changed: 0 additions & 193 deletions
This file was deleted.

linker_script.ld

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
MEMORY {
2+
flash : ORIGIN = 0x0, LENGTH = 0x40000
3+
ram : ORIGIN = 0x20000000, LENGTH = 0x4000
4+
}
5+
SECTIONS {
6+
.flash : {
7+
_start = .;
8+
KEEP(*(.vector_table))
9+
*(.text.*)
10+
*(.rodata)
11+
*(.rodata.*)
12+
_ram_data_initial_values = .;
13+
} > flash
14+
.ram_data : AT(_ram_data_initial_values) {
15+
_ram_data_start = .;
16+
*(.data)
17+
_ram_data_end = .;
18+
} > ram
19+
.ram_bss (NOLOAD) : {
20+
_ram_bss_start = .;
21+
*(.bss)
22+
_ram_bss_end = .;
23+
} > ram
24+
# .ARM.exidx must be discarded until "Provide -fno-unwind-tables" is resolved https://github.com/ziglang/zig/issues/5464
25+
/DISCARD/ : {
26+
*(.ARM.exidx)
27+
}
28+
}

0 commit comments

Comments
 (0)