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
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
7 years ago
Andre Richter
a584fa4dfa
mobx: Remove unnessecary mut
7 years ago
Andre Richter
bf47dade3d
run cargo fmt on repo
7 years ago
Andre Richter
1b046df046
Introduce abstraction tut, shuffle tut numbers again
7 years ago
Andre Richter
09d36953a0
Remove own boilerplate code
...
Use panic and runtime crates from japaric
7 years ago
Andre Richter
eb59646733
Fix clippy targets
7 years ago
Andre Richter
1e8ef325b6
Add abi blacklist for target
...
Use default list from:
0defa208dc/src/librustc_back/target/arm_base.rs
7 years ago
Andre Richter
dceb4c3097
Xargo 0.3.12 supports builtins now. Remove Xargo.toml again
7 years ago
Andre Richter
7273745da6
Add raspbootin64 tutorial and reshuffle order
7 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.
7 years ago
Andre Richter
857568009e
Lazily generate dockcross runscript
7 years ago
Andre Richter
036d6f0893
Change fence type, add more elaborate description
7 years ago
Andre Richter
135a72ed98
Remove unnecessary pub keywords
7 years ago
Andre Richter
a772630b3b
Cleanup register definitions
7 years ago
Andre Richter
f384d99d78
minor style fixes
7 years ago
Andre Richter
b869cf9a38
Correct stuff clippy complained about
7 years ago
Andre Richter
b42c922012
Add clippy targets
7 years ago
Andre Richter
d2636fc9ba
Add compiler fence before mailbox signaling
7 years ago
Andre Richter
41d69fa594
Remove memory barrier again
...
Upon further reading, found out that RPi3 features an A53 CPU, which
is one of the ARMv8-A variants that in fact does _not_ have
out-of-order execution.
7 years ago
Andre Richter
de0e42142b
stay closer to original
7 years ago
Andre Richter
45eadc8543
Switch to MIT License for Embedonomicon code snippets
...
They have been relicensed under MIT/Apache in
japaric/embedonomicon@d8c72ed452
7 years ago
Andre Richter
989a9326ec
Add memory barrier before mailbox calls
7 years ago
Andre Richter
bd5827ba0e
Minor cosmetics and comments
7 years ago
Andre Richter
24cf950bae
typo
7 years ago
Andre Richter
4d251b940b
Adapt READMEs
7 years ago
Andre Richter
b3c9e041e6
Add UART0 Hello World
7 years ago
bzt
a798ff59f4
Fixed issue #3
7 years ago
bzt
e1c97f2904
Fixed issue #2
7 years ago
bzt
ed7cb505f9
Fixed typos and more tutorials
7 years ago
bzt
7ace64ba9f
Initial commit
7 years ago