Gets rust running rv64iM
This commit is contained in:
1
Makefile
1
Makefile
@@ -4,6 +4,7 @@ FPGA_BOARD = zybo_z7_10
|
||||
TOCLEAN = $(filter %log %.jou %.rpt %.mmi %.dcp %.csv\
|
||||
%.wdb vivado% updatemem% usage_statistics_webtalk%,$(wildcard *))
|
||||
TOCLEAN += $(wildcard _*) .Xil out RTL build download.bit $(MEM_DIR)
|
||||
TOCLEAN += ./bench/programs_rust/target/riscv64i/release
|
||||
|
||||
# macro de verbosité
|
||||
VERB := 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.section .text,"ax",@progbits
|
||||
.section .text._start,"ax",@progbits
|
||||
.equ STACK_SIZE, 1024
|
||||
.globl _start
|
||||
|
||||
|
||||
@@ -1,16 +1,36 @@
|
||||
OUTPUT_ARCH( "riscv" )
|
||||
|
||||
|
||||
ENTRY (_start)
|
||||
MEMORY
|
||||
{
|
||||
/* Ram */
|
||||
ram (rawx) : ORIGIN = 0x00010000, LENGTH = 0x10000
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x10000;
|
||||
.text : { *(.text) }
|
||||
|
||||
. = ORIGIN(ram);
|
||||
.text : {
|
||||
*(.text._start)
|
||||
*(.text .text.*)
|
||||
} >ram
|
||||
|
||||
. = ALIGN(8);
|
||||
.data : { *(.data) }
|
||||
.bss : { *(.bss) }
|
||||
|
||||
.rodata : {
|
||||
*(.rodata .rodata.*)
|
||||
} >ram
|
||||
|
||||
. = ALIGN(8);
|
||||
|
||||
.data : { *(.data .data.* ) } >ram
|
||||
.bss : { *(.bss .bss.* ) } >ram
|
||||
|
||||
. = ALIGN(8);
|
||||
|
||||
PROVIDE(_memory_start = . );
|
||||
PROVIDE(_memory_end = 0x20000);
|
||||
PROVIDE(_memory_end = ORIGIN(ram) + LENGTH(ram));
|
||||
PROVIDE(_stack_size = 1024); /* 1 KiB */
|
||||
PROVIDE(_stack_start = _memory_end);
|
||||
PROVIDE(_stack_end = _stack_start - _stack_size);
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
target = "riscv64i.json"
|
||||
|
||||
[target.riscv64i]
|
||||
linker = "riscv64-unknown-elf-ld"
|
||||
# linker = "rust-lld"
|
||||
#linker = "riscv64-unknown-elf-ld"
|
||||
linker = "ld.lld"
|
||||
|
||||
rustflags = [
|
||||
# "-C", "link-arg=-nostartfiles",
|
||||
"-C", "link-arg=-T../link.ld",
|
||||
"-C", "link-arg=../mem/crt.o",
|
||||
"-C", "target-feature=+m",
|
||||
]
|
||||
|
||||
[unstable]
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
"os": "none",
|
||||
"vendor": "unknown",
|
||||
"env": "",
|
||||
"features": "+i",
|
||||
"linker-flavor": "ld.lld",
|
||||
"linker": "riscv64-unknown-elf-ld",
|
||||
"features": "+i,+m",
|
||||
"linker": "ld.lld",
|
||||
"linker-flavor": "ld",
|
||||
"executables": true,
|
||||
"panic-strategy": "abort",
|
||||
"relocation-model": "static",
|
||||
|
||||
Reference in New Issue
Block a user