Anyone using CMSIS? How to get started?

Graynomad:
I've done quite a lot of programming on LPCs (great chips and environment BTW) ...

Thanks, I was wondering about that. I can see a consistent HAL for the ARM core (i.e. the CPU) but as you say, peripherals are different from every vendor so I was wondering how well that could work.

I poked around a bit on arm.com and found the CMSIS "specification" which I downloaded. It has "drivers" for things like Ethernet, I2C, SPI, USART, USB, external memory, etc. At this point I don't have a clue how to use them or whether they can be used. Looks like it's just .h files so just defining the interface. Probably each vendor would have to implement code to the specs. Throw things like switch matrices into the mix and I can see it getting crazy enough that I'd prefer just to program down the the bare metal, ha!