Important stuffs you must learn are things commonly used for all MCU (not only ARM), and are all, or mostly all, different for each chip, and must be managed by hand (the 'macho' way) or through IDE (ladies way).
Core is not so important, because the vendor will give you libraries with all complicated details to use the features of the chips, learn the 'basic' and then involve with more complicated details over architecture.
libraries managment : each time you select a MCU you will have an SDK (a bunch of library) and you will configure your IDE or Makefile to take that library and NO OTHER, Arduino have a 'ready to go' library and doesn't count. Btw, Arduinos chips are OLD, useless if you have demanding requirements, I mean, libraries are ok (a bit bugged), just try a serial implementation using 3 UARTS at once at just medium speed with arduino mega, let see how many packages you will loose without notice (happened to me). Once you are familiarized how libraries work you will know what to search on any IDE for any MCU, for any core architecture.
OS integration : at short time to work programming MCU you will realize that the control of schedules over different tasks could become a nightmare and the effort to integrate an OS like FreeRTOS pay the price, so don't wait to suffer and learn it asap. Atmel have a mess in this moment with his IDE and OS integration (personal opinion), Freescale is OK using kinetis design studio (free tool) but the documentation is just shit, so be away from there if you don't want to be frustrated since beginning. I suggest to use some texas instrument MCU for this, they have a bunch of examples, documentation is ok and the have a free IDE (eclipse based) pretty similar with what you could found on real work environment, if not same tool.
Programming tips: this is a matter of experience, but there are some companies that have better practices. Again, for me, texas instrument is a good start point, in their codes you found handy macros and good practices related to variables management, structures and how they use it, etc etc..., in time you will realize that is very important and save you a lot of extra work.
Protocols: Arduino have many 'ready to go' libraries for protocols that you will need to modify in real life, so I suggest to take some sensors and remake basic libraries like i2c and SPI (on any MCU), do it once and that knowledge will be useful forever. UARTS are not so easy as you could think at beginning, buffers are tricky and very related to architecture (registers and stuffs), and could be too complicated.
Asynchonic stuffs : real life is asynchronic (doesn't means multitasking), read and learn how to manage async stuffs, UARTS are a very handy async projects to start. Then jump to some DMA project.
I think I covered the basics.
http://www.ti.com/tool/msp-exp432p401rGood luck.