Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/rpi baremetal #121

Merged
merged 3 commits into from
May 19, 2023
Merged

Feature/rpi baremetal #121

merged 3 commits into from
May 19, 2023

Conversation

alloncm
Copy link
Owner

@alloncm alloncm commented Apr 14, 2023

This feature enables MagenBoy to run baremetal on RPI4 hardware

Todo:

  • Test if I can enable hard floats without using armv7a-none-eabihf target - Not possible according to my attempts and some guy on Discord
  • Fix the Mailbox with uncached memory not from the GPU
    • Add a non cached memory on the link script to use
  • Pin the stack in the link script (instead of an arbitrary location that the compiler can override)
  • Generate config.txt at build time to be able to sync it properly with all the params - Need to set core freq with the Mailbox instead (if possible)
  • Improve performance, currently running at 30 fps
    • Add support for DMA transfers
  • Add Joypad driver using the gpio
  • Clean the code before merging
  • Documentation
    • Document building for armv7a-none-eabihf since this is tier 3 target for rustc (including the nightly toolchain usage) if I have to use it
    • Document all the resources used for this project
    • Document running with Qemu
  • Arrange git (commits and reabse from master)

Only when #123 will be completed #109 will be closed

@alloncm alloncm force-pushed the feature/rpi_baremetal branch 2 times, most recently from ecfc383 to dc6a7c4 Compare May 3, 2023 19:29
@alloncm alloncm marked this pull request as ready for review May 17, 2023 19:43
lib_gb/src/ppu/gb_ppu.rs Show resolved Hide resolved
baremetal/src/drivers/gpio_joypad.rs Outdated Show resolved Hide resolved
baremetal/config.txt Show resolved Hide resolved
baremetal/Cargo.toml Show resolved Hide resolved
baremetal/src/drivers/ili9341/ili9341_spi.rs Outdated Show resolved Hide resolved
baremetal/src/boot_armv7a.s Outdated Show resolved Hide resolved
baremetal/src/boot_armv7a.s Outdated Show resolved Hide resolved
baremetal/src/main.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/utils.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/utils.rs Show resolved Hide resolved
@alloncm alloncm force-pushed the feature/rpi_baremetal branch from 092a2e3 to b64e07a Compare May 17, 2023 22:02
baremetal/src/peripherals/gpu.rs Outdated Show resolved Hide resolved
baremetal/src/drivers/ili9341_gfx_device.rs Outdated Show resolved Hide resolved
baremetal/src/drivers/gpio_joypad.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/dma.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/dma.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/mailbox.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/mailbox.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/mod.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/spi.rs Outdated Show resolved Hide resolved
baremetal/src/peripherals/dma.rs Outdated Show resolved Hide resolved
alloncm added 3 commits May 19, 2023 01:18
The ppu now uses unstable sort instead of sort.
It should not be a problem but I might be wrong
@alloncm alloncm force-pushed the feature/rpi_baremetal branch from 94bd8dd to c52e7f9 Compare May 18, 2023 22:20
@alloncm alloncm merged commit b97a689 into master May 19, 2023
@alloncm alloncm deleted the feature/rpi_baremetal branch May 19, 2023 15:22
@alloncm alloncm restored the feature/rpi_baremetal branch May 19, 2023 15:22
@alloncm alloncm deleted the feature/rpi_baremetal branch May 19, 2023 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant