35 Commits (223989adb9cce379d650b9cd67581c0a26df2f6f)

Author SHA1 Message Date
Andre Richter 223989adb9
Overhaul linker script 3 years ago
Andre Richter d09374710d
Some rework on virtual memory code
- Mostly more spearation of concerns in 15.
- Cleanups in other parts.
3 years ago
Andre Richter 6db8b2bc72
Update toolchain 3 years ago
Andre Richter a5884321a7
Fix rustdoc warnings 3 years ago
Andre Richter dc9b3c0f38
Add isb before timer read 3 years ago
Andre Richter 8324b1fdac
PL011: Use BUSY bit
Fixes #100
3 years ago
Andre Richter e7cb61b389
Refactoring
- Don't wildcard-import from arch modules. Make it explicit.
- Put translation table code into its own module.
- Put boot code in boot.rs instead of cpu.rs
- Other minor changes, most memory subsystem.
3 years ago
Andre Richter c35a30cd0b Bump UART to 921_600 baud + other bugfixes
Fixes #95
Fixes #98

Co-authored-by: Takumasa Sakao <sakataku7@gmail.com>
4 years ago
Andre Richter f2a891236e
Remove unused feature 4 years ago
Andre Richter ee52e8e288
Bump UART to 576000 baud 4 years ago
Andre Richter 1d2b5ad022
Memory Mapping: Improve various aspects 4 years ago
Andre Richter 44bb3f8942
Update copyright year 4 years ago
Andre Richter d212348931
Bump compiler version.
We have to remove the `#[naked]` attribute from `_start` for now, since it emits
a warning now when used with non-asm statements in the function body. For now,
just hope for the compiler's mercy to not emit code using the stack pointer
before we've actually set up a stack.
4 years ago
Andre Richter 2c3f705051
Update dependencies
register-rs 1.0.0 now uses UnsafeCell internally, which means we lost the Copy
derive on InMemoryRegister.

Therefore, a small set of changes was needed in the MMU driver to dance around
the static array init depending on a Copy type.
4 years ago
Andre Richter 5c193d5803
Change to a simpler mutex API 4 years ago
Andre Richter 02f9f34af3
More sound Phantom in MMIO deref wrapper 4 years ago
Andre Richter 163e2010ab
GPIO: Fix RPi4 driver init
The RPi4 GPIO pull-up/pull down sequence is done differently than on the
RPi3. Switch to using the correct way.

Also, configure pull-ups for both UART pins.

Fixes #81
4 years ago
Andre Richter 098e19ecc4
Fix zero-sized bss handling 4 years ago
Andre Richter e7a13e81b8
Upgrade to cortex-a 4.x.x 4 years ago
Andre Richter 208f547f29
Remove needless extern C 4 years ago
Andre Richter 27a1d10cc3
Remove UB in linker script symbol <-> Rust handover 4 years ago
Andre Richter 677b274a1f
Add a panic version of the GPIO to panic!() 4 years ago
Andre Richter 22faff5229
Various finetunings 4 years ago
Andre Richter e7df5b2982
Use InMemoryRegister in MMU driver 4 years ago
Andre Richter 37b9d1435e
Move anything wrt linker symbols to bsp::memory
Also, some rewording of data types.
4 years ago
Andre Richter b585f64e30
Shuffle constant to more fitting module 4 years ago
Andre Richter 5a793e5fcb
Wording 4 years ago
Andre Richter 7e14b246d7
Explicitly set exception vectors in link.ld 4 years ago
Carl Fredrik Samson 0afffdeac7 Added short explanation of the BRD calculations for setting up UART re #70 4 years ago
Andre Richter 87e74f62cd
UART: Fix FBRD
Closes #70

Co-authored-by: Carl Fredrik Samson <cfsamson@users.noreply.github.com>
4 years ago
Andre Richter c78568bba1
Update some links 4 years ago
Andre Richter 3a0b676402
Use MMIODerefWrapper everywhere 4 years ago
Andre Richter 681092829c
Bump to cortex-a 3.0.0 4 years ago
Andre Richter 1cba21bda1
Minor namespace adaptions 4 years ago
Andre Richter 85b88788d0
Refactor tutorial 12 4 years ago