you should realize that the concept of Embedded is very general, it refers to many aspects. I think you should study different knowledge according to your choose.
1. If you want to do something related hardware and drive development, I have some advise to you :
1) you should study C well. Though some time we use assembly language, C is main and used mostly.
2) you at least be familiar with a microcontroller, whatever a AVR MCU, or a ARM MCU. You should know it's basic principle and function, such as interrupt mode, clock management, power management etc.
3) know some general devices' Operating mode and protocal, such SPI, USB, DMA, SDCard, etc. It's useful to develop application later, in different MCU, these devices' hardware maybe different, but there are similar principle and protocal.
4) then you can study some things about RTOS, such as ucos, freertos, etc. It's useful to design some multitask and real-time projects.
2. But if you want to develop embedded application base on embedded OS, you can:
1) study something about bootloader, it will help you to understand the startup of the system.
2) choose a embedded OS to start, linux or WinCE, this depends on youself. But no matter which OS, you have to spend a lot of time to study.
3) you'd better to know how to build a OS, and develop driver base on a OS.
a free and open RTOS