Compare commits
2 Commits
b5ac2e7303
...
85f7b2bf15
Author | SHA1 | Date |
---|---|---|
Sebastien Bourdeauducq | 85f7b2bf15 | |
Sebastien Bourdeauducq | 78f67f82d3 |
|
@ -16,18 +16,5 @@ rec {
|
||||||
heavycomps = pkgs.callPackage ./heavycomps.nix { inherit nmigen; };
|
heavycomps = pkgs.callPackage ./heavycomps.nix { inherit nmigen; };
|
||||||
|
|
||||||
binutils-riscv = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; };
|
binutils-riscv = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; };
|
||||||
llvm_7 = pkgs.llvm_7.overrideAttrs(oa: {
|
rust-riscv32imc-crates = pkgs.callPackage ./compilers/rust-riscv32imc-crates.nix { };
|
||||||
name = oa.name + "-riscv";
|
|
||||||
cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"];
|
|
||||||
});
|
|
||||||
rustc = (pkgs.rustc.overrideAttrs(oa: {
|
|
||||||
name = "${oa.pname}-${oa.version}-riscv";
|
|
||||||
})).override {
|
|
||||||
inherit llvm_7;
|
|
||||||
pkgsBuildBuild = pkgs.pkgsBuildBuild // { inherit llvm_7; };
|
|
||||||
pkgsBuildHost = pkgs.pkgsBuildHost // { inherit llvm_7; };
|
|
||||||
pkgsBuildTarget = pkgs.pkgsBuildTarget // { inherit llvm_7; };
|
|
||||||
};
|
|
||||||
rust-riscv32imc-crates = pkgs.callPackage ./compilers/rust-riscv32imc-crates.nix { inherit rustc; };
|
|
||||||
cargo = pkgs.cargo.override { inherit rustc; };
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
FLASH : ORIGIN = 0x20000000, LENGTH = 16M
|
FLASH : ORIGIN = 0x80000000, LENGTH = 16M
|
||||||
RAM : ORIGIN = 0x80000000, LENGTH = 16K
|
RAM : ORIGIN = 0x81000000, LENGTH = 16K
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,5 +8,11 @@ use riscv_rt::entry;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
loop {}
|
let foo = "hello world\n";
|
||||||
|
loop {
|
||||||
|
for c in foo.chars() {
|
||||||
|
let mem = 0x1001_3000 as *mut u8;
|
||||||
|
unsafe { *mem = c as u8 }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
self: super:
|
||||||
|
{
|
||||||
|
llvm_7 = super.llvm_7.overrideAttrs(oa: {
|
||||||
|
name = oa.name + "-riscv";
|
||||||
|
cmakeFlags = oa.cmakeFlags ++ ["-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV"];
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,7 +1,12 @@
|
||||||
{ pkgs ? import <nixpkgs> {}}:
|
{ }:
|
||||||
let
|
let
|
||||||
|
pkgs = import <nixpkgs> { overlays = [ import ./overlay.nix ]; };
|
||||||
derivations = import ./derivations.nix { inherit pkgs; };
|
derivations = import ./derivations.nix { inherit pkgs; };
|
||||||
jobs = derivations // {
|
jobs = derivations // {
|
||||||
|
rustc = pkgs.rustc;
|
||||||
|
cargo = pkgs.cargo;
|
||||||
|
cargo-vendor = pkgs.cargo-vendor;
|
||||||
|
|
||||||
helloworld_ecp5 = import ./examples/helloworld_ecp5.nix { inherit pkgs; };
|
helloworld_ecp5 = import ./examples/helloworld_ecp5.nix { inherit pkgs; };
|
||||||
helloworld_kintex7 = import ./examples/helloworld_kintex7.nix { inherit pkgs; };
|
helloworld_kintex7 = import ./examples/helloworld_kintex7.nix { inherit pkgs; };
|
||||||
simplesoc_ecp5 = import ./examples/simplesoc_ecp5.nix { inherit pkgs; };
|
simplesoc_ecp5 = import ./examples/simplesoc_ecp5.nix { inherit pkgs; };
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ pkgs ? import <nixpkgs> {}}:
|
{ }:
|
||||||
let
|
let
|
||||||
|
pkgs = import <nixpkgs> { overlays = [ import ./overlay.nix ]; };
|
||||||
hx = import ./derivations.nix { inherit pkgs; };
|
hx = import ./derivations.nix { inherit pkgs; };
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
|
|
Loading…
Reference in New Issue