What is "embedded" term for linux ? how do i need to understand it?

Hello,

I’m trying to learn embedded linux side. I’m a bare metal embedded developer for 2 years as professional. But embedded linux term is totally a empty space for me.
That’s why, from bare embedded perspective is really confusing for me.

  • What is the mean difference between toradex sbc boards and raspberry pi boards?

  • How do i need to approach to “embedded linux”.

I think there is no GUI at embedded linux. Then, reduced embedded term is a correct approach for embedded linux term.
As i know, we need write our program at IDE like eclips on linux then we need to copy output of that program to SBC and write a program how to start that program auto.Then our program direclty will work when we energized our SBC and do it’s duties.

I know these question seems really funny or meanless for knowledgeable people.

I hope you understand my point.

Thank you

Greetings @jw7,

No worries about the level of question, everyone’s a beginner at some point. Let me try and see if I can help break things down here and help you.

What is the mean difference between
toradex sbc boards and raspberry pi
boards?

I’ll try and talk of the general differences here in terms of how it would affect an end product. I won’t go over hardware specs/differences since these are rather easy to just bring up a datasheet for. So while both Raspberry Pi and Toradex products are classified as single board computers there’s one thing on the hardware side to keep in mind. A raspberry PI is a single piece of hardware. The main CPU chip is integrated on the same board as the hardware interfaces and such. Toradex boards have two main components the computer on module (CoM) and a carrier board, these two components when together constitute a SBC. Our CoMs contain the main CPU/GPU chip as well as RAM, Flash, and the main capabilities specific to that CoM. The Carrier board is what takes the signals from the CoM and brings them out to actual hardware interfaces to be used. In this sense the Toradex approach is more flexible/customizable. Furthermore all Toardex hardware is made with industrial usage in mind. This guarantees a certain temperature threshold and ruggedness to our products.

I could go on about differences between the platforms but in the end the differences are only important in context of what you as a customer/user are trying to do with them. So if there’s any specifics you’d like me to go over please feel free to ask and I’ll try and answer them one by one.

How do i need to approach to “embedded linux”

Alright this is kind of a broad question, do you mind clarifying or perhaps breaking it down into smaller pieces?

I guess if I were to speak generally in terms of our product these would be the steps to using/approaching our products:

  1. Decide on a hardware platform of ours
  2. Decide on a software platform (we have various types of Linux/Unix software that serve slightly different purposes)
  3. Install your chosen software on your chosen hardware
  4. Begin tinkering/developing. I.e. testing various hardware interfaces/peripherals, maybe begin writing your application/benchmark. This step is highly variable and comes down to developer preference and use cases.
  5. After you have an initial implementation working you’d typically start customizing. What does this mean? Well most of our software images are distributed as reference. Meaning they’re good for initial implementation/development but not for end production. So here you’d begin tailoring the software we provide to more suit your needs. Most of our software is open source so you just need to start with our reference and begin tinkering.

By this point as with most software you iterate until you have an end product. Optionally many of our customers while they start out developing with our pre-made carrier boards, they eventually keep our SoM but create their own carrier board for cost reasons. Which is fine this is how we expect many customers to use our carrier boards for evaluation rather than production.

I think there is no GUI at embedded
linux.

While this statement use to be correct I wouldn’t say it’s very accurate today. In short hardware has greatly improved over the years. This has lead to an increase in capability of traditional embedded devices. Many of the SoMs we sell have dedicated GPUs cable of things like 4k video output or computer vision based machine learning. The phrase and industry of “embedded” has grown quite large.

As i know, we need write our program
at IDE like eclipse on linux

There is absolutely no requirement whatsoever to use any kind of IDE to write your program for embedded linux. Depending on the software framework or language their might be a requirement but the system itself, no. For example I quite often create short python/C/C++ applications via text editor then compile it via command line using gcc or whatever language equivalent. Then just transfer the binary to the target device via network or USB and try it out. As a side note our default reference software might be missing a prerequisite or library needed to run certain kinds of software. This goes back to the point where you’ll probably need to customize our reference software to better fit your needs.

That being said if you are more comfortable using an IDE then that’s up to you. We try not to limit what kinds of development environment our customers choose to use. We do have better support for certain kinds of IDEs but there’s nothing stopping you from choosing your own.

Alright I think I addressed the main parts of your question. If you have further questions please feel free to ask. Or if you’d like me to clarify any points I just went over then that’d be okay as well.

Best Regards,
Jeremias