The Ultibo project looks interesting:
https://ultibo.org/Basically for bare-metal programming RPis. It uses Freepascal. I know some people on this forum actually like Pascal, so that could be a compelling reason to try this. For others, well, Freepascal supports Object Pascal/Delphi dialects, so that's pretty powerful.
I haven't played with Ultibo yet, but I was planning on buying a couple RPi4, so I will probably try it when I get a chance.
For those more inclined to using C, you can take a look at this:
https://github.com/BrianSidebotham/arm-tutorial-rpiof course that's mainly just tutorials and example code, not nearly as polished as the above.