learning embedded linux from bare metal embedded software background

tzt

New Member
Joined
Sep 19, 2025
Messages
1
Reaction score
0
Credits
26
Hi everyone,



I have around 10 years of solid experience in embedded system using bare metal, FreeRtos, Autosar , and dealing with different stack…. as well as hardware Design.

lately, I started looking for a jobs and I noticed that there are too many offers around the embedded Linux which I don’t have experience with.
I bought a raspberry pi to try to explore it and familiarize myself with and I have a couple of questions:



1- Does developer in Linux generally uses text editor like vim to develop their code? I feel like it’s ok for a small code / project but for bigger project with different source / header files it become impossible to handle it.
In embedded we usually uses IDE like IAR, keil, vs code ..where we have all your source file for our project in one place and we can easily navigate between them, one other advantage is that you can easily navigate to the definition / declaration of each function even if it is located in other source file.
suppose you are a team of 3 software working on big project like developing a software for a router using embedded Linux, which tool do you uses to develop your code ? do you use IDE or vim?

2- Suppose I want to use the Bluetooth, so I installed the ‘libbluetooth-dev bluez’.
everytime i install a new packages i have a hard time locating the heder files for this packages, is there anyway to know where's the packagesd file are located ?
then I want to know how to explore the api provided by these new packages ? should I have to explore the header files or is there any best practice ? like having these api listed somewhere else like website etc..

3- any advice for someone who want to learn embedded linux and coming from non liunux background ?any recommendation for online training that might improve my Linux skills ? what should i do learn first ?

4 - do you think it will be a hard journey to master embedded linux for my case ?

thanks,
 


Hi everyone,


3- any advice for someone who want to learn embedded linux and coming from non liunux background ?any recommendation for online training that might improve my Linux skills ? what should i do learn first ?

4 - do you think it will be a hard journey to master embedded linux for my case ?

thanks,
Welcome!

The following observations may be of interest.

Basic considerations may be using a version control system, like git. It could be private repo or a public one like github.

Code editors with syntax highlighting like vim (or any other) and/or an IDE (integrated development environment) like VS Code could be useful. Choice of text editor can be a challenge because they each have their own learning curves, so looking at any number of them could be useful.

Embedded linux usually runs on chips with architecture like arm, mips, risc-v. Can't say what's most in vogue at the moment.

Usually developing code or compiling isn't done on the embedded devices, but on machines with the full development toolchain that can do cross-compiling. It's nearly always custom kernels so there's a kernel development learning challenge.

If you have no linux experience, it's a rather large learning curve because one needs to become acquainted with linux fundamentals, that is, the commands and processes that enable you to work in the operating system, move around the filesystem and gain some mastery at manipulating within it. Those skills would be needed to build the minimal linux root filesystems that embedded linux uses.

On top of that, the development environment with it's own specialised tools and processes such as the compilers and their myriad options, the debuggers and analysing tools for runtime debugging like system process tracing tools.

The journey is not insurmountable, just time-consuming and possibly frustrating at times. The most positive aspect is the fact that for nearly any problem that arises, there's almost certainly help available somewhere online because linux has been around a long time and there are many well-informed linux users who are happy to provide effective assistance, and there's a large amount of documentation.
 
Last edited:


Follow Linux.org

Members online


Latest posts

Top