I want to learn embedded systems. What's the most common embedded os used in the industry?

I want to learn embedded systems. What's the most common embedded os used in the industry?

>embedded os
firmware != os

start with an arduino or stm32f0 or whatever the fuck you want. Atmel AVR are also pretty comfy

FreeRTOS is pretty common in industry and frequently used for education as well

I'll second FreeRTOS, but it takes a pretty big embedded system to need an OS. I've never needed one (including for embedded IP stacks -> see lwip), just hand write the few proto-os and proto-libc bits you need per project. Most micro-controllers have very sophisticated peripherals, IRQ hardware, and DMA units so a whole lot ends up getting done in hardware. Most vendors will have library routines and 'blessed' development environments and tools to use with their chips. Start from there.

For the past few years I've been working with the dsPICs from microchip. I like them.

>(including for embedded IP stacks -> see lwip)

Doesn't lwip require at least a threading manager?

>Embedded
>OS

FreeRTOS is pretty common, and there are a lot of derivatives of that, but there's no one ubiquitous solution because embedded software is very tailored and you should just have a good knowledge of C/C++ and embedded hardware.

The fuck you think runs on a Pebble, or your Casio, or your thermostat, or your calculator? That's an embedded system.

linux
C

>>>>arduino for embedded

shitty over expensive meme, everyone does at least cortex m3

.t worked with embedded systems

nope - if you configure it the right way. You end up having to use the RAW api iirc. You can even use lwip without interrupts, just poll for packet rx, and call one if its timer functions periodically.

Don't use Arduino if you actually want to learn about how microcontrollers work.

>Casio, or your thermostat, or your calculator
These devices are not running an OS. An Operating System is a program that operates the system hardware. Software makes requests to the OS instead of operating the hardware directly. On most microcontrollers you write firmware; which is code that doesn't need to run on top of an OS. It takes direct control of the hardware.

Arduino is computing for little kids. Get an stm32f0 instead. You can look at some specifications in the meantime.

it's still ok, but that's not the worst

they use their own version of C in a shitty java IDE

...

FreeRTOS is an industry standard.
No shit Sherlock, if there's no need to use OS, you don't use OS. But when you have 9000 sensors to poll and 25 interfaces to listen to, you have to use OS to keep your sanity.

It's fine if you're willing to use just a C compiler, though there's no official documentation provided for that by them.

Perfect person right here.
You'd think embedded systems was a pretty expensive hobby to get into but cortex is cheap as anything and does everything you'll need to do.

It's pretty good for learning assembly though, AVR assembly is pretty concise.

Windows CE

Chinese clones are really cheap.

Minix and ThreadX

Minix runs on the intel ME, so I guess that's pretty popular.

top keke

Since FreeRtos is already mentioned I'll say Contiki for IoT stuff

You probably mean a real time kernel. You don't want to get into pro stuff. Have a look at mbed,

>I want to learn embedded systems

get a PIC micro and program it in assembly
/thread

Is that a BeagleBone?

Is busybox commonly used in embedded? I had opportunity to fuck around with Linux's boot procedure and it looked like a good substitute for running whatever small custom programs you want on dedicated machines instead of booting into proper filesystem.