Tiny Core Linux
General TC => Programming & Scripting - Unofficial => Topic started by: turingturtle 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.
-
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.
-
And some of the micros now is programmable via light weight python like micropython (https://micropython.org/) and the fork circuitpython (https://circuitpython.org/), it little easier step into programming the micro's and cpu's.
-
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/ (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 (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 (https://www.goodreads.com/book/show/603263.Advanced_Programming_in_the_UNIX_Environment)
-
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/ (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 (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 (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
-
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/ (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 (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 (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.
-
...
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.
-
Kolibri might be interesting/thought-provoking:
https://en.wikipedia.org/wiki/KolibriOS
-
Thanks for your help guys