No cortex-M microcontroller will run Linux without several megabytes of external RAM, and their lack of an MMU makes it difficult even then.
You can program them with normal C code or thumb-2 assembly, but the peripherals on SAMD chips aren't very intuitive if you want to program them bare-metal.