Eventually I would like to get my Masters in Robotics. After a decade of building apps and infrastructure I'm pretty bored of it. I am thinking that doing embedded programming for a robotics company might be a good stop-gap while I pursue my M.S. Any recommendations on where to get started? I see a lot of job postings wanting VxWorks, embedded C++ that kind of thing.
Digilent has a lot of good educational boards for embedded systems and associated training material. You might consider starting with their Basys MX3 board with a 32-bit processor and a luxurious 128 kB of RAM.
Free course material that you can go through is available for this board.
Play around with an Arudino, Raspberry Pi if you are getting started. If you know how basics works, get yourself to solving a problem that you think can be solved using an embedded device. Start with some home automation. It's the best way to get your hands dirty.
Get a board, LCD display,a couple of motors, LEDs and stuff like that and make something legit!
Highly recommend the book Computers as Components by Wayne Wolf. Thoroughly discusses the principles of embedded computing. From an interviewing perspective, I believe the focus is mainly on hardware abstraction layer (bit manipulation/register handling), OS concepts and C/C++ embedded programming.
I'd suggest you monkey with the ESP8266 boards.
ARV Micro's are bare metal and have a large friendly community. Generally the tools are cheap and just work.
Agreed. Most people start with arduino devices, but they're a little limited compared to the ESP8266 - which is programmed by the same tools but has on-board wifi.
Hookup a board to an i2c LCD-display, and then write code to poll a remote website and display text on it. It'll be a reasonably easy project for a beginner and will get you in the mindset of working on a constrained device.
After that you can go smaller, using devices with less RAM & I/O, or you can go bigger and look at embedded ARM/x86 boards which can run Linux - but still have their own quirks.
I work in embedded programming. You can reach me at my username at gmail.com. It's not quite robotics but feel free to reach out to me if you want more info