More junk

This commit is contained in:
Jake Goulding
2017-07-09 15:14:09 -04:00
parent 001b8fb327
commit 5ba7b90743
3 changed files with 1 additions and 87 deletions

8
blink/Cargo.lock generated
View File

@@ -4,7 +4,6 @@ version = "0.1.0"
dependencies = [
"arduino 0.1.0",
"core 0.1.0",
"rustc_builtins 0.1.0",
]
[[package]]
@@ -18,10 +17,3 @@ dependencies = [
name = "core"
version = "0.1.0"
[[package]]
name = "rustc_builtins"
version = "0.1.0"
dependencies = [
"core 0.1.0",
]

View File

@@ -6,18 +6,8 @@ authors = ["Jake Goulding <jake.goulding@gmail.com>"]
[profile.release]
lto = true
# [dependencies]
# rlibc = "*"
[dependencies.core]
path = "../rust-avr-libcore-mini"
[dependencies.arduino]
path = "../arduino"
# [dependencies.compiler-rt]
# git = "https://github.com/japaric/compiler-rt.rs"
[dependencies.rustc_builtins]
path = "/Users/shep/Projects/rustc-builtins"

View File

@@ -10,7 +10,6 @@
#[macro_use]
extern crate core;
extern crate arduino;
extern crate rustc_builtins;
use core::prelude::v1::*;
use core::ptr::{read_volatile, write_volatile};
@@ -48,23 +47,6 @@ const INTERRUPT_EVERY_1_HZ_1024_PRESCALER: u16 =
const BAUD: u64 = 9600;
const MYUBRR: u16 = (CPU_FREQUENCY_HZ / 16 / BAUD - 1) as u16;
// const MEMORY_MAP_START: u16 = MEMORY_MAP_REGISTERS_START;
// const MEMORY_MAP_REGISTERS_START: u16 = 0x0000; // - 0x001F
// const MEMORY_MAP_IO_REGISTERS_START: u16 = 0x0020; // - 0x005F
// const MEMORY_MAP_EXTENDED_IO_REGISTERS_START: u16 = 0x0060; // - 0x00FF
// const MEMORY_MAP_SRAM_START: u16 = 0x0100;
// const MEMORY_MAP_SRAM_END: u16 = 0x0900; // EXCLUSIVE! DEPENDS ON PART!
// 0x02FF/0x04FF/0x4FF/0x08FF
// extern {
// static __data_start: u16;
// static __data_end: u16;
// static __data_load_start: u16;
// static __data_load_end: u16;
// }
extern {
#[naked]
fn __initialize_memory();
@@ -74,62 +56,12 @@ fn initialize_memory() {
unsafe {
__initialize_memory();
}
// let len = __data_load_end - __data_load_start;
// if len == 0 { return }
// fn hi_lo(v: u16) -> (u8, u8) {
// (((v >> 8) & 0xFF) as u8, ((v >> 0) & 0xFF) as u8)
// }
// let (len_hi, len_lo) = hi_lo(len);
// let (z_hi, z_lo) = hi_lo(__data_load_start);
// let (x_hi, x_lo) = hi_lo(__data_start);
// unsafe {
// asm!("
// sub r28, r30
// sbc r29, r31 ; Y now contains the length of bytes
// entrypoint:
// lpm r0, Z+ ; Load from program memory, increment pointer
// st X+, r0 ; Store to RAM, increment pointer
// subi r28, 1 ; Decrement the count
// sbci r29, 0
// check:
// brne entrypoint ; Exit when all bytes copied"
// : // output operands
// : // input operands
// "{r31r30}"(__data_load_start) // Z
// "{r27r26}"(__data_start) // X
// "{r29r28}"(__data_load_end) // Y
// : // clobbers
// "cc r0"
// : // options
// );
// let src = __data_start as *mut u8;
// let dest = __data_load_start as *mut u8;
// let len = __data_load_end - __data_load_start;
// let src = 00800100 as *mut u8;
// let dest = 00000126 as *mut u8;
// let len = 00000136 - 00000124;
// let dest = __data_start as *mut u8;
// let src = __data_load_start as *mut u8;
// let end = __data_load_end as *mut u8;
// 0x0118
// 0x0128
}
#[no_mangle]
pub extern fn main() -> ! {
without_interrupts(|| { // TODO: we know interrupts are off, don't we?
// r1 is assumed to be always zero
// The ABI requires that r1 starts as zero
unsafe { asm!("eor r1, r1"); }
unsafe {