53 Commits (cdfce0d01b323f101bd7d3a7fd78e934619b19f0)

Author SHA1 Message Date
Andre Richter f13e6e4513
Change to new aarch64-unknown-none-softloat target.
Also, add safety docs where demanded by clippy.
5 years ago
Andre Richter 8e2e4d37ec
Update copyright dates 5 years ago
Andre Richter 280bac6270
Update toolchain and bump dependency versions
Binaries generated with:
Toolchain: 1.39.0-nightly
5 years ago
Andre Richter 76b86a4997 Use refactored Makefile from JTAG tutorial everywhere. 5 years ago
Andre Richter 4f4e88cfbe
Update binaries generated by newer rustc 5 years ago
Andre Richter 2a4fdc4ece
Add missing comment that triggered build errors in new nightly rust.
Also, update binaries generated by new nightly version:
rustc 1.33.0-nightly (75a369c5b 2019-01-12)
5 years ago
Andre Richter 90d88f65b6
Streamlining, cleanup, and minor fixes. 6 years ago
Andre Richter ad2d0d1182
🎉 Update to Rust 2018 🎉 6 years ago
Andre Richter 3e10cd52a1
Add nm target 6 years ago
Andre Richter c62b79f09b
UART1 output on QEMU. Rework some Readmes. 6 years ago
Andre Richter 2046da5eab
Add objdump target 6 years ago
Andre Richter 3f92aab6e7
Bump extern crates
cortex-a -> 2.2.1
panic-abort -> 0.3.1
6 years ago
Andre Richter 6d135ee441
Makefile: Don't delete kernel8 6 years ago
Andre Richter 37fe055082
Alignment. Binaries from newer Rust version. 6 years ago
Andre Richter 1ca70bcd56
Check-in kernel8
Useful for assembly inspection via objdump
6 years ago
Andre Richter c156a32411
rust-fmt all 6 years ago
Andre Richter 5ca70912fb
Remove unused cortex-a imports.
Why doesn't clippy catch this...?
6 years ago
Andre Richter 21e181c63a
Bump cortex-a to v1.1.0 6 years ago
Andre Richter 0ededdc791
Bump register to v0.2.0 6 years ago
Andre Richter c19993934c
Use cargo-xbuild
Also, have a config where the individual projects can reuse the same
sysroot.
6 years ago
Andre Richter 8175639399
Correct linker issues
The new target is not automatically using PIC.

Need some linker script corrections for errors that were hiding
previously, so that we don't accidentally generate alignment
exceptions on bss size variables that cause the target to fail.
6 years ago
Andre Richter 0d75a8eaf3
Use aarch64-unknown-none target in nightly 🎉
We have a generic target for writing bare-metal code
for 64-bit ARM architectures in upstream Rust now.

Use it to get rid of the fully custom target spec.

\o/
6 years ago
Andre Richter c5981b6ccd
Don't invoke clippy via xargo
Despite invoking clippy with xargo, it wasnt actually using the custom
target, so we don't need xargo here for now...

The target argument was missing anyways. Using it throws an error.
Needs some more investigation.
6 years ago
Andre Richter 0bd363f375
Sync with the newest Embedonomicon
https://github.com/rust-embedded/embedonomicon

Closes #3
6 years ago
Andre Richter 369dffa457
Make it compile on newest nightly 6 years ago
Andre Richter 747e902761
Rewrite for register-rs.
We now have the same API for MMIO and CPU registers.
Makes the code more concise, inntuitive, and improves readability.

https://crates.io/crates/register
6 years ago
Andre Richter 323a346b07
Use llvm objcopy from rust toolchain 🎉
Its the last missing util we needed to be a rust-toolchain-only project.

https://github.com/rust-lang/rust/pull/50336
https://github.com/japaric/cargo-binutils
6 years ago
Andre Richter 69d9890c4a
Update #[lang = "panic_fmt"] -> #[panic_implementation]
More info: https://users.rust-lang.org/t/psa-breaking-change-panic-fmt-language-item-removed-in-favor-of-panic-implementation/17875
6 years ago
Andre Richter 99f4dc24b3
Change dockcross path to newest upstream release 6 years ago
Andre Richter 27a5f64156
Dockcross binaries path changed 6 years ago
Andre Richter fd4c62f9e8
Fix strange dockcross path changes
There were some strange changes to the aarch64 dockross image lately.
Looks like unintentional path changes. I'll adapt for now, but
hopefully this gets reverted to a sane state soon.

Referenece:
https://github.com/dockcross/dockcross/pull/221#issuecomment-387188681
6 years ago
Andre Richter a3fef3844d Add deref comment to tutorial 3 as well
This is the first time reader will encounter it.
6 years ago
Andre Richter 0ce1cde72c Add Deref trait in the spirit of cortex-m peripherals
Improves code readability; Reduces need for unsafe blocks on register
reads.

https://github.com/japaric/cortex-m/blob/master/src/peripheral/mod.rs
6 years ago
Andre Richter bf47dade3d run cargo fmt on repo 6 years ago
Andre Richter 09d36953a0 Remove own boilerplate code
Use panic and runtime crates from japaric
6 years ago
Andre Richter eb59646733 Fix clippy targets 6 years ago
Andre Richter 1e8ef325b6 Add abi blacklist for target
Use default list from:
0defa208dc/src/librustc_back/target/arm_base.rs
6 years ago
Andre Richter dceb4c3097 Xargo 0.3.12 supports builtins now. Remove Xargo.toml again 6 years ago
Andre Richter 7273745da6 Add raspbootin64 tutorial and reshuffle order 6 years ago
Andre Richter 32ef64b36e compiler_builtins are now mandatory; Add them.
In rust-lang/rust@679657b863 a breaking
change was introduced that now requires compiler_builtins. Add them,
and use the opportunity to kick out rlibc, since memset() et al. can
be provided by compiler intrinsics.
6 years ago
Andre Richter 857568009e Lazily generate dockcross runscript 6 years ago
Andre Richter a772630b3b Cleanup register definitions 6 years ago
Andre Richter f384d99d78 minor style fixes 6 years ago
Andre Richter b9dea36052 remove accidentally uploaded file 6 years ago
Andre Richter b869cf9a38 Correct stuff clippy complained about 6 years ago
Andre Richter b42c922012 Add clippy targets 6 years ago
Andre Richter de0e42142b stay closer to original 6 years ago
Andre Richter 45eadc8543 Switch to MIT License for Embedonomicon code snippets
They have been relicensed under MIT/Apache in
japaric/embedonomicon@d8c72ed452
6 years ago
Andre Richter 298bec39c8 Add tutorial 03_uart1 6 years ago
Andre Richter e6ab38f228 Hide tuts not implemented in Rust yet 6 years ago