Skip to content

Releases: RusPiRo/ruspiro-boot

Release v0.5.4

29 Dec 11:02
a34f8f5
Compare
Choose a tag to compare

Release Notes

🐱 v0.5.4

  • 🔧 Maintenance

    • update to compile with latest nightly and Rust edition 2021
    • minor clean ups in CI config and Makefile
  • 💡 Features

    • place the default panic handler implementation behind a feature flag. This feature is enabled by default.

Release v0.5.3

26 Apr 19:21
c6837e7
Compare
Choose a tag to compare

Release Notes

🐶 v0.5.3

This release aims to fix the build issue on doc.rs while the crate is uploaded to crates.io

  • 🔧 Maintenance

    Disable building of the assembly on doc.rs within the build script.

Release v0.5.2

26 Apr 10:51
e66ca6f
Compare
Choose a tag to compare

Release Notes

🐱 v0.5.2

Introduce the custom build target aarch64-ruspiro to the crate. This version also introduces an example folder (this is nmot published to crates.io) that contains a minimalistic Raspberry Pi 3 baremetal kernel using this boot crate.

Release v0.5.1

30 Jan 21:13
3393c59
Compare
Choose a tag to compare

Release Notes

🐱 v0.5.1

Migrate the actual travis-ci build pipeline to github actions

v0.5.0

24 Jan 18:47
8037720
Compare
Choose a tag to compare

Release Notes

🐱 v0.5.0

Incorporate the basic excpetion handling within the boot loading crate instead of delegating the whole stuff to the ruspiro-interrupt crate. Now only the interrupt and fast-interrupt related exeptions will be delegated to an external crate that implements and exports this function: extern "C" fn __isr_default() {}.

  • 💡 Features

    • Bake the basic exception handling into this crate (e.g. aborts, SVCor HVC calls, instruction exceptions etc)
    • Delegate IRQ and FIQ to an external crate
    • Use the log crate to use it's logging macros to create log entries in case of exception events.

v0.4.2

17 Nov 19:53
7513ef4
Compare
Choose a tag to compare

Release Notes

🍓 v0.4.2

Adjust the linker script to discard specific sections. With the sections in place build on travis for the custom unit test framework lead to a wrong start memory address for the kernel used with QEMU.

  • 🕵️ Fixes

    • Discard *.note.gnu* section in the linker script.

v0.4.1

26 Sep 16:34
02e3d2d
Compare
Choose a tag to compare

Release Notes

🍓 v0.4.1

Fxing the linker script. Some of the section requires re-ordering to properly link with new versions of LLVM/LLD used in the current rustc version.

  • 🕵️ Fixes

    • re-order sections in the linker script file

v0.4.0

25 Sep 21:09
7166ac4
Compare
Choose a tag to compare

Release Notes

🍑 v0.4.0

Refactoring the crate into a more lightweight 64Bit only version. This now provides a tailormade lean implementation to boot up the Raspberry Pi either in multicore or singlecore setup. The boot sequence hands processing to an entry functions that needs to be implemented by the user of this crate. The implementer of this entry point function does have now full freedom where to go from here. As part of the boot sequence there is nomore a forced setup of the MMU or any other peripheral.

  • 🔧 Maintenance

    • use a proper travis-ci pipeline setup
    • remove aarch32 support during boot up
    • instead of the feature singlecore to prevent multicore boot up, the default is now single-core and the feature multicore enables multi-core boot up
    • a conditional compilation flag ensures this crate does only build with useful content if the target architecture is Aarch64

v0.3.2

13 Sep 19:25
8c677e3
Compare
Choose a tag to compare

Release Notes

🔧 Maintenance

  • use cargo make to stabilize build
  • change usage of asm! macro into llvm_asm!

v0.3.1

25 Jan 20:31
96f68f7
Compare
Choose a tag to compare

Release Notes

🍎 v0.3.1

  • 💡 Features

    • add some console log statements in the panic handler that gives a clue of the panic when at least
      the console could be setup properly before panicing the first time :)
    • use Raspberry Pi Mailbox to retrieve clock speed to initialize miniUart with
  • 🕵️ Fixes

    • Fix the path created by the build script pointing to the linker script file. It should not contain a '\\'.
      In addition the examples for the build script to be implementend on consumer side was updated.
    • Fix issues with the exception calls and returns as several registers where trashed that
      should have been preserved
  • 🔧 Maintenance

    • Use additional cfg and cfg_attr to enable running cargo test which requires some functions from std.
    • Update to latest ruspiro-register version
    • Remove ruspiro-gpio dependency
    • Remove the ruspiro_interrupt dependencie to let the using crate decide whether to incorporate
      interrupt handling or not. This than also includes the crate introducing interrupt handling usage need to
      proper initialize interrupt handling.