learn how to program an ARM STM32 Cortex M3 microcontroller in embedded C and ARM assembly language under Ubuntu.
http://fab.cba.mit.edu/classes/863.13/tutorials/EmbeddedProgramming/stm32.html
http://academy.cba.mit.edu/classes/embedded_programming/index.html