-
Notifications
You must be signed in to change notification settings - Fork 40
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
Interested in a HAL for GBA? #114
Comments
I can’t answer the pull request question, but have you heard of emBO in Bochum? I wonder if you may like to give a talk about this Project there?
Von: Richard Thomson
Gesendet: Montag, 20. November 2017 22:03
An: kvasir-io/Kvasir
Cc: Subscribed
Betreff: [kvasir-io/Kvasir] Interested in a HAL for GBA? (#114)
I'm prototyping a Kvasir HAL for the GameBoy Advance for use with devkitPro. Is there any interest in having this in Kvasir master with a pull request?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
this kvasir repo was the proof of concept, which we consider to have succeeded. There is ongoing work (in fits and starts) on a decomposition of this huge monolithic monster into different repos (metapogramming went into mpl CMSIS-SVD went into chip and register stuff went into bit), bit is in a pretty unfinished state right now as its waiting for mpl to freeze. In other words, we are anticipating support for many different architectures, not just ARM Cortex and we would love your help ;) |
help will be good. |
The GBA is odd in that it uses an ARM7TDMI core with a bunch of SFRs for the GBA functionality. devkitPro is just an up-to-date toolchain that allows you to cross-compile to the GBA's processor. On top of that you need an appropriate set of build scripts in order to target the memory layout of the GBA using a suitable linker script. I've been using tonclib and it's associated Makefiles with devkitpro for building images that are suitable for an emulator or for a flash cartridge. Other people use other libraries and setups such as libgba. I've been using the GBA as the subject of a presentation on embedded C++ because:
All of that combined makes it a great way to talk about embedded C++. However, existing libraries are very much C style in flavor. I had presented some small ways in which modern C++ could help prevent you from making stupid mistakes (mostly the idea of using enum classes for SFR register field values and modeling the SFRs by hand through custom classes). Kvasir is very much the "ultimate" in what I was thinking was possible with modern C++ but is much more mature than any of my small attempts at applying modern C++ to the GBA. I plan to take my GBA HAL model for Kvasir, rework the tonc tutorials and revisit the GBA in another presentation. The continued interested in the GBA is such that I feel contributing its HAL to the Kvasir repo would be a good idea. Regarding a presentation to emBO in Bochum, I doubt this will happen, although I am flattered by the offer. GBA HAL is very much a side project for me and I don't feel I'm an authoritative developer in this space -- I haven't done embedded stuff for my day job since 1986 when coding 6809 assembly :) and I also haven't done GBA development for my day job either. I do like to use the GBA as a reference platform for discussing embedded C++ however. |
i read about it today have some recommentations.
the cpp/kvasirversion will be something like
The namespacestuff is no obligation, but helps to prevent conflicts with names. That Problem that happens if libgba and libtonc are used in one programm |
As I see it, the toolchain issues are not connected to Kvasir; I simply mentioned it for completeness. All that Kvasir needs is a HAL. In other words, Kvasir doesn't try to be everything you need for embedded development targeting a particular platform, it just attempts to supply HALs for various SOCs that are out there. After all, if I am doing custom hardware with my own SFRs, Kvasir will not know anything about that and I will need to write my own SFR definitions, etc. That's all I'm doing with the GBA HAL. You can see WIP here: https://github.com/LegalizeAdulthood/Kvasir/blob/gba/Lib/Chip/Unknown/Nintendo/GBA.hpp |
I'm prototyping a Kvasir HAL for the GameBoy Advance for use with devkitPro. Is there any interest in having this in Kvasir master with a pull request?
The text was updated successfully, but these errors were encountered: