WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Road Map to Learn Linux and Microprocessor Programming  (Read 339 times)

Offline turingturtle

  • Newbie
  • *
  • Posts: 4
Road Map to Learn Linux and Microprocessor Programming
« on: February 14, 2025, 06:26:49 PM »
I am a beginner level Embeded Firmware Developer and have 2 Yrs of working experience with microControllers and basic electronics, but I really want to get into programming microprocessors and linux dev but need a roadmap, and I have no clue where to begin with, I understand that TinyCore isnt the same general Linux OS, but it really amazes me and I really admire the kind of skill one has to have to do such things, and I want to learn them.
Please do suggest something and a path which I can follow atleast for a year or two to actually get good at it.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11083
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #1 on: February 15, 2025, 12:59:12 AM »
Micros and Linux programming are different topics really. While there's some overlap, trying to do two things at once may give additional trouble.

I'd suggest starting by learning C, and getting good at it. Books, practice projects, coding competitions, and so on.
The only barriers that can stop you are the ones you create yourself.

Offline patrikg

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 732
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #2 on: February 15, 2025, 03:09:57 AM »
And some of the micros now is programmable via light weight python like micropython and the fork circuitpython, it little easier step into programming the micro's and cpu's.

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 545
  • Good software needn't be big!
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #3 on: February 15, 2025, 02:50:37 PM »
I am a beginner level Embeded Firmware Developer and have 2 Yrs of working experience with microControllers and basic electronics, but I really want to get into programming microprocessors and linux dev but need a roadmap, and I have no clue where to begin with, I understand that TinyCore isnt the same general Linux OS, but it really amazes me and I really admire the kind of skill one has to have to do such things, and I want to learn them.
Please do suggest something and a path which I can follow atleast for a year or two to actually get good at it.

Can you be more specific about what you'd like to be able to do?  In general, I agree with curaga; learning C well is probably a good starting point, especially if you are already somewhat familiar with it in for Arduino if you used that for your microcontroller stuff.  K&R's C book is the classic there, but there could be some other good ones, plus a lot of tutorials on Youtube.

One book on Linux system-level development I found really useful is "Linux Systems Programming" from O'Reilly:
https://www.oreilly.com/library/view/linux-system-programming/0596009585/.  Also , "The Art of Unix Programming" by Eric Raymond would be good. https://www.goodreads.com/book/show/104745.The_Art_of_UNIX_Programming, and perhaps next the "Advanced Programming in the UNIX Environment" book by Stevens. https://www.goodreads.com/book/show/603263.Advanced_Programming_in_the_UNIX_Environment 

Offline turingturtle

  • Newbie
  • *
  • Posts: 4
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #4 on: February 15, 2025, 03:02:09 PM »
Can you be more specific about what you'd like to be able to do?  In general, I agree with curaga; learning C well is probably a good starting point, especially if you are already somewhat familiar with it in for Arduino if you used that for your microcontroller stuff.  K&R's C book is the classic there, but there could be some other good ones, plus a lot of tutorials on Youtube.

One book on Linux system-level development I found really useful is "Linux Systems Programming" from O'Reilly:
https://www.oreilly.com/library/view/linux-system-programming/0596009585/.  Also , "The Art of Unix Programming" by Eric Raymond would be good. https://www.goodreads.com/book/show/104745.The_Art_of_UNIX_Programming, and perhaps next the "Advanced Programming in the UNIX Environment" book by Stevens. https://www.goodreads.com/book/show/603263.Advanced_Programming_in_the_UNIX_Environment 

thanks mike, really good resources,
to be specific, lets just say I want to build a simple custom OS for RPI Zero [just for learning] and something which is in fundametally close with linux, where should I start, like the MicroProcessor Architecture and how to utilize that to build an OS.
I have a decent experience in C with Microcontroller-Architecture, I want the same with MicroProcessor and OS[like Linux], just want to know the fundamentals from ground up to the present state, I know I cannot know it all in one go, and I am willing to give all the time and effort, just wnated to have some idea before I jump in this, which anyways I will do
« Last Edit: February 15, 2025, 03:14:06 PM by turingturtle »

Offline turingturtle

  • Newbie
  • *
  • Posts: 4
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #5 on: February 15, 2025, 03:09:55 PM »
I am a beginner level Embeded Firmware Developer and have 2 Yrs of working experience with microControllers and basic electronics, but I really want to get into programming microprocessors and linux dev but need a roadmap, and I have no clue where to begin with, I understand that TinyCore isnt the same general Linux OS, but it really amazes me and I really admire the kind of skill one has to have to do such things, and I want to learn them.
Please do suggest something and a path which I can follow atleast for a year or two to actually get good at it.

Can you be more specific about what you'd like to be able to do?  In general, I agree with curaga; learning C well is probably a good starting point, especially if you are already somewhat familiar with it in for Arduino if you used that for your microcontroller stuff.  K&R's C book is the classic there, but there could be some other good ones, plus a lot of tutorials on Youtube.

One book on Linux system-level development I found really useful is "Linux Systems Programming" from O'Reilly:
https://www.oreilly.com/library/view/linux-system-programming/0596009585/.  Also , "The Art of Unix Programming" by Eric Raymond would be good. https://www.goodreads.com/book/show/104745.The_Art_of_UNIX_Programming, and perhaps next the "Advanced Programming in the UNIX Environment" book by Stevens. https://www.goodreads.com/book/show/603263.Advanced_Programming_in_the_UNIX_Environment


Actually If I put it more simply, lets say If I want to use a RPI Zero as a Standalone Microcontroller with no OS, just Sequential Programming/Simple Loop Architecture, every driver and whatever is needed is written from scratch, what kind of a learning journey and resource would you recommend, and then eventually I climb up and lean more about the OS and the MPU architecture on the go.
 

Offline MikeLockmoore

  • Hero Member
  • *****
  • Posts: 545
  • Good software needn't be big!
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #6 on: March 02, 2025, 11:50:47 PM »
...
Actually If I put it more simply, lets say If I want to use a RPI Zero as a Standalone Microcontroller with no OS, just Sequential Programming/Simple Loop Architecture, every driver and whatever is needed is written from scratch, what kind of a learning journey and resource would you recommend, and then eventually I climb up and lean more about the OS and the MPU architecture on the go.

Sorry I've taken some time to get back to you.  I don't know of very many specific resources, but there are thousands of YouTube videos, and online RPi tutorials and learning and reference materials, and various hobby or coursework open-source code repositories, and perhaps a few academic textbooks.  Andrew Tanenbaum's 'Modern Operating Systems' textbook (that uses MINIX to illustrate the various ideas) might be a good resource.  You could try to build a MINIX-like OS from some of the smaller parts covered in that book, or similar resources to that. By the way, A. Tanenbaum is infamous for getting into a "flame war" with a young Linux Torvalds (maybe you've heard of him ) over the pros/cons of a monolithic OS design compared to a more modular one.

Offline gadget42

  • Hero Member
  • *****
  • Posts: 857
Re: Road Map to Learn Linux and Microprocessor Programming
« Reply #7 on: March 03, 2025, 07:29:28 AM »
Kolibri might be interesting/thought-provoking:

https://en.wikipedia.org/wiki/KolibriOS
The fluctuation theorem has long been known for a sudden switch of the Hamiltonian of a classical system Z54 . For a quantum system with a Hamiltonian changing from... https://forum.tinycorelinux.net/index.php/topic,25972.msg166580.html#msg166580