What is the advantage of using Linux for embedded systems

Thread Starter

microcontroller60

Joined Oct 1, 2019
32
I have found in my research that so many companies work on the ARM and Linux to develop embedded system. I know ARM is a fast processor so we use it. Linux is free to use. Is there any reason

I need an experienced person who can tell me why so many company likes the combination of ARM and Linux to develop product.
 

Thread Starter

microcontroller60

Joined Oct 1, 2019
32
I use ARM chips. I do not use Linux.
Why should I use Linux?
You are absolutely right It depends on the developers they can use Linux or Windows or any other

Do you agree that Linux is used more in companies than Windows to develop embedded system ?

I am saying this because I have seen in so many job requirements they look knowledge for ARM and Linux instead of windows
 

SamR

Joined Mar 19, 2019
1,634
The reason most corporations do not use Linux is on the advice of their corporate counsel. There is no-one to sue when open-source software causes a loss. I'll avoid the Win vs. Unix argument as it is much like chocolate vs. vanilla. They do not run ON the ARM but are merely the operating system for the IDE to program the ARM.
 

BobTPH

Joined Jun 5, 2013
2,204
It makes sense to use linux if you need its features, like multi-tasking, a robust file system and support for wifi and internet.

In applications that don’t use any of those, you are just adding size and overhead.

If you need the best real-time response, it may not be feasible to use any general purpose OS.

Bob
 

MrChips

Joined Oct 2, 2009
19,924
I have found in my research that so many companies work on the ARM and Linux to develop embedded system. I know ARM is a fast processor so we use it. Linux is free to use. Is there any reason

I need an experienced person who can tell me why so many company likes the combination of ARM and Linux to develop product.
Your concept of an embedded system is very narrow.
What OS is used in your wristwatch, digital camera, Fitbit?
By any argument the most commonly used embedded system is in your smart phone.
They do not use Linux or Windows (for the vast majority of smart phones).
 

402DF855

Joined Feb 9, 2013
163
Probably should distinguish between using a Linux PC to host the IDE (development environment), and using Linux as the embedded OS.

People use Linux for development generally because they prefer it over Windows.

People use Linux on an embedded system to leverage the mass of existing infrastructure. For embedded, this will incur a cost in terms of performance but often that cost is acceptable.
 

Thread Starter

microcontroller60

Joined Oct 1, 2019
32
Probably should distinguish between using a Linux PC to host the IDE (development environment), and using Linux as the embedded OS.
I know that to program a microcontroller, we need PC, operating system and IDE to write and debug code.
I have only used windows I do not know how a microcontroller is programmed in the Linux environment.

I think both follow the same process The difference is that we use commands in Linux

I heard about some linux os such as Ubuntu centos. I don't know which Linux OS we use mostly to develop embedded system.

Perhaps someone can give advice who is working on Linux
 

402DF855

Joined Feb 9, 2013
163
Perhaps someone can give advice who is working on Linux
Perhaps if you could be more specific as the type of advice you want.

While my embedded work is using Windows, the manufacturer (Atmel/Microchip) provides much of their support in open source form. So I have a PC with Ubuntu installed. I installed the GCC tools, including a cross compiler for the part (a type of ARM). Then I used git to retrieve the sources (for bootloader and Linux), built them, and copied them to an SD card. After inserting the SD card into the development board, I applied power, and had Linux running on the embedded target.

There were plenty of esoteric command lines to enter, for both installing tools, and building the executables. Editing is done with the venerable if not prehistoric "vi" and if the build process fails, best to start over (reinstall Ubunto). Linux development is a lot like Android development in my experience. You must have google handy; you will use it often.
 

MrChips

Joined Oct 2, 2009
19,924
Oh, I see. You are not talking about the OS that will be running on the target system.
You are asking about what platform to use on your desktop computer to run the toolset?
You use whatever works best for you.
 

Marley

Joined Apr 4, 2016
334
Linux is often used on embedded systems because:
  • It is "free".
  • Its secure (if done right).
  • It is possible to strip it down to just include the software you need. Example if no windowing desktop system needed - don't include it.
  • It has good support for networking - and most other things really.
  • Almost everything you need to do has been done before so there is lots of help and examples out there
  • You can code in C, C++, Python, JavaScript, Php, MySQL, etc, etc, etc, with heaps of examples and help from the community.
How's that for starters?
 
Top