In ARM I can go to ST or Atmel or NXP or Freescale, etc. ST isn't going to make the part I need?
But only if you go the CMSIS way.
If you decide to use a vendor SDK then you will be locked again.
I came from the AVR world and try to dive into the ARM land now.
There was the same question for me like the thread starter,
how to begin.
So I orderd the FRDM-K64F as a cheap evolution board to start
my ARM journey.
The nexed question was, how to start and program this thing,
on the freescale page they offer you two paths to start,
with a local IDE or to go the mbed way.
I decided not to use the mbed web environment, because my
main goal is not to get a project up and running as fast as possible,
I would like to understand the CPU and how the ARM world works,
not at the lowest possible level but low enough to get a feeling
and understanding how the things work behind the scenes
and this was the reason for me to decide against the mbed way.
Instead I looked for something, that will help me to get a better
understandig how the things work and I ended up with a book
"The defenitive guide to ARM Cortex-M3 and Cortex-M4"
from Joseph Yiu and I would say, it's a must read for every person
who wants to start working with the ARM Cortex-M processors.
So you will be able to start with simple bare metal programs
and code and raise the complexity step by step with your learning
curve and after you get more and more familiar with the basics
of the cpu.