For learning ARM, I would suggest Edx learning with the University of Texas in Austin "embedded systems, shape the world" course. I took it a year ago. Great learning tool.
https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-03x If you can, take it real-time so you can interact with the other student on the various labs.
It uses the TI Launchpad and will get you an idea of what writing your own space invaders game is like on an ARM Cortex processor. A/D and D/A conversions, timing, state machines, and many more labs to do.
This year they also put out a real time operating system course on that platform.
What was nice (using the Keil C compiler) was to be able to emulate the programs, get them graded and then burning it to the micro for testing.
It was an excellent introduction to the whole thing, if you can put in the time. Student were from all over the world in that course.
It is all free

(apart from buying the TI launchpad) unless you want a certificate.