ARMマイコンの基本開発環境は、Ubuntuでもしっかりとメンテナンスされているため、以下のように簡単に導入できます。

$ sudo apt install arm-none-eabi-gcc
$ sudo apt install openocd

arm-none-eabi-gcc はARMツールチェーン一式で、ARMの個別ベンダのヘッダーやライブラリを追加することにより、クロス開発ができます。
OpenOCDは、さまざなJTAG-ICEに対応したデバッガですが、デバッグだけでなくマイコンボードのフラッシュ書き込みができます。
Cortex-M系では、ARM社が定義したCMSIS(Cortex Microcontroller System Interface Standard)といった個別ベンダに依存しないハードウェア抽象化レイヤのデバッグインターフェイスが採用されています。
OpenOCDではCMCISにも対応しており、このことにより個別ベンダに依存せずにフラッシュの書き込みができます。