-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathboard.ld
97 lines (92 loc) · 3.33 KB
/
board.ld
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*******************************************************************************
*
* Filename: board.ld
*
* Project: ZBasic, a generic toplevel implementation using the full ZipCPU
*
* DO NOT EDIT THIS FILE!
* Computer Generated: This file is computer generated by AUTOFPGA. DO NOT EDIT.
* DO NOT EDIT THIS FILE!
*
* CmdLine: autofpga autofpga -d -o . clock.txt global.txt version.txt buserr.txt pic.txt pwrcount.txt gpio.txt rtclight.txt rtcdate.txt busconsole.txt bkram.txt flash.txt zipmaster.txt sdspi.txt mem_flash_bkram.txt mem_bkram_only.txt
*
* Creator: Dan Gisselquist, Ph.D.
* Gisselquist Technology, LLC
*
/*******************************************************************************
*
* Copyright (C) 2017-2020, Gisselquist Technology, LLC
*
* This program is free software (firmware): you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 3 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. (It's in the $(ROOT)/doc directory. Run make with no
* target there if the PDF file isn't present.) If not, see
* <http://www.gnu.org/licenses/> for a copy.
*
* License: GPL, v3, as defined and found on www.gnu.org,
* http://www.gnu.org/licenses/gpl.html
*
*
/*******************************************************************************
*
*
*/
ENTRY(_start)
MEMORY
{
/* To be listed here, a slave must be of type MEMORY. If the slave
* has a defined name in its @LD.NAME tag, it will be listed here
* under that name, otherwise it will be listed under it's
* @$(PREFIX) tag with an underscore prepended to it. The permissions
* are given by the @LD.PERM tag. Allowable permissions include
* 'r' (read only), 'rx' (read and execute, but no writes),
* 'wx' (read, write, and execute). If no permission tag exists, a
* permission of 'r' will be assumed.
*/
bkram(wx) : ORIGIN = 0x00c00000, LENGTH = 0x00100000
flash(rx) : ORIGIN = 0x01000000, LENGTH = 0x01000000
}
/* For each defined memory peripheral, we also define a pointer to that
* memory. The name of this pointer is given by the @LD.NAME tag within
* the memory peripheral's configuration
*/
_bkram = ORIGIN(bkram);
_flash = ORIGIN(flash);
/* LD.DEFNS from zipmaster.txt */
_kram = 0; /* No high-speed kernel RAM */
_ram = ORIGIN(bkram);
_rom = ORIGIN(flash);
_top_of_stack = ORIGIN(bkram) + LENGTH(bkram);
/* LD.SCRIPT from zipmaster.txt */
SECTIONS
{
.rocode 0x01400000 : ALIGN(4) {
_boot_address = .;
*(.start) *(.boot)
} > flash
_kram_start = . ;
_kram_end = . ;
_ram_image_start = . ;
.kernel : ALIGN_WITH_INPUT {
*(.kernel)
*(.text.startup)
*(.text*)
*(.rodata*) *(.strings)
*(.data) *(COMMON)
}> bkram AT> flash
_ram_image_end = . ;
.bss : ALIGN_WITH_INPUT {
*(.bss)
_bss_image_end = . ;
} > bkram
_top_of_heap = .;
}