Hello! First of all this is my first Lemmy post, so if I did anything wrong pls tell me!

Now, I’m 19yo in 4th semester of Computer Engineering, and while I’m doing good in college I realized that they give us good background in electronics (from the basics to microcontrollers. ICs. logical design, etc) but the programming aspect is high level and web-oriented (python. java, php)! I appreciate learning those, but I’m not interested on that but rather on a kernel/firmware development! So… I’ve been learning C for some weeks and while I do love it (mainly been learning from K&R and Zed A. Shaw - Learn C the Hard Way) I don’t really know how to practice the skills required to do the proper bridge between hardware and software.

Basically, how does one begin their first real project to learn how to write drivers/baremetal and testing them? Thanks for reading and sorry if my question is dumb, I just feel a bit lost.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Oh that reminds me. I wouldn’t recommend PIC in the 21st century but there’s a really cool project called BIO that is an open source alternative to Raspberry’s PIO (programmable IO). It’s RV32-E with custom x16-31 registers that control the pins directly. Very neat idea.

    It’s by Bunnies Huang and he talks about it in this talk about Xous.

    The hardware is (or will be) here: https://www.crowdsupply.com/baochip

    May be a bit hardcore for a beginner though.