Where can you actually apply knowledge gained in this subject to make something useful?
You gain practical experience by designing and BUILDING things (And not just in proteus either).
For me it was radios and test equipment for same, but almost anything will do.
Data loggers, temerature controllers, stuff for little robots, get a few cheap RC cars and make them behave as an autonomous swarm, loads of things out there to play with.
There are fairly acceptable free tools out there for some of the smaller arm parts as well as PIC32, the freescale stuff and several others and it probably does not matter too much what you pick to start with, grab a micro (A Dev board for a PIC32 will be a good starting point), download the tools, add some sensors and design something!
Then add FreeRtos once you understand the bare metal, add FatFs and figure out how to make the DMA work, maye hook up some audio IO and buld an MP3 player.....
I chose the PIC32 because given the rather suspect nature of much of microchips documentation and libraries you will have to work a little at figuring it out (Hint, PLIB is probably best ignored).
Something ardwino based would be a gentler introduction, but is really too far from the bare metal.
Regards, Dan.