WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Road Map to Learn Linux and Microprocessor Programming  (Read 216 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: 11081
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: 731
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: 531
  • 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.