views:

376

answers:

5

I am currently studying for a career in embedded real time engineering. But find it somewhat difficult to find good training material. Especially because you cannot experience embedded development as you would with desktop application development.

Are there any books and or kits that would be useful for basic training? Any recommendations for an RTOS for study?

[Edit] Upon looking around, found this thread to answer most of my questions about embbeded material. how-do-i-get-started-in-embedded-programing

Are there any recommendations when useing a RTOS?

+1  A: 

You don't need to learn a specific RTOS there is zillions of embedded RTOS they segmented to markets niches and even if you know the exact segment you are going work on there is still a lot of OS's operating in same segment.
The important thing is to understand a basic concepts of operating systems, and have a strong C background. When we are recruiting (we are embedded development house) we do not require any specific knowledge in embedded programming or specific OS. We are looking for smart ppl that write perfect C code and capable to learn.

Ilya
+4  A: 

This is really a complicated subjects, there are so many choices and trade-offs.


With respect to hardware I would go for a low-end micro-controller, because things tend to become easier when they become smaller, and the farther away from the desktop the more you learn the mindset of embedded programming.

Since you are in Japan it is probably best to check locally what controller is popular, so you get good community support and can easily buy parts.

Here in Germany it is AVR ATMEGA, and I think it is a good choice. It has the best support by GNU tools, it is available in DIP packages and can run off its internal oscillator so it can easily be run on a breadboard. The biggest hurdle was that I needed an ISP programmer. There is a good tutorial in German.

I also have an R8C by Renesas, which might be more popular in Japan. It is harder to get the GNU tools running, I had to build them myself from source. For MS-Windows there is the free IAR Kickstart suite with code size limited to 4KB. It can be programmed with a serial interface (but with TTL levels), I got a FTDI USB-to-Serial module for that.


As for RTOS, take a look at OSEK, there are several free implementations. It can be used on very small controllers.

You could also write a basic RTOS yourself, it is not that difficult and you learn the most.

starblue
+1  A: 

There's no alternative for playing with the hardware & software with your own hands. Luckily, this is easy to achieve. Simple development boards for AVR chip can be bought for a few dozens of $$s online (like STK500, or Arduino) and their whole software toolchain is open and downloadable.

Regarding the OS - start without an OS! Lots of embedded code runs without an OS, and it's also the best way to start programming. By experimenting with various techniques of writing non-OS code you'll learn to appreciate when and why you need an OS, and how to use it best.

Eli Bendersky
A: 

I would recommend Quantum Leaps Platform and Quantum Framework. It's a sofisticated state machine environment that requires extremely low footprint. It can also run on Windows (for learning it).

Quantum Leaps Website

GregC
A: 

You first need to figure out what you want to learn about embedded systems.

*) hardware specifics *) operating system *) application programming *) board bring up *) small micro controller *) Linux

...And many more choices...

I would decide to complete a certain embedded project and buy/learn the associated technologies.

robert.berger