From 007fc8179546fbca6e8f6f3bb8643a116b146f38 Mon Sep 17 00:00:00 2001 From: D4VID Date: Sat, 4 Jan 2025 22:11:59 +0100 Subject: [PATCH] Running on lw cpu --- .gitignore | 1 + Cargo.toml | 11 +++++++++++ Makefile | 14 ++++++++++++++ src/main.rs | 6 +++--- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index ea8c4bf..56b93a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +text.bin diff --git a/Cargo.toml b/Cargo.toml index a5e7838..dcf0e86 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,3 +6,14 @@ edition = "2021" [dependencies] riscv = "0.12.1" riscv-rt = "0.13.0" + +# https://docs.rust-embedded.org/book/unsorted/speed-vs-size.html +[profile.release] +# symbols are nice and they don't increase the size on Flash +debug = true +codegen-units = 1 +opt-level = "z" + +[profile.dev.package."*"] +codegen-units = 1 +opt-level = "z" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6d69614 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +default: extract + +build: + cargo build --release + +extract: build + riscv32-elf-objcopy -O binary --only-section=.text target/riscv32i-unknown-none-elf/release/lw-riscv text.bin + +size: extract + cargo size --release -- -A + +clean: + cargo clean + rm text.bin diff --git a/src/main.rs b/src/main.rs index 3a65e9d..b41be53 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,11 +12,11 @@ fn panic_handler(_info: &PanicInfo) -> ! { #[entry] fn main() -> ! { - const MEM_ADDR: *mut u32 = 0x1000_0001 as *mut u32; + const MEM_ADDR: *mut u32 = 0x1000_0004 as *mut u32; loop { - for i in 0..10 { + for i in 0..100 { unsafe { - write_volatile(MEM_ADDR, 0b1101100+i); + write_volatile(MEM_ADDR, 0b01101100+i); } nop(); }